Testing and Debugging of Software Regressions

Speaker:  Abhik Roychoudhury – Singapore, Singapore
Topic(s):  Security and Privacy

Abstract

Software regressions, where a previously working program fails on certain tests after changes, constitute a major source of delays and missed schedules in any large software development project. Finding the root-cause of software regressions is troublesome because of the lack of formal capture of the programmer’s intention. In this talk, I will discuss two alternative approaches to tackle the problem.
 
First, we show how symbolic execution based analysis of the program versions can help uncover a glimpse of the intended program behavior. Such a symbolic execution based analysis can be used for finding the root-cause of a software regression as observed in a given test, or for finding test cases which arel ikely to expose software regressions.
 
Secondly, we discuss a change contract language which tries to capture the programmer’s intention in making changes. We believe that the concept of “change contract” constitutes a pragmatic step towards introducing some formal documentation over a large existing body of code with no formal specifications.

About this Lecture

Number of Slides:  50
Duration:  60 minutes
Languages Available:  English
Last Updated: 

Request this Lecture

To request this particular lecture, please complete this online form.

Request a Tour

To request a tour with this speaker, please complete this online form.

All requests will be sent to ACM headquarters for review.