Learning from executions: Dynamic analysis for software engineering and program understanding

Download: slides 1 (PDF), slides 2 (PDF), slides 3 (PDF), slides 4 (PDF).

“Learning from executions: Dynamic analysis for software engineering and program understanding” by Michael D. Ernst and Jeff H. Perkins. Nov. 2005. Tutorial at ASE 2005.

Abstract

The software engineering community increasingly recognizes the importance and value of dynamic analysis for program understanding. A dynamic analysis runs a program and observes its execution. Dynamic analysis for program understanding produces output, or feeds into a subsequent analysis, that enables programming tasks or increases human understanding of the code; this transcends traditional dynamic analysis for testing or optimization.

Dynamic analysis complements traditional static analyses, such as compilers and type checkers, that have similar goals. Once largely ignored by the research community due to unsoundness, of late there has been a flowering of research in this area. Often, a dynamic analysis is more precise and can better handle incomplete programs, programs written in multiple languages, and analysis of program environments, among other situations.

This tutorial will explore the active new area of program analysis for program understanding and software engineering. It will cover theoretical background, implementation techniques, and applications, with particular focus on applications to practical programming tasks and on developing new applications. It will also present tools that you can use or build on in your practice or research, with the opportunity for hands-on experience, if there is interest.

The tutorial format will encourage questions, discussion, and interaction, in order to enable participants to get the most out of it.

Download: slides 1 (PDF), slides 2 (PDF), slides 3 (PDF), slides 4 (PDF).

BibTeX entry:

@misc{ErnstP2005,
   author = {Michael D. Ernst and Jeff H. Perkins},
   title = {Learning from executions: Dynamic analysis for software
	engineering and program understanding},
   month = nov,
   year = {2005},
   note = {Tutorial at ASE 2005}
}

(This webpage was created with bibtex2web.)

Back to Michael Ernst's publications.