Data structured software maintenance: the Warnier/Orr approach
Data structured software maintenance: the Warnier/Orr approach
Mental models and software maintenance
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
The visual display of quantitative information
The visual display of quantitative information
GraphTrace—understanding object-oriented systems using concurrently animated views
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Contributions to teaching object-oriented design and programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Envisioning information
Interacting with the FIELD environment
Software—Practice & Experience - Unix tools
Program understanding: challenge for the 1990's
IBM Systems Journal
Seesoft-A Tool for Visualizing Line Oriented Software Statistics
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
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
Hy+: a Hygraph-based query and visualization system
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
Virtual images: interactive visualization of distributed object-oriented systems
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Why looking isn't always seeing: readership skills and graphical programming
Communications of the ACM
201 principles of software development
201 principles of software development
Smalltalk with style
Interactive visualization of design patterns can help in framework understanding
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Identification of Dynamic Comprehension Processes During Large Scale Maintenance
IEEE Transactions on Software Engineering - Special issue: best papers of the 17th International Conference on Software Engineering (ICSE-17)
Visualizing interactions in program executions
ICSE '97 Proceedings of the 19th international conference on Software engineering
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
Information visualization: perception for design
Information visualization: perception for design
Object-oriented inspection in the face of delocalisation
Proceedings of the 22nd international conference on Software engineering
Software engineering (6th ed.)
Software engineering (6th ed.)
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The Effectiveness of Control Structure Diagrams in Source Code Comprehension Activities
IEEE Transactions on Software Engineering
Object Oriented Reengineering Patterns
Object Oriented Reengineering Patterns
Playing Detective: Reconstructing Software Architecture from Available Evidence
Automated Software Engineering
The Control Structure Diagram: An Overview and InitialEvaluation
Empirical Software Engineering
Manipulating and documenting software structures using SHriMP views
ICSM '95 Proceedings of the International Conference on Software Maintenance
Recovering High-Level Views of Object-Oriented Applications from Static and Dynamic Information
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
CodeCrawler - Lessons Learned in Building a Software Visualization Tool
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Polymetric Views-A Lightweight Visual Approach to Reverse Engineering
IEEE Transactions on Software Engineering
Flowchart techniques for structured programming
ACM SIGPLAN Notices
The story of moose: an agile reengineering environment
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Moose: an agile reengineering environment
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Towards the UML Evaluation Using Taxonomic Patterns on Meta-Classes
QSIC '05 Proceedings of the Fifth International Conference on Quality Software
Mondrian: an agile information visualization framework
SoftVis '06 Proceedings of the 2006 ACM symposium on Software visualization
Semantic clustering: Identifying topics in source code
Information and Software Technology
New Frontiers of Reverse Engineering
FOSE '07 2007 Future of Software Engineering
Building an Ecologically valid, Large-scale Diagram to Help Developers Stay Oriented in Their Code
VLHCC '07 Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing
Exploring the neighborhood with dora to expedite software maintenance
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Change-Enabled Software Systems
Software-Intensive Systems and New Computing Paradigms
Science of Computer Programming
Code canvas: zooming towards better development environments
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Generating a catalog of unanticipated schemas in class hierarchies using Formal Concept Analysis
Information and Software Technology
Visual comparison of software architectures
Proceedings of the 5th international symposium on Software visualization
Using smalltalk as a reflective executable meta-language
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
Agile software assessment with Moose
ACM SIGSOFT Software Engineering Notes
Towards the visualization of software systems as 3D forests: the CodeTrees environment
Proceedings of the 27th Annual ACM Symposium on Applied Computing
MetricAttitude: a visualization tool for the reverse engineering of object oriented software
Proceedings of the International Working Conference on Advanced Visual Interfaces
oZone: Layer identification in the presence of cyclic dependencies
Science of Computer Programming
Increasing test coverage with Hapao
Science of Computer Programming
Hi-index | 0.00 |
Understanding source code is an important task in the maintenance of software systems. Legacy systems are not only limited to procedural languages, but are also written in object-oriented languages. In such a context, understanding classes is a key activity as they are the cornerstone of the object-oriented paradigm and the primary abstraction from which applications are built. Such an understanding is however difficult to obtain because of reasons such as the presence of late binding and inheritance. A first level of class understanding consists of the understanding of its overall structure, the control flow among its methods, and the accesses on its attributes. We propose a novel visualization of classes called class blueprint that is based on a semantically enriched visualization of the internal structure of classes. This visualization allows a software engineer to build a first mental model of a class that he validates via opportunistic code-reading. Furthermore, we have identified visual patterns that represent recurrent situations and as such convey additional information to the viewer. The contributions of this article are the class blueprint, a novel visualization of the internal structure of classes, the identification of visual patterns, and the definition of a vocabulary based on these visual patterns. We have performed several case studies of which one is presented in depth, and validated the usefulness of the approach in a controlled experiment.