Interactive visualization of design patterns can help in framework understanding
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Software reconnaissance: mapping program features to code
Journal of Software Maintenance: Research and Practice
Software reuse: architecture, process and organization for business success
Software reuse: architecture, process and organization for business success
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
The concept of dynamic analysis
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Quantifying the closeness between program components and features
Journal of Systems and Software - Special issue on software maintenance
Dynamic analysis for reverse engineering and program understanding
ACM SIGAPP Applied Computing Review
Recovering software requirements from system-user interaction traces
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Evolving legacy systems features using regression test cases and components
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Reverse Engineering and Design Recovery: A Taxonomy
IEEE Software
Locating Features in Source Code
IEEE Transactions on Software Engineering
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Metrics and Laws of Software Evolution - The Nineties View
METRICS '97 Proceedings of the 4th International Symposium on Software Metrics
Understanding the Behavior of Java Programs
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
Recovering High-Level Views of Object-Oriented Applications from Static and Dynamic Information
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Studying the Evolution and Enhancement of Software Features
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Case Study of Feature Location Using Dependence Graph
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
IWSSD '98 Proceedings of the 9th international workshop on Software specification and design
Towards a Precise Definition of the OMG/MDA Framework
Proceedings of the 16th IEEE international conference on Automated software engineering
Using Dynamic Information for the Iterative Recovery of Collaborations and Roles
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
IEEE Software
Ontological Excavation: Unearthing the core concepts of the application
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
GUI Ripping: Reverse Engineering of Graphical User Interfaces for Testing
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
Analyzing and Relating Bug Report Data for Feature Tracking
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
High-Level Polymetric Views of Condensed Run-time Information
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
Object-Oriented Software Engineering: A Use Case Driven Approach
Object-Oriented Software Engineering: A Use Case Driven Approach
Understanding Class Evolution in Object-Oriented Software
IWPC '04 Proceedings of the 12th IEEE International Workshop on Program Comprehension
A Hierarchy of Dynamic Software Views: From Object-Interactions to Feature-Interactions
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
A survey of trace exploration tools and techniques
CASCON '04 Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
Characterizing the Evolution of Class Hierarchies
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
Recovering Behavioral Design Models from Execution Traces
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
Applying Webmining Techniques to Execution Traces to Support the Program Comprehension Process
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
Correlating Features and Code Using a Compact Two-Sided Trace Analysis Approach
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
Journal of Software Maintenance and Evolution: Research and Practice - Analyzing the Evolution of Large-Scale Software
Dynamic Feature Traces: Finding Features in Unfamiliar Code
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Analyzing Feature Traces to Incorporate the Semantics of Change in Software Evolution Analysis
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Feature Identification: A Novel Approach and a Case Study
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
SmallWiki: a meta-described collaborative content management system
Proceedings of the 2005 international symposium on Wikis
Modeling history to analyze software evolution: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
Mondrian: an agile information visualization framework
SoftVis '06 Proceedings of the 2006 ACM symposium on Software visualization
Exploiting the Analogy Between Traces and Signal Processing
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Generating a catalog of unanticipated schemas in class hierarchies using Formal Concept Analysis
Information and Software Technology
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
Using structural and textual information to capture feature coupling in object-oriented software
Empirical Software Engineering
Agile software assessment with Moose
ACM SIGSOFT Software Engineering Notes
On the impact of trace-based feature location in the performance of software maintainers
Journal of Systems and Software
The feature pack approach: systematically managing implementations in software ecosystems
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Hi-index | 0.00 |
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 compacted traces as feature views. Within a feature view, we partition the source artifacts into disjoint sets of characterized software entities. The characterization defines the level of participation of a source entity in the features. We then analyze the features over several versions of a system and we plot their evolution to reveal how and which features were affected by code changes. We show the usefulness of our approach by applying it to a case study where we address the problem of merging parallel development tracks of the same system. Copyright © 2006 John Wiley & Sons, Ltd.