Abstract. In situations in which developers are not familiar with a system or its documentation is inadequate, the system's source code becomes the only reliable source of information. Unfortunately, source code has much more detail than is needed to understand the system, and it disperses or obscures high-level constructs that would ease the system’s understanding. Automated tools can aid system understanding by identifying recurring program features, classifying the system modules based on their purpose and usage patterns, and analyzing dependencies across the modules. This paper presents an iterative, user-guided approach to program understanding based on a framework for analyzing and visualizing software systems. The framework is b...
Open-source programs have gained popularity due to their decentralized, quick development cycles and...
We are interested in identifying the domain expertise of developers of a software system. A develope...
Program comprehension, i.e. to understand from its source code what a computer programdoes, is cruci...
In situations in which developers are not familiar with a system or its documentation is inadequate...
Understanding software artefacts is a crucial task for people who want to participate in any softwar...
Modern software systems are often large, distributed, written in more than one programming language,...
Comprehension is a key activity that underpins a variety of software maintenance and engineering tas...
Despite the undeniable practical benefits of documentation during software development and evolution...
The understanding of a program is a key aspect of software development. The understanding is a prere...
Current software systems contain increasingly more elements that have not usually been considered in...
A key challenge to software maintainers during performing the software maintenance is to comprehend ...
Being able to suggest relevant recommendations to software developers is a promising approach to inc...
Program understanding is the (ill-defined) deductive process of acquiring knowledge about a software...
Understanding a system’s implementation without prior knowledge is a hard task for reengineers in ge...
Software maintenance is one of the most expensive and time-consuming phases in the software life-cyc...
Open-source programs have gained popularity due to their decentralized, quick development cycles and...
We are interested in identifying the domain expertise of developers of a software system. A develope...
Program comprehension, i.e. to understand from its source code what a computer programdoes, is cruci...
In situations in which developers are not familiar with a system or its documentation is inadequate...
Understanding software artefacts is a crucial task for people who want to participate in any softwar...
Modern software systems are often large, distributed, written in more than one programming language,...
Comprehension is a key activity that underpins a variety of software maintenance and engineering tas...
Despite the undeniable practical benefits of documentation during software development and evolution...
The understanding of a program is a key aspect of software development. The understanding is a prere...
Current software systems contain increasingly more elements that have not usually been considered in...
A key challenge to software maintainers during performing the software maintenance is to comprehend ...
Being able to suggest relevant recommendations to software developers is a promising approach to inc...
Program understanding is the (ill-defined) deductive process of acquiring knowledge about a software...
Understanding a system’s implementation without prior knowledge is a hard task for reengineers in ge...
Software maintenance is one of the most expensive and time-consuming phases in the software life-cyc...
Open-source programs have gained popularity due to their decentralized, quick development cycles and...
We are interested in identifying the domain expertise of developers of a software system. A develope...
Program comprehension, i.e. to understand from its source code what a computer programdoes, is cruci...