Features encapsulate the domain knowledge of a software system and thus are valuable sources of information for a reverse engineer. When analyzing the evolution of a system, we need to know how and which features were modified to recover both the change intention and extent, namely which source artifacts are affected. Typically, the implementation of a feature crosscuts a number of source artifacts. To obtain a mapping between features and the source artifacts, we exercise the features and capture their execution traces. However this results in large traces that are difficult to interpret. To tackle this issue we compact the traces into simple sets of source artifacts that participate in a feature’s runtime behavior. We refer to these compa...
Software systems are typically developed by teams of developers, with responsibilities for different...
Program comprehension is an essential activity to perform software maintenance and evolution. Compre...
Software developers are often faced with the task of maintaining or extending large and complex appl...
Features encapsulate the domain knowledge of a software system and thus are valuable sources of info...
Many of the approaches that analyze software evolution consider a static perspective of a system. St...
Gaining higher level evolutionary information about large software systems is a key challenge in dea...
System comprehension is a prerequisite for software maintenance and evolution, but it is a time-cons...
The evolution of highly configurable systems is known to be a challenging task. Thorough understandi...
Since software systems must evolve to cope with changing demands, the investment of time and effort ...
Existing software product variants, developed by ad hoc reuse such as copy-paste-modify, are often a...
Software analysis and its diachronic sibling, software evolution analysis, rely heavily on data comp...
Most modern software systems can be adjusted to satisfy sets of conflicting requirements issued by d...
Configuration management tools have become well and widely accepted by the software industry. Softwa...
Context: A Software Product Line (SPL) is a set of software systems that share common functionalitie...
\ua9 2017 Copyright held by the owner/author(s).Features are high-level, domain-specific abstraction...
Software systems are typically developed by teams of developers, with responsibilities for different...
Program comprehension is an essential activity to perform software maintenance and evolution. Compre...
Software developers are often faced with the task of maintaining or extending large and complex appl...
Features encapsulate the domain knowledge of a software system and thus are valuable sources of info...
Many of the approaches that analyze software evolution consider a static perspective of a system. St...
Gaining higher level evolutionary information about large software systems is a key challenge in dea...
System comprehension is a prerequisite for software maintenance and evolution, but it is a time-cons...
The evolution of highly configurable systems is known to be a challenging task. Thorough understandi...
Since software systems must evolve to cope with changing demands, the investment of time and effort ...
Existing software product variants, developed by ad hoc reuse such as copy-paste-modify, are often a...
Software analysis and its diachronic sibling, software evolution analysis, rely heavily on data comp...
Most modern software systems can be adjusted to satisfy sets of conflicting requirements issued by d...
Configuration management tools have become well and widely accepted by the software industry. Softwa...
Context: A Software Product Line (SPL) is a set of software systems that share common functionalitie...
\ua9 2017 Copyright held by the owner/author(s).Features are high-level, domain-specific abstraction...
Software systems are typically developed by teams of developers, with responsibilities for different...
Program comprehension is an essential activity to perform software maintenance and evolution. Compre...
Software developers are often faced with the task of maintaining or extending large and complex appl...