Change-Enabled Software Systems
Software-Intensive Systems and New Computing Paradigms
Model-Centric, Context-Aware Software Adaptation
Software Engineering for Self-Adaptive Systems
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
Lessons in Software Evolution Learned by Listening to Smalltalk
SOFSEM '10 Proceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science
Tackling software navigation issues of the Smalltalk IDE
IWST '09 Proceedings of the International Workshop on Smalltalk Technologies
Enhancing static source code search with dynamic data
Proceedings of 2010 ICSE Workshop on Search-driven Development: Users, Infrastructure, Tools and Evaluation
Proceedings of the 2011 ACM Symposium on Applied Computing
Spy: A flexible code profiling framework
Computer Languages, Systems and Structures
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Assisting developers of big data analytics applications when deploying on hadoop clouds
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
Developers rely on the mechanisms provided by their IDE to browse and navigate a large software system. These mechanisms are usually based purely on a system's static source code. The static perspective, however, is not enough to understand an object-oriented program's behavior, in particular if implemented in a dynamic language. We propose to enhance IDEs with a program's runtime information (e.g. message sends and type information) to support program comprehension through precise navigation and informative browsing. To precisely specify the type and amount of runtime data to gather about a system under development, dynamically and on demand, we adopt a technique known as partial behavioral reflection. We implemented navigation and browsing enhancements to an IDE that exploit this runtime information in a prototype called Hermion. We present preliminary validation of our experimental enhanced IDE by asking developers to assess its usefulness to understand an unfamiliar software system.