A key desideratum for many software comprehension tools is to reduce the mental burdens of software engineers. That is, the tools should support cognition. This key benefit is di...
Program comprehension is an important part of software maintenance, especially when program structure is complex and documentation is unavailable or outdated. Data mining can prod...
Large industrial legacy systems are challenges of reverseengineering activities. Reverse-engineering approaches use text-search tools based on regular expressions or work on prese...
The paper presents a software visualization application-framework that utilizes a variety of 3D metaphors to represent large software system and related analysis data. The 3D repr...
1 : This paper describes a prototype tool that facilitates the process of understanding and managing multi-language program dependencies. More specifically, the software tool main...
Panagiotis K. Linos, Zhi-hong Chen, Seth Berrier, ...
Source code clones are copies or near-copies of other portions of code, often created by copying and pasting portions of source code. This working session is concerned with buildi...
Arun Lakhotia, Junwei Li, Andrew Walenstein, Yun Y...
Understanding performance and related issues in a complex system requires analyzing where and why the program spends its resources. In a reactive system such as a interactive appl...
Syntactic and semantic analysis are established topics in the area of compiler construction. Their application to the understanding and restructuring of large software systems rev...
We detect design patterns in legacy code combining static and dynamic analyses. The analyses do not depend on coding or naming conventions. We classify potential pattern instances...
This study examines the effect of individual differences on the program comprehension strategies of users working with an unfamiliar programming system. Participants of varying pr...