Run-Time Checking Multi-threaded Java Programs [chapter]

Frank S. de Boer, Stijn de Gouw
2016 Lecture Notes in Computer Science  
Assertion checking traditionally focused on state-based properties. In a multi-threaded environment, approaches based on sharedstate require complex locking mechanisms to ensure that specifications are checked atomically (in the same state). In addition to this increased complexity, locks also negatively affect performance. In this paper, we extend both the underlying theory and the practical implementation of SAGA, a run-time checker for single-threaded Java programs, to multi-threading, while avoiding locks.
doi:10.1007/978-3-662-49192-8_18 fatcat:prsrrnso5vgunacoxmqsn3rsn4