Talk by Reid Holmes: Longitudinal Dynamic Impact Analysis

Date

TITLE:    Longitudinal Dynamic Impact Analysis

SPEAKER: Reid Holmes, University of Waterloo

HOST:    Gail Murphy    

DATE/TIME: Thursday, January 31, 10:30-11:30 am    

LOCATION: ICCS X836 (CS Boardroom), 2366 Main Mall

ABSTRACT:

The dynamic behaviour of a software system changes as a consequence of
developer’s static source code modifications. In this talk, we discuss
an improvement upon a previous approach that combines static and
dynamic analyses to categorize behavioural changes by greatly
improving its accuracy through polymorphic mapping. We further refine
the previous model by introducing a change-centric state transition
model that captures the flow of call pairs among different partitions
derived from static and dynamic call graphs. We also extend the
approach by incorporating complete dynamic call stacks into the
analysis. Finally, we perform a longitudinal study of three software
systems to quantitatively and qualitatively analyze how their
behaviour has dynamically evolved across 100 program versions.

In our evaluation, the polymorphic mapping algorithm decreased
mismatches between the static and dynamic analyses by 53%. In
particular, we decreased the mismatch by 71% in the most important
category of changes from the developer’s point of view. We found that
developers introduce new behaviour more often than eliminating old
behaviour and that developers are more likely to remove
unexecuted/dead code than code that is executed by the test suite. In
terms of change types, we found that changes made to fix defects
encountered the least opaque and indirect behaviour, while changes
made to add new functionality experienced the highest unexecuted
behaviour.

BIO:

Reid Holmes is an Assistant Professor in the Cheriton School of
Computer Science at the University of Waterloo. His interests include
understanding the cognitive aspects of software engineering, software
reuse, example recommendation systems, and longitudinal dynamic
analyses. He has published articles in top-tier publications including
the International Conference on Software Engineering (ICSE),
Foundations of Software Engineering (FSE), Transactions on Software
Engineering (TSE), and Transactions on Software Engineering and
Methodology (TOSEM). He has won distinguished paper awards at ICSE and
FSE. He did a postdoc at the University of Washington advised by David
Notkin, received his Ph.D. at the University of Calgary advised by
Robert J. Walker, and received his M.Sc. at the University of British
Columbia advised by Gail C. Murphy.