|
+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:
- Path Exploration based on Symbolic Output
Dawei Qi, Hoang D.T. Nguyen, Abhik Roychoudhury
Joint meeting of ESEC and ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), ESEC-FSE 2011.
-
Locating Failure Inducing Environment Changes
Dawei Qi, Cristal Ngo, Tao Sun, Abhik Roychoudhury
10th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE) 2011.
-
Test Generation to Expose Changes in Evolving Programs
Dawei Qi, Abhik Roychoudhury, Zhenkai Liang
25nd IEEE/ACM
International Conference on Automated Software Engineering (ASE) 2010.
-
Golden Implementation Driven Software Debugging
Ansuman Banerjee, Abhik Roychoudhury, Johannes A. Harlie, Zhenkai Liang
Joint meeting of ESEC and ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), ESEC-FSE 2010.
-
Debugging as a Science, that too, when your Program is Changing
Abhik Roychoudhury
Keynote at the Intl. Workshop on Harnessing Theories for Tool Support in Software (TTSS),
Electronic Notes in Theoretical Computer Science (ENTCS), Vol 266, pages 3-15,
2010.
-
DARWIN: An Approach for Debugging Evolving Programs
*ACM SIGSOFT Distinguished Paper Award*
Dawei Qi, Abhik Roychoudhury, Zhenkai Liang, Kapil Vaswani
Joint meeting of ESEC and ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), ESEC-FSE 2009.
|
|
|
+Current Members:
-
Post-doctoral Research Fellows:
Bruno Oliveira (Senior Research
Fellow)
Jooyong Lee
(Research Fellow)
-
PhD Students:
-
Dawei Qi (August 2008 - ) Dynamic Analysis based Debugging of Evolving Programs.
-
Marcel Böhme (August 2009 - ) : Testing of Evolving Programs.
- Hoang D.T. Nguyen (August 2011 - )
Automated
Program Repair methods.- Ramapantulu Lavanya (Jan 2012 - )
-
Research Assistants and Masters Students
|
|
|
+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.
|
|