Return to search

A pragmatic verification approach for concurrent programs

Developing correct concurrent software is a difficult task, due to the inherently non-deterministic nature of thread interactions. Traditional testing techniques typically perform an explicit exploration of the possible program executions, and are thus inadequate for concurrent software. Symbolic verification techniques for concurrent programs are therefore desirable. Sequentialization has become one of the most promising symbolic approach for the verification of concurrent programs in recent years. However, current efficient implementations still struggle with concurrent programs that contain rare bugs, and their purposes is restricted to bug-finding. In this thesis, we advance sequentialization to provide pragmatic and scalable verification approaches for concurrent programs, aiming at finding bugs and proving correctness. Concerning finding rare bugs in concurrent programs, we present our work on optimising Lazy-CSeq sequentialization using abstract interpretation. We empirically demonstrate that this procedure, which is implemented in the tool called Lazy-CSeq+ABS, can lead to significant performance gain for very hard verification problem. Furthermore, we propose a “swarm” verification approach that can enable existing tools to find rare concurrency bugs which were previously out of reach. We implement the approach in VeriSmart, as a extension of Lazy-CSeq, and empirically demonstrate that VeriSmart can spot rare bugs considerably faster than Lazy-CSeq tool can. With regard to proving correctness, we develop a novel lazy sequentialization for unbounded concurrent programs and implement the corresponding schema in a tool named UL-CSeq based on the CSeq framework. Empirical experiments show that our new schema is efficient in both proving correctness and finding bugs on concurrency benchmarks in comparison with state-of-the-art approaches.

Identiferoai:union.ndltd.org:bl.uk/oai:ethos.bl.uk:722928
Date January 2017
CreatorsNguyen Lam, Truc
ContributorsParlato, Gennaro
PublisherUniversity of Southampton
Source SetsEthos UK
Detected LanguageEnglish
TypeElectronic Thesis or Dissertation
Sourcehttps://eprints.soton.ac.uk/413593/

Page generated in 0.002 seconds