As a software system evolves, its architecture will drift. System changes are often done without considering their effects on the system structure. These changes often introduce s...
John B. Tran, Michael W. Godfrey, Eric H. S. Lee, ...
The main goal with this paper is to motivate and coin a variation of literate programming which we call elucidative programming. Elucidative programming is oriented towards progra...
Call graphs are commonly used as input for automatic clustering algorithms, the goal of which is to extract the high level structure of the program under study. Determining the ca...
Derek Rayside, Steve Reuss, Erik Hedges, Kostas Ko...
ng the Accessor Classification Approach to Detect Abstract Data Types icle presents an approach to identify abstract data types (ADTs) in source code. For each structured type deļ...
Software system documentation is almost always expressed informally, in natural language and free text. Examples include requirement speciļ¬cations, design documents, manual page...
Giuliano Antoniol, Gerardo Canfora, Andrea De Luci...