Proving the equivalenceof two Finite State Machines (FSMs) has many applications to synthesis, verication, testing, and diagnosis. Building their product machine is a theoretical ...
Gianpiero Cabodi, Paolo Camurati, Fulvio Corno, Pa...
Runtime property checking (as implemented in tools like Purify or Valgrind) checks whether a program execution satisfies a property. Active property checking extends runtime check...
Patrice Godefroid, Michael Y. Levin, David A. Moln...
Many multithreaded programs employ concurrent data types to safely share data among threads. However, highly-concurrent algorithms for even seemingly simple data types are difficul...
Sebastian Burckhardt, Rajeev Alur, Milo M. K. Mart...
Assuring correctness of digital designs is one of the major tasks in the system design flow. Formal methods have been proposed to accompany commonly used simulation approaches. I...
Abstract. Symbolic execution is a flexible and powerful, but computationally expensive technique to detect dynamic behaviors of a program. In this paper, we present a context-sensi...