Summary-Based Context-Sensitive Data-Dependence Analysis in Presence of Callbacks

Building a summary for library code is a common approach to speeding up the analysis of client code. In presence of callbacks, some reachability relationships between library nodes cannot be obtained during library-code summarization. Thus, the library code may have to be analyzed again during the analysis of the client code with the library summary. In this paper, we propose to summarize library code with tree-adjoining-language (TAL) reachability. Compared with the summary built with context-free-language (CFL) reachability, the summary built with TAL reachability further contains conditional reachability relationships. The conditional reachability relationships can lead to much lighter analysis of the library code during the client code analysis with the TAL-reachability-based library summary. We also performed an experimental comparison of context-sensitive data-dependence analysis with the TAL-reachability-based library summary and context-sensitive data-dependence analysis with the CFL-reachability-based library summary using 15 benchmark subjects. Our experimental results demonstrate that the former has an 8X speed-up over the latter on average.

[1]  Eran Yahav,et al.  Modular Shape Analysis for Dynamically Encapsulated Programs , 2007, ESOP.

[2]  Changxu Wu,et al.  A computational cognition model of perception, memory, and judgment , 2014, Science China Information Sciences.

[3]  Alexander Aiken,et al.  Regularly annotated set constraints , 2007, PLDI '07.

[4]  Xin Zhang,et al.  Hybrid top-down and bottom-up interprocedural analysis , 2014, PLDI.

[5]  Thomas W. Reps,et al.  Speeding up slicing , 1994, SIGSOFT '94.

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

[7]  Michael Hicks,et al.  Existential Label Flow Inference Via CFL Reachability , 2006, SAS.

[8]  Vikram S. Adve,et al.  Making context-sensitive points-to analysis with heap cloning practical for the real world , 2007, PLDI '07.

[9]  Jeffrey S. Foster,et al.  LOCKSMITH: context-sensitive correlation analysis for race detection , 2006, PLDI '06.

[10]  Sorin Lerner,et al.  Staged information flow for javascript , 2009, PLDI '09.

[11]  Manu Sridharan,et al.  Refinement-based context-sensitive points-to analysis for Java , 2006, PLDI '06.

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

[13]  Yuming Zhou,et al.  Identifying extract class refactoring opportunities for internetware , 2014, Science China Information Sciences.

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

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

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

[17]  Atanas Rountev,et al.  Interprocedural Dataflow Analysis in the Presence of Large Libraries , 2006, CC.

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

[19]  Nikolaj Bjørner,et al.  Property-Directed Shape Analysis , 2014, CAV.

[20]  Ravichandhran Madhavan,et al.  Modular Heap Analysis for Higher-Order Programs , 2012, SAS.

[21]  Mark Steedman,et al.  Combinators and Grammars , 1988 .

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

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

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

[25]  Thomas W. Reps,et al.  Shape analysis as a generalized path problem , 1995, PEPM '95.

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

[27]  Jakob Rehof,et al.  Type-base flow analysis: from polymorphic subtyping to CFL-reachability , 2001, POPL '01.

[28]  Tao Xie,et al.  Cooperative Software Testing and Analysis: Advances and Challenges , 2014, Journal of Computer Science and Technology.

[29]  Christian Retoré,et al.  Extending Lambek Grammars: a Logical Account of Minimalist Grammars , 2001, ACL.

[30]  Manu Sridharan,et al.  Scaling CFL-Reachability-Based Points-To Analysis Using Context-Sensitive Must-Not-Alias Analysis , 2009, ECOOP.

[31]  Gerald Gazdar,et al.  Applicability of Indexed Grammars to Natural Languages , 1988 .

[32]  David J. Weir,et al.  The equivalence of four extensions of context-free grammars , 1994, Mathematical systems theory.

[33]  Isil Dillig,et al.  Precise and compact modular procedure summaries for heap manipulating programs , 2011, PLDI '11.

[34]  Carl Jesse Pollard,et al.  Generalized phrase structure grammars, head grammars, and natural language , 1984 .

[35]  Noam Rinetzky,et al.  Field-sensitive program dependence analysis , 2010, FSE '10.

[36]  Atanas Rountev,et al.  Merging equivalent contexts for scalable heap-cloning-based context-sensitive points-to analysis , 2008, ISSTA '08.

[37]  Aravind K. Joshi,et al.  Tree Adjunct Grammars , 1975, J. Comput. Syst. Sci..

[38]  David J. Weir,et al.  Characterizing mildly context-sensitive grammar formalisms , 1988 .

[39]  David A. Padua,et al.  Dependence graphs and compiler optimizations , 1981, POPL '81.

[40]  Raghavan Komondoor,et al.  Recovering Data Models via Guarded Dependences , 2007, 14th Working Conference on Reverse Engineering (WCRE 2007).

[41]  K. Vijay-Shanker,et al.  Deterministic Left to Right Parsing of Tree Adjoining Languages , 1990, ACL.

[42]  Robert S. Arnold,et al.  Software Change Impact Analysis , 1996 .

[43]  Thomas W. Reps,et al.  Undecidability of context-sensitive data-dependence analysis , 2000, TOPL.

[44]  Thomas W. Reps,et al.  Demand interprocedural dataflow analysis , 1995, SIGSOFT FSE.

[45]  Alexander Aiken,et al.  Conditional must not aliasing for static race detection , 2007, POPL '07.

[46]  Zhong Chen,et al.  Automated enforcement for relaxed information release with reference points , 2014, Science China Information Sciences.