Invited Talks

Taming your PhD

Oscar Nierstrasz, University of Bern, Switzerland

Monday, 09:00–10:00

Mastering a PhD can feel at times like tangling with a wild beast. It takes creativity, discipline, and care to bring it safely home. We will discuss some of the most common difficulties PhD students may encounter, whether they are just starting their PhD work, or or well along the way to completing it. In particular, we will cover tips and tricks useful for planning PhD research, writing about it, and presenting it, as well for maintaining focus along the way to completion of the PhD.

slides (slideshare)

Text Retrieval and Natural Language Processing in Software Engineering

Venera Arnaoudova, Washington State University, USA

Monday, 14:00–16:00

During software evolution many related artifacts are created or modified. Some of these are composed of structured data (e.g., analysis data), some contain semi-structured information (e.g., source code), and many include unstructured information (e.g., natural language text). Software artifacts written in natural language (e.g., requirements, design documents, user manuals, scenarios, bug reports, developers’ messages, etc.), together with the comments and identifiers in the source code encode to a large degree the domain of the software, the developers’ knowledge about the system, capture design decisions, developer information, etc. In many software projects the amount of the unstructured information exceeds the size of the source code by one order of magnitude. Retrieving and analyzing the textual information existing in software are extremely important in supporting program comprehension and a variety of software evolution tasks.

This tutorial aims at providing sufficient information to allow Software Engineering researchers and practitioners to start using Text Retrieval (TR) and Natural Language Processing (NLP) methods in their day-to-day work. The tutorial will first give a background on the main TR and NLP techniques used in Software Engineering and then will give an overview of the application of these techniques to specific SE tasks. We will discuss challenges, advantages, and limitations of the use of TR and NLP in software engineering and lay out future directions for TR and NLP in SE from the practice and research points of view. Finally, the tutorial will conclude with practical examples showing how to use some of the available NLP tools to analyze software artifacts.

Hands-on tutorial download

Future challenges in software evolution analysis from industrial and academic perspective

Aiko Yamashita, Oslo and Akershus University College of Applied Sciences, Norway

Tuesday, 09:00–10:00

This talk presents some of the major findings of a controlled case study conducted for assessing the suitability of code smells as indicators of software maintainability, complemented by additional studies around the topic of inter-smells and refactoring behaviour. The results are not surprising, and not very hopefull either: quality in software is a hairy, chaotic problem. There is still a great challenge for developing adaptable, useful, and accessible quality models and evaluation methodologies that can (really) be used in industry. Based on the major research results; trends and experiences from industry, the talk explores some potential ways to deal with the chaotic facets of software development.

Slides: pdf (16MB)

In Defense of Basic Tools For Software Evolution: Programming Languages

Romain Robbes, University of Chile

Wednesday, 09:00–10:00

Programming languages are the most basic tool programmers have at their disposal to write and evolve software. As such, I argue that programming language usage is a very important topic of study in order to get a complete picture of software evolution. I briefly present a handful of empirical studies, before delving in details on a specific example, our study of the infamous goto statement.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License