Reachability in pushdown systems: algorithms and applications

This thesis analyzes reachability in generalized pushdown models, alternating pushdown systems and pushdown networks. A pushdown network can be used for modeling multithreaded programs. The reachability algorithms have been optimized and implemented in a tool called jMoped. Several practical experiments with jMoped are reported. Alternating pushdown systems are shown to be suitable models for authorization systems and reputation systems, where reasoning in the systems boils down to solving reachability in the models.

[1]  Stefan Schwoon,et al.  Model checking pushdown systems , 2002 .

[2]  Claudio Demartini,et al.  dSPIN: A Dynamic Extension of SPIN , 1999, SPIN.

[3]  Thierry Cachat Symbolic Strategy Synthesis for Games on Pushdown Graphs , 2002, ICALP.

[4]  Fritz Hohl,et al.  Nexus - an open global infrastructure for spatial-aware applications , 1999 .

[5]  Somesh Jha,et al.  Analysis of SPKI/SDSI certificates using model checking , 2002, Proceedings 15th IEEE Computer Security Foundations Workshop. CSFW-15.

[6]  Dinghao Wu,et al.  KISS: keep it simple and sequential , 2004, PLDI '04.

[7]  Javier Esparza,et al.  Model checking probabilistic pushdown automata , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[8]  Rajeev Alur,et al.  Analysis of recursive state machines , 2001, TOPL.

[9]  H. T. Kung,et al.  Concurrent manipulation of binary search trees , 1980, TODS.

[10]  Audun Jøsang,et al.  A survey of trust and reputation systems for online service provision , 2007, Decis. Support Syst..

[11]  Ronald L. Rivest,et al.  SDSI - A Simple Distributed Security Infrastructure , 1996 .

[12]  Sriram K. Rajamani,et al.  The SLAM project: debugging system software via static analysis , 2002, POPL '02.

[13]  Somesh Jha,et al.  On generalized authorization problems , 2003, 16th IEEE Computer Security Foundations Workshop, 2003. Proceedings..

[14]  Hector Garcia-Molina,et al.  The Eigentrust algorithm for reputation management in P2P networks , 2003, WWW '03.

[15]  J. Ortega Numerical Analysis: A Second Course , 1974 .

[16]  Somesh Jha,et al.  Model checking SPKI/SDSI , 2004, J. Comput. Secur..

[17]  Matthew B. Dwyer,et al.  Bogor: an extensible and highly-modular software model checking framework , 2003, ESEC/FSE-11.

[18]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic , 2008, 25 Years of Model Checking.

[19]  Klaus Havelund,et al.  Java PathFinder, A Translator from Java to Promela , 1999, SPIN.

[20]  Javier Esparza,et al.  Reachability Analysis of Pushdown Automata: Application to Model-Checking , 1997, CONCUR.

[21]  Ninghui Li,et al.  Distributed Credential Chain Discovery in Trust Management , 2003, J. Comput. Secur..

[22]  Bernhard Steffen,et al.  Model Checking for Context-Free Processes , 1992, CONCUR.

[23]  Javier Esparza,et al.  Reachability Analysis of Multithreaded Software with Asynchronous Communication , 2005, FSTTCS.

[24]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[25]  Rajeev Motwani,et al.  The PageRank Citation Ranking : Bringing Order to the Web , 1999, WWW 1999.

[26]  Jakob Rehof,et al.  Context-Bounded Model Checking of Concurrent Software , 2005, TACAS.

[27]  Mark Allen Weiss,et al.  Data structures and algorithm analysis in C , 1991 .

[28]  Klaus Havelund,et al.  Model Checking Programs , 2004, Automated Software Engineering.

[29]  Javier Esparza,et al.  A BDD-Based Model Checker for Recursive Programs , 2001, CAV.

[30]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[31]  Thomas A. Henzinger,et al.  The software model checker B last : Applications to software engineering , 2007 .

[32]  J. E. Hirsch,et al.  An index to quantify an individual's scientific research output , 2005, Proc. Natl. Acad. Sci. USA.

[33]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[34]  G. Ramalingam,et al.  Context-sensitive synchronization-sensitive analysis is undecidable , 2000, TOPL.

[35]  H. Andersen An Introduction to Binary Decision Diagrams , 1997 .

[36]  Javier Esparza,et al.  Abstraction Refinement with Craig Interpolation and Symbolic Pushdown Systems , 2006, J. Satisf. Boolean Model. Comput..

[37]  Hao Wang,et al.  Weighted Pushdown Systems and Trust-Management Systems , 2006, TACAS.

[38]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[39]  Clifford A. Shaffer Data Structures and Algorithm Analysis in Java , 2011 .

[40]  Scott D. Stoller,et al.  Runtime analysis of atomicity for multithreaded programs , 2006, IEEE Transactions on Software Engineering.

[41]  Javier Esparza,et al.  Efficient Algorithms for Alternating Pushdown Systems with an Application to the Computation of Certificate Chains , 2006, ATVA.

[42]  Somesh Jha,et al.  Weighted pushdown systems and their application to interprocedural dataflow analysis , 2003, Sci. Comput. Program..

[43]  Javier Esparza,et al.  Efficient Algorithms for Model Checking Pushdown Systems , 2000, CAV.

[44]  Michael Benedikt,et al.  Model Checking of Unrestricted Hierarchical State Machines , 2001, ICALP.

[45]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[46]  James C. Corbett,et al.  Bandera: extracting finite-state models from Java source code , 2000, ICSE.

[47]  Ronald L. Rivest,et al.  Certificate Chain Discovery in SPKI/SDSI , 2002, J. Comput. Secur..

[48]  Sagar Chaki,et al.  Verifying Concurrent Message-Passing C Programs with Recursive Calls , 2006, TACAS.

[49]  Gerard J. Holzmann,et al.  Logic Verification of ANSI-C Code with SPIN , 2000, SPIN.

[50]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .