Towards a Scalable Framework for Context-Free Language Reachability

Context-Free Language Reachability (CFL-R) is a search problem to identify paths in an input labelled graph that form sentences in a given context-free language. CFL-R provides a fundamental formulation for many applications, including shape analysis, data and control flow analysis, program slicing, specification-inferencing and points-to analysis. Unfortunately, generic algorithms for CFL-R scale poorly with large instances, leading research to focus on ad-hoc optimisations for specific applications. Hence, there is the need for scalable algorithms which solve arbitrary CFL-R instances.

[1]  Raphael Yuster,et al.  Fast sparse matrix multiplication , 2004, TALG.

[2]  John Cocke,et al.  Programming languages and their compilers , 1969 .

[3]  Daniel H. Younger,et al.  Recognition and Parsing of Context-Free Languages in Time n^3 , 1967, Inf. Control..

[4]  Thomas W. Reps,et al.  Precise Interprocedural Dataflow Analysis with Applications to Constant Propagation , 1995, TAPSOFT.

[5]  Ben Hardekopf,et al.  The ant and the grasshopper: fast and accurate pointer analysis for millions of lines of code , 2007, PLDI '07.

[6]  Yannis Smaragdakis,et al.  Strictly declarative specification of sophisticated points-to analyses , 2009, OOPSLA.

[7]  Alexander Aiken,et al.  The set constraint/CFL reachability connection in practice , 2004, PLDI '04.

[8]  David A. McAllester,et al.  On the cubic bottleneck in subtyping and flow analysis , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[9]  Mihalis Yannakakis,et al.  Graph-theoretic methods in database theory , 1990, PODS.

[10]  Fred G. Gustavson,et al.  Two Fast Algorithms for Sparse Matrices: Multiplication and Permuted Transposition , 1978, TOMS.

[11]  Yi Lu,et al.  An Incremental Points-to Analysis with CFL-Reachability , 2013, CC.

[12]  Alexander Okhotin Fast Parsing for Boolean Grammars: A Generalization of Valiant's Algorithm , 2010, Developments in Language Theory.

[13]  David S. Wise,et al.  Experiments with Quadtree Representation of Matrices , 1988, ISSAC.

[14]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[15]  Thomas W. Reps,et al.  Interconvertibility of a class of set constraints and context-free-language reachability , 2000, Theor. Comput. Sci..

[16]  Richard M. Karp,et al.  On the Security of Ping-Pong Protocols , 1982, Inf. Control..

[17]  Hans Leiß,et al.  To CNF or not to CNF? An Efficient Yet Presentable Version of the CYK Algorithm , 2009, Informatica Didact..

[18]  Leslie G. Valiant,et al.  General Context-Free Recognition in Less than Cubic Time , 1975, J. Comput. Syst. Sci..

[19]  Thomas W. Reps,et al.  Precise Interprocedural Dataflow Analysis with Applications to Constant Propagation , 1995, TAPSOFT.

[20]  Swarat Chaudhuri,et al.  Subcubic algorithms for recursive state machines , 2008, POPL '08.

[21]  Zhendong Su,et al.  Fast algorithms for Dyck-CFL-reachability with applications to alias analysis , 2013, PLDI.

[22]  Thomas W. Reps,et al.  Program analysis via graph reachability , 1997, Inf. Softw. Technol..

[23]  Thomas W. Reps,et al.  Precise interprocedural dataflow analysis via graph reachability , 1995, POPL '95.

[24]  Patrick Th. Eugster,et al.  An Efficient Algorithm for Solving the Dyck-CFL Reachability Problem on Trees , 2009, ESOP.

[25]  Manu Sridharan,et al.  Demand-driven points-to analysis for Java , 2005, OOPSLA '05.

[26]  Don Coppersmith,et al.  Matrix multiplication via arithmetic progressions , 1987, STOC.

[27]  Thomas W. Reps,et al.  On the sequential nature of interprocedural program-analysis problems , 1996, Acta Informatica.

[28]  Olin Shivers,et al.  CFA2: A Context-Free Approach to Control-Flow Analysis , 2010, ESOP.

[29]  Keshav Pingali,et al.  A GPU implementation of inclusion-based points-to analysis , 2012, PPoPP '12.

[30]  Alexander Aiken,et al.  Specification Inference Using Context-Free Language Reachability , 2015, POPL.

[31]  Zhendong Su,et al.  Efficient subcubic alias analysis for C , 2014, OOPSLA 2014.

[32]  Serge Abiteboul,et al.  Foundations of Databases: The Logical Level , 1995 .

[33]  Xin Zheng,et al.  Demand-driven alias analysis for C , 2008, POPL '08.

[34]  Atanas Rountev,et al.  Demand-driven context-sensitive alias analysis for Java , 2011, ISSTA '11.

[35]  Tadao Kasami,et al.  An Efficient Recognition and Syntax-Analysis Algorithm for Context-Free Languages , 1965 .