Behavioral profiles—a way to model and validate program behavior
Software—Practice & Experience
Understanding complex multithreaded software systems by using trace visualization
Proceedings of the 5th international symposium on Software visualization
Using dynamic analysis to create trace-focused user interfaces for IDEs
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Achievements and challenges in software reverse engineering
Communications of the ACM
Using domain ontologies in a dynamic analysis for program comprehension
Ontology-Driven Software Engineering
An empirical comparison of static and dynamic business process mining
Proceedings of the 2011 ACM Symposium on Applied Computing
FireDetective: understanding ajax client/server interactions
Proceedings of the 33rd International Conference on Software Engineering
Six years of systematic literature reviews in software engineering: An updated tertiary study
Information and Software Technology
A framework-based runtime monitoring approach for service-oriented software systems
Proceedings of the International Workshop on Quality Assurance for Service-Based Applications
A practice-driven systematic review of dependency analysis solutions
Empirical Software Engineering
A family of case studies on business process mining using MARBLE
Journal of Systems and Software
An adaptive approach to impact analysis from change requests to source code
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
A case study on business process recovery using an e-government system
Software—Practice & Experience
Learning extended FSA from software: An empirical assessment
Journal of Systems and Software
Integrated impact analysis for managing software changes
Proceedings of the 34th International Conference on Software Engineering
Supervisory control for software runtime exception avoidance
Proceedings of the Fifth International C* Conference on Computer Science and Software Engineering
Measuring test case similarity to support test suite understanding
TOOLS'12 Proceedings of the 50th international conference on Objects, Models, Components, Patterns
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
How do software engineers understand code changes?: an exploratory study in industry
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Empirical Software Engineering
Understanding Ajax applications by connecting client and server-side execution traces
Empirical Software Engineering
On the impact of trace-based feature location in the performance of software maintainers
Journal of Systems and Software
Test intents: enhancing the semantics of requirements traceability links in test cases
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Assisting developers of big data analytics applications when deploying on hadoop clouds
Proceedings of the 2013 International Conference on Software Engineering
An ontology toolkit for problem domain concept location in program comprehension
Proceedings of the 2013 International Conference on Software Engineering
Understanding the interactions between users and versions in multi-tenant systems
Proceedings of the 2013 International Workshop on Principles of Software Evolution
Combining concern input with program analysis for bloat detection
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Targeted and depth-first exploration for systematic testing of android apps
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Proceedings of the 2013 Research in Adaptive and Convergent Systems
Adapting system execution traces to support analysis of software system performance properties
Journal of Systems and Software
A metric towards evaluating understandability of state machines: An empirical study
Information and Software Technology
Science of Computer Programming
The DynaRIA tool for the comprehension of Ajax web applications by dynamic analysis
Innovations in Systems and Software Engineering
Hi-index | 0.04 |
Program comprehension is an important activity in software maintenance, as software must be sufficiently understood before it can be properly modified. The study of a program's execution, known as dynamic analysis, has become a common technique in this respect and has received substantial attention from the research community, particularly over the last decade. These efforts have resulted in a large research body of which currently there exists no comprehensive overview. This paper reports on a systematic literature survey aimed at the identification and structuring of research on program comprehension through dynamic analysis. From a research body consisting of 4,795 articles published in 14 relevant venues between July 1999 and June 2008 and the references therein, we have systematically selected 176 articles and characterized them in terms of four main facets: activity, target, method, and evaluation. The resulting overview offers insight in what constitutes the main contributions of the field, supports the task of identifying gaps and opportunities, and has motivated our discussion of several important research directions that merit additional consideration in the near future.