CHI '86 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Experiments on slicing-based debugging aids
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Polygonization of implicit surfaces
Computer Aided Geometric Design
Information Processing Letters
The relationship between slices and module cohesion
ICSE '89 Proceedings of the 11th international conference on Software engineering
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
The perspective wall: detail and context smoothly integrated
CHI '91 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Cone Trees: animated 3D visualizations of hierarchical information
CHI '91 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Tree visualization with tree-maps: 2-d space-filling approach
ACM Transactions on Graphics (TOG)
The use of program dependence graphs in software engineering
ICSE '92 Proceedings of the 14th international conference on Software engineering
Debugging with dynamic slicing and backtracking
Software—Practice & Experience
Object-oriented metrics that predict maintainability
Journal of Systems and Software - Special issue on object-oriented software
A focus+context technique based on hyperbolic geometry for visualizing large hierarchies
CHI '95 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Slicing object-oriented software
Proceedings of the 18th international conference on Software engineering
A Validation of Object-Oriented Design Metrics as Quality Indicators
IEEE Transactions on Software Engineering
Computation of Dynamic Program Slices for Unstructured Programs
IEEE Transactions on Software Engineering
An investigation into coupling measures for C++
ICSE '97 Proceedings of the 19th international conference on Software engineering
Hybrid slicing: integrating dynamic information with static analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
Visualizing dynamic software system information through high-level models
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A new Algorithm for slicing unstructured programs
Journal of Software Maintenance: Research and Practice
Cognitive design elements to support the construction of a mental model during software exploration
Journal of Systems and Software
Proceedings of the 1999 workshop on new paradigms in information visualization and manipulation in conjunction with the eighth ACM internation conference on Information and knowledge management
A Generalization of Algebraic Surface Drawing
ACM Transactions on Graphics (TOG)
Visual information foraging in a focus + context visualization
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Shimba—an environment for reverse engineering Java software systems
Software—Practice & Experience
Software Metrics: A Rigorous Approach
Software Metrics: A Rigorous Approach
Three dimensional UML using force directed layout
APVis '01 Proceedings of the 2001 Asia-Pacific symposium on Information visualisation - Volume 9
Software Visualization in the Large
Computer
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Chidamber and Kemerer's Metrics Suite: A Measurement Theory Perspective
IEEE Transactions on Software Engineering
Layout and structuring object oriented software in three dimensions
CASCON '95 Proceedings of the 1995 conference of the Centre for Advanced Studies on Collaborative research
VISSOFT '02 Proceedings of the 1st International Workshop on Visualizing Software for Understanding and Analysis
A Hybrid Reverse Engineering Approach Combining Metrics and Program Visualization
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
Maximizing Functional Cohesion of Comprehension Environments by Integrating User and Task Knowledge
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Integrating Information Sources for Visualizing Java Programs
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Dynamic slicing of distributed programs
ICSM '95 Proceedings of the International Conference on Software Maintenance
Visualizing Software - A Key Research Area
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Building Documentation Generators
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Program Understanding Behavior During Adaptation of Large Scale Software
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
GSEE: A Generic Software Exploration Environment
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
Visualizing Object-Oriented Software in Virtual Reality
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
Software Visualization Tools: Survey and Analysis
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
On the Use of Metaballs to Visually Map Source Code Structures and Analysis Results onto 3D Space
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
Context Driven Slicing Based Coupling Measures
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
Graphic visuals derived from reverse engineered source code have long been recognized for their impact on improving the comprehensibility of structural and behavioral aspects of large software systems and their source code. A number of visualization techniques, primarily graph-based, do not scale. Some other proposed techniques based on 3D metaphors tend to obscure important structural relationships in the program. Multiple views displayed in overlapping windows are suggested as a possible solution, which more often than not results in problems of information overload and cognitive discontinuity. In this paper, we first present a comprehensive survey of related work in program comprehension and software visualization, and follow it up with a detailed description of our research which uses program slicing for deriving program structure-based attributes and 3D-metaball-based rendering techniques to help visualization-based analysis of source code structure. Metaballs, a 3D modeling technique, has already found extensive use for representing complex organic shapes and structural relationships in biology and chemistry. We have developed a metaball software visualization system in Java3D, named MetaViz. As proof of concept, using MetaViz, we demonstrate the creation of 3D visuals that are intuitively comprehensible and communicate information about relative component complexity and coupling among components and therefore enhance comprehension of the program structure.