Human-computer interface design guidelines
Human-computer interface design guidelines
Seesoft-A Tool for Visualizing Line Oriented Software Statistics
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
A reverse engineering environment based on spatial and visual software interconnection models
SDE 5 Proceedings of the fifth ACM SIGSOFT symposium on Software development environments
Program restructuring as an aid to software maintenance
Program restructuring as an aid to software maintenance
Automated assistance for program restructuring
ACM Transactions on Software Engineering and Methodology (TOSEM)
An improved inspection technique
Communications of the ACM
Tcl and the Tk toolkit
Automated support for encapsulating abstract data types
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Getting the most from paired-user testing
interactions
The design of whole-program analysis tools
Proceedings of the 18th international conference on Software engineering
Points-to analysis in almost linear time
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Tool support for planning the restructuring of data abstractions in large systems
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Lackwit: a program understanding tool based on type inference
ICSE '97 Proceedings of the 19th international conference on Software engineering
Practical programming in Tcl and Tk (2nd ed.)
Practical programming in Tcl and Tk (2nd ed.)
Supporting the restructuring of data abstractions through manipulation of a program visualization
ACM Transactions on Software Engineering and Methodology (TOSEM)
Static analysis for a software transformation tool
Static analysis for a software transformation tool
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Designing Interaction: Psychology at the Human-Computer Interface
Designing Interaction: Psychology at the Human-Computer Interface
Human-Computer Interaction
How Software Engineering Tools Organize Programmer BehaviorDuring the Task of Data Encapsulation
Empirical Software Engineering
Software Maintenance Management
Software Maintenance Management
IEEE Software
Proceedings of the First JSSST International Symposium on Object Technologies for Advanced Software
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
Fast, Flexible Syntactic Pattern Matching and Processing
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
Supporting the restructuring of data abstractions through manipulation of a program visualization
Supporting the restructuring of data abstractions through manipulation of a program visualization
Component design of retargetable program analysis tools that reuse intermediate representations
Proceedings of the 22nd international conference on Software engineering
A conservative algorithm for computing the flow of permissions in Java programs
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Ethical Issues in Software Engineering Research: A Survey of Current Practice
Empirical Software Engineering
Automated Support for Program Refactoring using Invariants
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Does The Modern Code Inspection Have Value?
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Hi-index | 0.00 |
Restructuring software to improve its design can lower software maintenance costs. One problem encountered during restructuring is formulating the new design. A meaning-preserving program restructuring tool with a star diagram manipulable visualization can help a programmer redesign a program based on abstract data types. However, the transformational support required for meaning-preserving restructuring is costly to provide. Also, programmers encounter comprehension and recall difficulties in complex restructuring tasks. Consequently, transformations were replaced with visual and organizational aids that help a programmer to plan and carry out a complex restructuring. For example, a star diagram manipulation called trimming was added, which mimics the way that basic restructuring transformations affect the star diagram display, allowing a programmer to plan a restructuring without depending upon restructuring transformations. With the ability to annotate trimmed star diagram components, plans can be recorded and later recalled. Programmer-controlled elision was added to help remove clutter from star diagram views. We implemented a star diagram planning tool for C programs, measured its elision capabilities, and performed a programmer study. We found that elision is effective in controlling star diagram size, and the study revealed that each programming team successfully planned its restructuring in rather different, unanticipated ways. These experiments resulted in important improvements in the tool's software design and user interface.