Methods for Modeling and Analyzing Concurrent Software
Concurrent software executes multiple threads or processes to achieve high performance. However, concurrency results in a huge number of different system behaviors that are difficult to test and verify. The aim of this dissertation is to develop new methods and tools for modeling and analyzing concu...
Main Author: | |
---|---|
Format: | Others |
Published: |
FIU Digital Commons
2013
|
Subjects: | |
Online Access: | http://digitalcommons.fiu.edu/etd/931 http://digitalcommons.fiu.edu/cgi/viewcontent.cgi?article=2058&context=etd |
id |
ndltd-fiu.edu-oai-digitalcommons.fiu.edu-etd-2058 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-fiu.edu-oai-digitalcommons.fiu.edu-etd-20582018-07-19T03:33:21Z Methods for Modeling and Analyzing Concurrent Software Zeng, Reng Concurrent software executes multiple threads or processes to achieve high performance. However, concurrency results in a huge number of different system behaviors that are difficult to test and verify. The aim of this dissertation is to develop new methods and tools for modeling and analyzing concurrent software systems at design and code levels. This dissertation consists of several related results. First, a formal model of Mondex, an electronic purse system, is built using Petri nets from user requirements, which is formally verified using model checking. Second, Petri nets models are automatically mined from the event traces generated from scientific workflows. Third, partial order models are automatically extracted from some instrumented concurrent program execution, and potential atomicity violation bugs are automatically verified based on the partial order models using model checking. Our formal specification and verification of Mondex have contributed to the world wide effort in developing a verified software repository. Our method to mine Petri net models automatically from provenance offers a new approach to build scientific workflows. Our dynamic prediction tool, named McPatom, can predict several known bugs in real world systems including one that evades several other existing tools. McPatom is efficient and scalable as it takes advantage of the nature of atomicity violations and considers only a pair of threads and accesses to a single shared variable at one time. However, predictive tools need to consider the tradeoffs between precision and coverage. Based on McPatom, this dissertation presents two methods for improving the coverage and precision of atomicity violation predictions: 1) a post-prediction analysis method to increase coverage while ensuring precision; 2) a follow-up replaying method to further increase coverage. Both methods are implemented in a completely automatic tool. 2013-07-02T07:00:00Z text application/pdf http://digitalcommons.fiu.edu/etd/931 http://digitalcommons.fiu.edu/cgi/viewcontent.cgi?article=2058&context=etd FIU Electronic Theses and Dissertations FIU Digital Commons concurrency multi-threaded program atomicity violation model checking Petri nets verification Mondex scientific workflow Software Engineering |
collection |
NDLTD |
format |
Others
|
sources |
NDLTD |
topic |
concurrency multi-threaded program atomicity violation model checking Petri nets verification Mondex scientific workflow Software Engineering |
spellingShingle |
concurrency multi-threaded program atomicity violation model checking Petri nets verification Mondex scientific workflow Software Engineering Zeng, Reng Methods for Modeling and Analyzing Concurrent Software |
description |
Concurrent software executes multiple threads or processes to achieve high performance. However, concurrency results in a huge number of different system behaviors that are difficult to test and verify. The aim of this dissertation is to develop new methods and tools for modeling and analyzing concurrent software systems at design and code levels. This dissertation consists of several related results. First, a formal model of Mondex, an electronic purse system, is built using Petri nets from user requirements, which is formally verified using model checking. Second, Petri nets models are automatically mined from the event traces generated from scientific workflows. Third, partial order models are automatically extracted from some instrumented concurrent program execution, and potential atomicity violation bugs are automatically verified based on the partial order models using model checking.
Our formal specification and verification of Mondex have contributed to the world wide effort in developing a verified software repository. Our method to mine Petri net models automatically from provenance offers a new approach to build scientific workflows. Our dynamic prediction tool, named McPatom, can predict several known bugs in real world systems including one that evades several other existing tools. McPatom is efficient and scalable as it takes advantage of the nature of atomicity violations and considers only a pair of threads and accesses to a single shared variable at one time. However, predictive tools need to consider the tradeoffs between precision and coverage. Based on McPatom, this dissertation presents two methods for improving the coverage and precision of atomicity violation predictions: 1) a post-prediction analysis method to increase coverage while ensuring precision; 2) a follow-up replaying method to further increase coverage. Both methods are implemented in a completely automatic tool. |
author |
Zeng, Reng |
author_facet |
Zeng, Reng |
author_sort |
Zeng, Reng |
title |
Methods for Modeling and Analyzing Concurrent Software |
title_short |
Methods for Modeling and Analyzing Concurrent Software |
title_full |
Methods for Modeling and Analyzing Concurrent Software |
title_fullStr |
Methods for Modeling and Analyzing Concurrent Software |
title_full_unstemmed |
Methods for Modeling and Analyzing Concurrent Software |
title_sort |
methods for modeling and analyzing concurrent software |
publisher |
FIU Digital Commons |
publishDate |
2013 |
url |
http://digitalcommons.fiu.edu/etd/931 http://digitalcommons.fiu.edu/cgi/viewcontent.cgi?article=2058&context=etd |
work_keys_str_mv |
AT zengreng methodsformodelingandanalyzingconcurrentsoftware |
_version_ |
1718712875869011968 |