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:
|
|||
+Publications:[ISSTA] CoREBench: Studying Complexity of Regression Errors ( PDF ) Marcel Böhme, Abhik Roychoudhury ACM International Symposium on Software Testing and Analysis (ISSTA) 2014.
[ESEC-FSE] Regression Tests to Expose Change Interaction Errors ( PDF ) Marcel Böhme, Bruno C.d.S. Oliveira, Abhik Roychoudhury ESEC/FSE '13, Joint meeting of ACM SIGSOFT symposium and European conference on Foundations of software engineering, 2013
[ISSTA] Expressing and Checking Intended Changes via Software Change Contracts ( PDF ) Jooyong Yi, Dawei Qi, Shin Hwei Tan, Abhik Roychoudhury International Symposium on Software Testing and Analysis (ISSTA) 2013.
[ICSE] Partition-based Regression Verification ( PDF ) Marcel Böhme, Bruno C.d.S. Oliveira, Abhik Roychoudhury ACM/IEEE International Conference on Software Engineering (ICSE) 2013.
[ICSE] SemFix: Program Repair via Semantic Analysis ( PDF ) Hoang D.T. Nguyen, Dawei Qi, Abhik Roychoudhury, Satish Chandra ACM/IEEE International Conference on Software Engineering (ICSE) 2013.
[TOSEM-jnl] Path Exploration based on Symbolic Output ( PDF ) Dawei Qi, Hoang D.T. Nguyen, Abhik Roychoudhury ACM Transactions on Software Engineering and Methodology (TOSEM), To appear.
[FSE] Software Change Contracts ( PDF ) Dawei Qi, Jooyong Yi, Abhik Roychoudhury New Ideas and Emerging Results (NIER) Track, ACM SIGSOFT Symposium on Foundations of Software Engineering (FSE) 2012.
[STTT-journal] Relating Software Validation to Technology Trends Zhiming Liu, Abhik Roychoudhury International Journal on Software Tools for Technology Transfer (STTT), Springer, To appear.
[WCRE] Modeling Software Execution
Environment ( PDF ) [FSE]
Path Exploration based on Symbolic Output (PDF
) [PASTE]
[TOSEM-jnl] DARWIN: An Approach for Debugging Evolving Programs
(
PDF
) Conference version: [SIGSOFT Distinguished paper award]
Darwin: an approach for debugging evolving programs
Dawei Qi, Abhik Roychoudhury, Zhenkai
Liang, Kapil Vaswani
ESEC/FSE '09 Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, 2009 |
|||
+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 |