TY - GEN
T1 - An automata-theoretic approach for model checking threads for LTL properties
AU - Kahlon, Vineet
AU - Gupta, Aarti
PY - 2006
Y1 - 2006
N2 - In this paper, we propose a new technique for the verification of concurrent multi-threaded programs. In general, the problem is known to be undecidable even for programs with just two threads [I]. However, we exploit the observation that, in practice, a large fraction of concurrent programs can either be modeled as Pushdown Systems communicating solely using locks or can be reduced to such systems by applying standard abstract interpretation techniques or by exploiting separation of data from control. Moreover, standard programming practice guidelines typically recommend that programs use locks in a nested fashion, In fact, in languages like Java and C#, locks are guaranteed to be nested. For such a framework, we show, by using the new concept of Lock Constrained Multi-Automata Pair (LMAP), that pre*-closures of regular sets of states can be computed efficiently. This is accomplished by reducing the pre*-closure computation for a regular set of states of a concurrent program with nested locks to those for its individual threads. Leveraging this new technique then allows us to formulate a fully automatic, efficient and exact (sound and complete) decision procedure for model checking threads communicating via nested locks for indexed linear-time temporal logic formulae.
AB - In this paper, we propose a new technique for the verification of concurrent multi-threaded programs. In general, the problem is known to be undecidable even for programs with just two threads [I]. However, we exploit the observation that, in practice, a large fraction of concurrent programs can either be modeled as Pushdown Systems communicating solely using locks or can be reduced to such systems by applying standard abstract interpretation techniques or by exploiting separation of data from control. Moreover, standard programming practice guidelines typically recommend that programs use locks in a nested fashion, In fact, in languages like Java and C#, locks are guaranteed to be nested. For such a framework, we show, by using the new concept of Lock Constrained Multi-Automata Pair (LMAP), that pre*-closures of regular sets of states can be computed efficiently. This is accomplished by reducing the pre*-closure computation for a regular set of states of a concurrent program with nested locks to those for its individual threads. Leveraging this new technique then allows us to formulate a fully automatic, efficient and exact (sound and complete) decision procedure for model checking threads communicating via nested locks for indexed linear-time temporal logic formulae.
UR - http://www.scopus.com/inward/record.url?scp=34547344346&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=34547344346&partnerID=8YFLogxK
U2 - 10.1109/LICS.2006.11
DO - 10.1109/LICS.2006.11
M3 - Conference contribution
AN - SCOPUS:34547344346
SN - 0769526314
SN - 9780769526317
T3 - Proceedings - Symposium on Logic in Computer Science
SP - 101
EP - 110
BT - Proceedings - 21st Annual IEEE Symposium on Logic in Computer Science, LICS 2006
T2 - 21st Annual IEEE Symposium on Logic in Computer Science, LICS 2006
Y2 - 12 August 2006 through 15 August 2006
ER -