Program understanding: challenge for the 1990's
IBM Systems Journal
Directness and liveness in the morphic user interface construction environment
Proceedings of the 8th annual ACM symposium on User interface and software technology
Debugging and the experience of immediacy
Communications of the ACM
Test Driven Development: By Example
Test Driven Development: By Example
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations
VL '96 Proceedings of the 1996 IEEE Symposium on Visual Languages
Partial behavioral reflection: spatial and temporal selection of reification
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Mylar: a degree-of-interest model for IDEs
Proceedings of the 4th international conference on Aspect-oriented software development
Theories, Methods and Tools in Program Comprehension: Past, Present and Future
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
Extreme Programming Explained: Embrace Change (2nd Edition)
Extreme Programming Explained: Embrace Change (2nd Edition)
How Are Java Software Developers Using the Eclipse IDE?
IEEE Software
Proceedings of the third ACM SIGPLAN conference on History of programming languages
IEEE Transactions on Software Engineering
Unanticipated partial behavioral reflection: Adapting applications at runtime
Computer Languages, Systems and Structures
Debugging reinvented: asking and answering why and why not questions about program behavior
Proceedings of the 30th international conference on Software engineering
Exploiting Runtime Information in the IDE
ICPC '08 Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension
Asking and Answering Questions during a Programming Change Task
IEEE Transactions on Software Engineering
Designing the User Interface: Strategies for Effective Human-Computer Interaction
Designing the User Interface: Strategies for Effective Human-Computer Interaction
Back to the Future: Omniscient Debugging
IEEE Software
A Systematic Survey of Program Comprehension through Dynamic Analysis
IEEE Transactions on Software Engineering
Autumn Leaves: Curing the Window Plague in IDEs
WCRE '09 Proceedings of the 2009 16th Working Conference on Reverse Engineering
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
Code bubbles: a working set-based interface for code understanding and maintenance
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Developers ask reachability questions
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Code canvas: zooming towards better development environments
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Immediacy through Interactivity: Online Analysis of Run-time Behavior
WCRE '10 Proceedings of the 2010 17th Working Conference on Reverse Engineering
Stacksplorer: call graph navigation helps increasing code maintenance efficiency
Proceedings of the 24th annual ACM symposium on User interface software and technology
Exploiting Dynamic Information in IDEs Improves Speed and Correctness of Software Maintenance Tasks
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
Programmers benefit from concrete program run-time information during code-centric comprehension activities. Unfortunately, state-of-the-art programming environments distract programmers from their task-oriented thinking by forcing them to cope with (1) tool-driven run-time information access and with (2) tool-driven changing information views. However, current research projects address these problems with new concepts for capturing run-time behavior as needed and for organizing all information on-screen according to the programmers' mental model. Unfortunately, there has been no attempt that tries to combine available solutions into one single approach. We propose a new concept for programming environments, which allow programmers to work in a task-oriented way: Run-time information is collected automatically using tests; Information is displayed consistently in self-contained editors arranged on a horizontal boundless tape. We illustrate practicability with an implementation in Squeak/Smalltalk. We believe that such environments will allow programmers to explore program-related information without noticeable tool switches and hence context switches. Having this, the cognitive effort will be reduced and thus programmers will make fewer false conclusions and eventually save time.