. .
Carl von Ossietzky University Oldenburg

CSMR 2012

The 16th European Conference on Software Maintenance and Reengineering will take place in Szeged, Hungary, from March 27-30, 2012.

Technical Track

Program Comprehension

Thursday, March 3, 2011, from 14:00 to 15:30, A14 HS2

Building Domain Specific Dictionaries of Verb-Object Relation from Source Code

Yasuhiro Hayase, Yu Kashima, Yuki Manabe and Katsuro Inoue

An identifier is an important key in mapping program elements onto domain knowledge for the purpose of program comprehension. Therefore, if identifiers in a program have inappropriate names, developers can waste a lot of time trying to understand the program. This paper proposes a method for extracting and gathering verb-object (V-O) relations, as good examples of naming, from source code written in an object-oriented programming language. For each of several application domains, dictionaries containing the V-O relations are built and evaluated by software developers. The evaluation results confirm that the relations in the dictionaries are adequate in many cases.

Revealing Mistakes on Concern Mapping Tasks: An Experimental Evaluation

Camila Nunes, Alessandro Garcia, Eduardo Figueiredo and Carlos Lucena

Concern mapping is the activity of assigning a stakeholder’s concern to its corresponding elements in the source code. This activity is primordial to guide software maintainers in several tasks, such as understanding and restructuring the implementation of existing concerns. Even though different techniques are emerging to facilitate the concern mapping process, the latter is still widely manual and error-prone according to recent studies. However, existing work does not provide any guidance to developers review and correct concern mappings. In this context, this paper presents the characterization and classification of eight mistakes commonly made by developers. These mistakes were found to be associated with various properties of concerns and modules in the source code. The mistake categories were derived from actual mappings of 10 concerns in 12 versions of industry systems. In order to further evaluate to what extent these mistakes also occur in wider contexts, we run two experiments where 26 subjects mapped 10 concerns in two systems.

Factbase and Decomposition Generation

Mark Shtern and Vassilios Tzerpos

The software maintenance research community has developed a large number of approaches that can help maintainers understand large software systems accurately and efficiently. However, tools that can facilitate research in program comprehension are rarely publicly available. In this paper, we introduce two approaches that generate artifacts, such as factbases and decompositions, that can be used to study the behaviour of existing software clustering approaches for the comprehension of large software systems. We also present three distinct applications of these approaches: the development of a simple evaluation method for clustering algorithms, the study of the behaviour of the objective function of the Bunch tool, and the calculation of a congruity measure for clustering evaluation measures. Implementations of the two approaches are available online.