Weighted Pushdown Systems and Weighted Transducers

Pushdown Systems (PDSs) are an important formalism for modeling programs. Reachability analysis on PDSs has been used extensively for program verification. A key result, which made PDSs popular in the model-checking community was that the set of reachable stack configurations starting from a regular set of configurations is also regular. A more general result was given by Caucal [7] who showed that a PDS’s reachability relation, which maps stack configurations to their reachable set of stack configurations, can be encoded using a finite-state transducer. In this paper, we generalize the result to weighted pushdown systems, which have proven to be very useful for model checking as well as dataflow analysis. The same algorithm provides an efficient construction of transducers for ordinary (unweighted) PDSs. We also give a direct saturation algorithm for constructing transducers for single-state PDSs.

[1]  Didier Caucal,et al.  On the Regular Structure of Prefix Rewriting , 1990, Theor. Comput. Sci..

[2]  Mehryar Mohri,et al.  Finite-State Transducers in Language and Speech Processing , 1997, CL.

[3]  Thomas W. Reps,et al.  Improving Pushdown System Model Checking , 2006, CAV.

[4]  Amir Pnueli,et al.  Symbolic model checking with rich assertional languages , 2001, Theor. Comput. Sci..

[5]  Akash Lal,et al.  Path Optimization in Programs and Its Application to Debugging , 2006, ESOP.

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

[7]  Helmut Seidl,et al.  Precise interprocedural analysis through linear algebra , 2004, POPL.

[8]  Gary A. Kildall,et al.  A unified approach to global program optimization , 1973, POPL.

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

[10]  Paul Anderson CodeSurfer/Path Inspector , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[11]  Tayssir Touili,et al.  A Generic Approach to the Static Analysis of Concurrent Programs with Procedures , 2003, Int. J. Found. Comput. Sci..

[12]  Fernando Pereira,et al.  Weighted Automata in Text and Speech Processing , 2005, ArXiv.

[13]  Mehryar Mohri,et al.  The Design Principles of a Weighted Finite-State Transducer Library , 2000, Theor. Comput. Sci..

[14]  Ahmed Bouajjani,et al.  Languages, Rewriting Systems, and Verification of Infinite-State Systems , 2001, ICALP.

[15]  Didier Caucal,et al.  On the transition graphs of automata and grammars , 1990, WG.

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

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

[18]  Pierre Wolper,et al.  Verifying Systems with Infinite but Regular State Spaces , 1998, CAV.

[19]  Chi-Hua Chen,et al.  Model Checking x86 Executables with CodeSurfer/x86 and WPDS++ , 2005, CAV.

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

[21]  Pierre Wolper,et al.  A direct symbolic approach to model checking pushdown systems , 1997, INFINITY.

[22]  Thomas W. Reps,et al.  Extended Weighted Pushdown Systems , 2005, CAV.

[23]  Marcus Nilsson,et al.  Regular Model Checking , 2000, CAV.

[24]  Pierre Wolper,et al.  An efficient automata approach to some problems on context-free grammars , 2000, Inf. Process. Lett..

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