Comment-based Concept Location over System Dependency Graphs

Software maintenance is one of the most expensive phases of software development and understanding a program is one of the most important tasks of software maintenance. Before making the change to the program, software engineers need to find the location, or locations, where the changes will be made, they need to understand the program. Real applications are huge, sometimes old, were written by other person and it is difficult to find the location of the instructions related to a specific problem domain concept. There are various techniques to find these locations minimizing the time spent, but this stage of software development continues to be one of the most expensive and longer. The concept location is a crucial task for program understanding. This paper presents a project whose main objective is to explore and combine two Program Comprehension techniques: visualization of the system dependency graph and concept location over source code comments. The idea is to merge both features in order to perform concept location in system dependency graphs. More than locate a set of hot instructions (based on the associated comments) it will allow to detect the other instructions (the whole method).

[1]  Ted Tenny,et al.  Procedures and comments vs. the banker's algorithm , 1985, SGCS.

[2]  Christopher D. Manning,et al.  Introduction to Information Retrieval , 2010, J. Assoc. Inf. Sci. Technol..

[3]  Hausi A. Müller,et al.  Cognitive design elements to support the construction of a mental model during software exploration , 1999, J. Syst. Softw..

[4]  I. C. Mogotsi,et al.  Christopher D. Manning, Prabhakar Raghavan, and Hinrich Schütze: Introduction to information retrieval , 2010, Information Retrieval.

[5]  L. Erlikh,et al.  Leveraging legacy system dollars for e-business , 2000 .

[6]  Pedro Rangel Henriques,et al.  CODE INSPECTION APPROACHES FOR PROGRAM VISUALIZATION , 2009 .

[7]  José Luís,et al.  Comment Analysis for Program Comprehension , 2011 .

[8]  Theodore Johnson,et al.  An optimal algorithm for the construction of the system dependence graph , 2000, Inf. Sci..

[9]  Brian W. Kernighan,et al.  Elements of Programming Style , 1974 .

[10]  Paul R. McJones,et al.  Elements of Programming , 2009 .

[11]  Margaret-Anne D. Storey,et al.  Theories, Methods and Tools in Program Comprehension: Past, Present and Future , 2005, IWPC.

[12]  Lin Du,et al.  A Novel Approach to Construct Object-Oriented System Dependence Graph and Algorithm Design , 2012, J. Softw..

[13]  Wei Zhao,et al.  SNIAFL: towards a static non-interactive approach to feature location , 2004, Proceedings. 26th International Conference on Software Engineering.

[14]  Scott N. Woodfield,et al.  The effect of modularization and comments on program comprehension , 1981, ICSE '81.

[15]  Ruven E. Brooks,et al.  Using a behavioral theory of program comprehension in software engineering , 1978, ICSE '78.

[16]  Ioannis Stamelos,et al.  Code quality analysis in open source software development , 2002, Inf. Syst. J..