Contact Us

+Overview:

Programmers do not write programs entirely from scratch. Over time, a program gradually evolves from one program version to another. However, as software evolves from one version to another - testing/debugging to ensure that the program continues to meet its intended functionality is difficult. Validation of such evolving programs (say, to address possible bugs introduced via program changes) remains a huge problem in software development. This adds to the cost for software maintenance, which is much larger than the initial software development cost. The cost of maintaining a software and managing its evolution is said to account for more than 90% of the total cost of a software project, prompting authors to call it the "legacy crisis". In this project, we seek to develop testing and validation methods for evolving software to bring down such costs.

The main innovation of the proposed work lies in making testing/debugging methods change-aware. A commonly used terminology in software engineering is "regression testing" where a changed program version is tested to check for possible regressions (some functionality which worked earlier but is broken due to the changes). In practice, regression testing often amounts to re-testing, or testing a selected sub-set of tests. Ideally, as changes are made in the program, the test-suite should also evolve with the program - an aspect that we study in this project. Akin to regression testing, we also study regression debugging, where we root-cause the reason for any detected software regression. The innovative aspect of our proposed work in regression debugging lies in using symbolic execution based semantic analysis of the failed test case as opposed to enumerating the changes across program versions.


+Updates:

  • Some of the positions have been filled for now, but one RA position, and one RF position is still open  [Oct 2011]
  • Dawei's paper "Path Exploration on Symbolic output" is accepted for FSE 2011, 34 / 203 papers accepted  [June 2011]
  • Our work on analysis of evolving programs has received a substantial grant from Ministry of Education ( Postdocs, RAs being recruited) [March 2011]

+Publications:

+Current Members:

+Acknowledgements:

This project is funded by a substantial research grant from MOE (the Ministry of Education, Singapore) up to 2014. This support is gratefully acknowledged.


Contact Us
National University of Singapore   |   School of Computing   |   Ministry of Education