: Program slicing is a well known family of techniques intended to identify and isolate code fragments which depend on, or are depended upon, specific program entities. This is pa...
A number of standalone tools are designed to help developers understand software systems. These tools operate at different levels of abstraction, from low level source code to sof...
Ivan T. Bowman, Michael W. Godfrey, Richard C. Hol...
By separating crosscutting concerns into modules, aspectoriented programming (AOP) can greatly improve the maintainability, understandability and reusability of software. However,...
One of the most challenging tasks a programmer can face is attempting to analyse and understand a legacy assembler system. Many features of assembler make analysis difficult, and ...
Reverse engineering methods produce different descriptions of software architectures. In this work we analyze and define the task of exploring and comparing these descriptions. ...