Towards Effective Regression Testing of Concurrent Programs

The Hong Kong University of Science and Technology
Department of Computer Science and Engineering


PhD Thesis Defence


Title: "Towards Effective Regression Testing of Concurrent Programs"

By

Mr. Valerio TERRAGNI


Abstract

Rapid advances in multi-core chip technology have lead to pervasive 
adoption of shared-memory concurrency programming, where software is 
jointly executed by multiple threads in a shared memory space. The 
inherent complexity of thread synchronization makes the evolution of 
concurrent programs error-prone, because code modification can affect how 
threads synchronize, which in turn can induce concurrency faults.

Regression testing is an important activity performed to guard against 
faults introduced by code changes. It is often performed by re-executing 
those existing tests that run successfully before code modification. If 
these tests trigger an unexpected failure, developers know that the code 
modification has introduced a regression fault. However, this approach has 
two fundamental problems that make it inefficient and ineffective to 
expose regression faults: (1) Re-executing all the existing tests often 
requires long execution times, which can easily exceed the affordable time 
budget. (2) Existing tests might not be adequate to expose regression 
faults - in this case developers have to write additional tests, which is 
costly and labor intensive. This situation aggravates for concurrent 
programs whose executions have non-deterministic behaviors, depending on 
the manifested thread interleavings.

To address these problems, in this thesis, we propose first a technique to 
reduce the execution times of regression testing concurrent programs by 
exploring only those interleavings that could reveal regression faults. 
Further, we propose a technique to alleviate the developers's burden of 
writing new concurrent tests manually.  We also present a combination of 
these two techniques to generate effective tests and oracles that expose 
and detect regression faults in concurrent programs.


Date:			Thursday, 12 January 2017

Time:			10:00am - 12:00noon

Venue:			Room 3494
 			Lifts 25/26

Chairman:		Prof. Matthew McKay (ECE)

Committee Members:	Prof. Shing-Chi Cheung (Supervisor)
 			Prof. Frederick Lochovsky
 			Prof. Charles Zhang
 			Prof. Chi-Ying Tsui (ECE)
 			Prof. Carlo Ghezzi (Politecnico di Milano)


**** ALL are Welcome ****