Producing usable documentation has always been a tedious task, and even communicating important knowledge about a system among collaborators is difficult. This paper describes an ...
During software evolution, programmers spend a lot of time and effort in the comprehension of the internal code structure. Such an activity is often required because the available...
Engineers use software tools to analyze designs for critical systems. Because important decisions are based on tool results, tools must provide valid modeling constructs; engineer...
Decomposing complex software systems into conceptually independent subsystems is a significant software engineering activity which received considerable research attention. Most o...
Recognizing commonly used data structures and algorithms is a key activity in reverse engineering. Systems developed to automate this recognition process have been isolated, stand...