Aspect-oriented programming (AOP) has been proposed as a technique for improving the separation of concerns in software design and implementation. The field of AOP has, so far, f...
Several approaches to program comprehension have been proposed along the years, ranging from fact extraction to sophisticated visualization tools. In order to effectively assess t...
Program comprehension tools are a valuable resource for navigating and understanding large software systems. Package explorers, fan-in / fan-out views, dependency graphs and cover...
R. Ian Bull, Margaret-Anne D. Storey, Jean-Marie F...
The use of bad names — names that are wrong, inconsistent or inconcise — hinder program comprehension. The root of the problem is that there is no mechanism for aligning the n...
The field of program comprehension is characterized by both the continuing development of new tools and techniques and the adaptation of existing techniques to address program co...
Massimiliano Di Penta, R. E. Kurt Stirewalt, Eilee...
Applying program comprehension techniques may render software maintenance and evolution easier. Understanding a software system typically requires a combination of static and dyna...
Andy Zaidman, Abdelwahab Hamou-Lhadj, Orla Greevy,...
Integrative levels of program comprehension describe the evolution of our knowledge about a program from low-level program elements through successive and higher orders of knowled...
Polymorphism and class hierarchies are key to increasing the extensibility of an object-oriented program but also raise challenges for program comprehension. Despite many advances...
Many program comprehension tools use graphs to visualize and analyze source code. The main issue is that existing approaches create graphs overloaded with too much information. Gr...
Martin Pinzger, Katja Grafenhain, Patrick Knab, Ha...
There are many different implementation approaches to realize the vision of feature oriented software development, ranging from simple preprocessors, over feature-oriented program...