GraphTrace—understanding object-oriented systems using concurrently animated views
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Program understanding: challenge for the 1990's
IBM Systems Journal
Maintenance Support for Object-Oriented Programs
IEEE Transactions on Software Engineering - Special issue on software maintenance
Visualizing the behavior of object-oriented systems
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Interactive visualization of design patterns can help in framework understanding
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Evolving and packaging reading technologies
Journal of Systems and Software - Special issue on achieving quality in software
Back to the future: the story of Squeak, a practical Smalltalk written in itself
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Object-oriented inspection in the face of delocalisation
Proceedings of the 22nd international conference on Software engineering
Isolating cause-effect chains from computer programs
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
Evolving legacy systems features using regression test cases and components
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
The Experience of Learning and Using Smalltalk
IEEE Software
Locating Features in Source Code
IEEE Transactions on Software Engineering
Analytic Variations on the Common Subexpression Problem
ICALP '90 Proceedings of the 17th International Colloquium on Automata, Languages and Programming
The Typed lambda-Calculus with First-Class Processes
PARLE '89 Proceedings of the Parallel Architectures and Languages Europe, Volume II: Parallel Languages
Proceedings of the 2003 ACM symposium on Software visualization
Recovering Behavioral Design Models from Execution Traces
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
Feature Identification: A Novel Approach and a Case Study
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Empirically Studying Software Practitioners " Bridging the Gap between Theory and Practice
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Visualizing live software systems in 3D
SoftVis '06 Proceedings of the 2006 ACM symposium on Software visualization
Change-Enabled Software Systems
Software-Intensive Systems and New Computing Paradigms
Remodularizing Java programs for comprehension of features
FOSD '09 Proceedings of the First International Workshop on Feature-Oriented Software Development
TESTCOM '09/FATES '09 Proceedings of the 21st IFIP WG 6.1 International Conference on Testing of Software and Communication Systems and 9th International FATES Workshop
Remodularizing Java programs for improved locality of feature implementations in source code
Science of Computer Programming
Hi-index | 0.00 |
Development environments typically present the software engineer with a structural perspective of an object-oriented system in terms of packages, classes and methods. From a structural perspective it is difficult to gain an understanding of how source entities participate in a system's features at runtime, especially when using dynamic languages such as Smalltalk. In this paper we evaluate the usefulness of offering an alternative, complementary feature-centric perspective of a software system when performing maintenance activities. We present a feature-centric environment combining interactive visual representations of features with a source code browser displaying only the classes and methods participating in a feature under investigation. To validate the usefulness of our feature-centric view, we conducted a controlled empirical experiment where we measured and compared the performance of subjects when correcting two defects in an unfamiliar software system with a traditional development environment and with our feature-centric environment. We evaluate both quantitative and qualitative data to draw conclusions about the usefulness of a feature-centric perspective to support program comprehension during maintenance activities.