SCALE: Source Code Analyzer for Locating Errors
This thesis presents the design and implementation of SCALE, a tool for systematic software testing multi-threaded C applications that use the pthread library. SCALE exhaustively explores the non determinism introduced by thread schedulings and tries to find violations of safety properties. We have...
id |
ndltd-CALTECH-oai-thesis.library.caltech.edu-5718 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-CALTECH-oai-thesis.library.caltech.edu-57182019-11-09T03:10:56Z SCALE: Source Code Analyzer for Locating Errors Florian, Mihai This thesis presents the design and implementation of SCALE, a tool for systematic software testing multi-threaded C applications that use the pthread library. SCALE exhaustively explores the non determinism introduced by thread schedulings and tries to find violations of safety properties. We have designed SCALE to be flexible so that it is easy to add and combine different exploration and state space reduction algorithms. In this thesis we describe the currently implemented reduction algorithms, of which the most important ones are local execution cycle detection and super step partial order reduction. To exemplify how SCALE can be used, we have applied it to a few multi-threaded applications, measured its performance and compared the results to those obtained by other tools. While checking the implementation of a non-blocking queuing algorithm, we were able to find a previously unknown bug that appears only in some unexpected thread inter-leavings. 2010 Thesis NonPeerReviewed application/pdf https://thesis.library.caltech.edu/5718/1/mf-thesis.pdf https://resolver.caltech.edu/CaltechTHESIS:04142010-122136677 Florian, Mihai (2010) SCALE: Source Code Analyzer for Locating Errors. Master's thesis, California Institute of Technology. doi:10.7907/KXWA-7Y81. https://resolver.caltech.edu/CaltechTHESIS:04142010-122136677 <https://resolver.caltech.edu/CaltechTHESIS:04142010-122136677> https://thesis.library.caltech.edu/5718/ |
collection |
NDLTD |
format |
Others
|
sources |
NDLTD |
description |
This thesis presents the design and implementation of SCALE, a tool for systematic software testing multi-threaded C applications that use the pthread library. SCALE exhaustively explores the non determinism introduced by thread schedulings and tries to find violations of safety properties. We have designed SCALE to be flexible so that it is easy to add and combine different exploration and state space reduction algorithms. In this thesis we describe the currently implemented reduction algorithms, of which the most important ones are local execution cycle detection and super step partial order reduction. To exemplify how SCALE can be used, we have applied it to a few multi-threaded applications, measured its performance and compared the results to those obtained by other tools. While checking the implementation of a non-blocking queuing algorithm, we were able to find a previously unknown bug that appears only in some unexpected thread inter-leavings. |
author |
Florian, Mihai |
spellingShingle |
Florian, Mihai SCALE: Source Code Analyzer for Locating Errors |
author_facet |
Florian, Mihai |
author_sort |
Florian, Mihai |
title |
SCALE: Source Code Analyzer for Locating Errors |
title_short |
SCALE: Source Code Analyzer for Locating Errors |
title_full |
SCALE: Source Code Analyzer for Locating Errors |
title_fullStr |
SCALE: Source Code Analyzer for Locating Errors |
title_full_unstemmed |
SCALE: Source Code Analyzer for Locating Errors |
title_sort |
scale: source code analyzer for locating errors |
publishDate |
2010 |
url |
https://thesis.library.caltech.edu/5718/1/mf-thesis.pdf Florian, Mihai (2010) SCALE: Source Code Analyzer for Locating Errors. Master's thesis, California Institute of Technology. doi:10.7907/KXWA-7Y81. https://resolver.caltech.edu/CaltechTHESIS:04142010-122136677 <https://resolver.caltech.edu/CaltechTHESIS:04142010-122136677> |
work_keys_str_mv |
AT florianmihai scalesourcecodeanalyzerforlocatingerrors |
_version_ |
1719288151426465792 |