Runtime assertion checking of multithreaded Java programs - An extension of the STROBE framework

Kandziora, Jorne (2014) Runtime assertion checking of multithreaded Java programs - An extension of the STROBE framework.

[img]
Preview
PDF
790kB
Abstract:Many runtime assertion checkers are only built for sequential programs and do not guarantee correct behaviour if they are used in a multithreaded environment. We will show that runtime assertion checkers in a multithreaded environment can sometimes report errors that do not exist in the program or fail to detect problems that exist, both of which is problematic. To solve this problem, we build an extension to the STROBE framework. STROBE is built to accelerate runtime assertion checking with the use of asynchronous assertions: checks that are executed in parallel to the program itself. This framework performs this checking correctly with the use of snapshots, that evaluatesciently save the previous states of a program. We extend the STROBE framework into the e-STROBE framework, that uses these snapshots in a multithreaded program, to protect the program from unwanted interference during runtime assertion checking. We apply the snapshots in the e-STROBE framework to OpenJML, to show that existing runtime assertion checkers can be modified to work correctly in a multithreaded environment. We will give several examples to show that our solution works, and gives the expected results in both single-threaded and multithreaded programs.
Item Type:Essay (Master)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:54 computer science
Programme:Computer Science MSc (60300)
Link to this item:http://purl.utwente.nl/essays/65882
Export this item as:BibTeX
EndNote
HTML Citation
Reference Manager

 

Repository Staff Only: item control page