Abstract
Conditional pushdown systems (CPDSs) extend pushdown systems by associating each transition rule with a regular language over the stack alphabet. The goal is to model program verification problems that need to examine the runtime call stack of programs. Examples include security property checking of programs with stack inspection, compatibility checking of HTML5 parser specifications, etc. Esparza et al. proved that the reachability problem of CPDSs is EXPTIME-complete, which prevents the existence of an algorithm tractable for all instances in general. Driven by the practical applications of CPDSs, we study the reachability of patterned CPDS (pCPDS) that is a practically important subclass of CPDS, in which each transition rule carries a regular expression obeying certain patterns. First, we present new saturation algorithms for solving state and configuration reachability of pCPDSs. The algorithms exhibit the exponential-time complexity in the size of atomic patterns in the worst case. Next, we show that the reachability of pCPDSs carrying simple patterns is solvable in fixed-parameter polynomial time and space. This answers the question on whether there exist tractable reachability analysis algorithms of CPDSs tailored for those practical instances that admit efficient solutions such as stack inspection without exception handling. We have evaluated the proposed approach, and our experiments show that the pattern-driven algorithm steadily scales on pCPDSs with simple patterns.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Schwoon S. Model-checking pushdown systems [Ph.D. Thesis]. Department of Computer Science, Technische Universität München, 2002.
Suwimonteerabuth D, Berger F, Schwoon S, Esparza J. jMoped: A test environment for Java programs. In Proc. the 33rd International Conference on Computer-Aided Verification, July 2017, pp.164-167.
Ball T, Rajamani S K. The SLAM project: Debugging system software via static analysis. In Proc. the 29th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 2002, pp.1-3.
Reps T W, Schwoon S, Jha S, Melski D. Weighted pushdown systems and their application to interprocedural dataflow analysis. Sci. Comput. Program., 2005, 58(1/2): 206-263.
Song F, Touili T. PuMoC: A CTL model-checker for sequential programs. In Proc. the 27th IEEE/ACM International Conference on Automated Software Engineering, September 2012, pp.346-349.
Hague M, Ong C H L. Analysing mu-calculus properties of pushdown systems. In Proc. the 17th International SPIN Workshop on Model Checking Software, September 2010, pp.187-192.
Bouajjani A, Müller-Olm M, Touili T. Regular symbolic analysis of dynamic networks of pushdown systems. In Proc. the 16th International Conference on Concurrency Theory, August 2005, pp.473-487.
Cai X J, Ogawa M. Well-structured pushdown systems. In Proc. the 24th International Conference on Concurrency Theory, August 2013, pp.121-136.
Abdulla P A, Atig M F, Stenman J. Dense-timed pushdown automata. In Proc. the 27th Annual IEEE Symposium on Logic in Computer Science, June 2012, pp.35-44.
Abdulla P A, Atig M F, Stenman J. Computing optimal reachability costs in priced dense-timed pushdown automata. In Proc. the 8th International Conference Language and Automata Theory and Applications, March 2014, pp.62-75.
Esparza J, Kucera A, Schwoon S. Model-checking LTL with regular valuations for pushdown systems. In Proc. the 4th International Symposium on Theoretical Aspects of Computer Software, October 2001, pp.316-339.
Li X, Ogawa M. Conditional weighted pushdown systems and applications. In Proc. the 2010 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, January 2010, pp.141-150.
Minamide Y, Mori S. Reachability analysis of the HTML5 parser specification and its application to compatibility testing. In Proc. the 18th International Symposium on Formal Methods, August 2012, pp.293-307.
Johnson J I, Sergey I, Earl C, Might M, van Horn D. Pushdown flow analysis with abstract garbage collection. Journal of Functional Programming, 2014, 24(2/3): 218-283.
Nitta N, Takata Y, Seki H. An efficient security verification method for programs with stack inspection. In Proc. the 8th ACM Conference on Computer and Communications Security, November 2001, pp.68-77.
Shivers O G. Control-flow analysis of higher order languages or taming lambda [Ph.D. Thesis]. Carnegie Mellon University, 1991.
Bravenboer M, Smaragdakis Y. Strictly declarative specification of sophisticated points-to analyses. In Proc. the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, October 2009, pp.243-262.
Lhoták O, Hendren L. Context-sensitive points-to analysis: Is it worth it? In Proc. the 15th International Conference on Compiler Construction, March 2006, pp.47-64.
Thanh H V L, Li X. An on-the-fly algorithm for conditional weighted pushdown systems. Journal of Information Processing, 2014, 22(4): 1-7.
Uezato Y, Minamide Y. Pushdown systems with stack manipulation. In Proc. the 11th International Symposium on Automated Technology for Verification and Analysis, October 2013, pp.412-426.
Song F, Miao W K, Pu G G, Zhang M. On reachability analysis of pushdown systems with transductions: Application to Boolean programs with call-by-reference. In Proc. the 26th International Conference on Concurrency Theory, September 2015, pp.383-397.
Esparza J, Ganty P. Complexity of pattern-based verification for multithreaded programs. In Proc. the 38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 2011, pp.499-510.
Author information
Authors and Affiliations
Corresponding author
Supplementary Information
ESM 1
(PDF 192 kb)
Rights and permissions
About this article
Cite this article
Li, X., Gardy, P., Deng, YX. et al. Reachability of Patterned Conditional Pushdown Systems. J. Comput. Sci. Technol. 35, 1295–1311 (2020). https://doi.org/10.1007/s11390-020-0541-z
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11390-020-0541-z