T. Ball, R. Majumdar, T. D. Millstein & S. K. Rajamani (2001):
Automatic Predicate Abstraction of C Programs.
In: PLDI'01,
pp. 203–213,
doi:10.1145/378795.378846.
J. Berdine, C. Calcagno, B. Cook, D. Distefano, P. O'Hearn, T. Wies & H. Yang (2007):
Shape Analysis for Composite Data Structures.
In: CAV'07,
pp. 178–192,
doi:10.1007/978-3-540-73368-3_22.
B. Blanchet, P. Cousot, R. Cousot, J. Feret, L. Mauborgne, A. Miné, D. Monniaux & X. Rival (2003):
A static analyzer for large safety-critical software.
In: PLDI'03,
pp. 196–207,
doi:10.1145/781131.781153.
F. Bourdoncle (1992):
Abstract Interpretation by Dynamic Partitioning.
Journal of Functional Programming 2(4),
pp. 407–423,
doi:10.1017/S0956796800000496.
B.-Y. E. Chang (2008):
End-User Program Analysis.
University of California, Berkeley.
B.-Y. E. Chang & R. Leino (2005):
Abstract Interpretation with Alien Expressions and Heap Structures.
In: VMCAI'05,
pp. 147–163,
doi:10.1007/978-3-540-30579-8_11.
B.-Y. E. Chang & X. Rival (2008):
Relational inductive shape analysis.
In: POPL'08,
pp. 247–260,
doi:10.1145/1328438.1328469.
B.-Y. E. Chang, X. Rival & G. Necula (2007):
Shape Analysis with Structural Invariant Checkers.
In: SAS'07,
pp. 384–401,
doi:10.1007/978-3-540-74061-2_24.
D. R. Chase, M. Wegman & F. K. Zadeck (1990):
Analysis of Pointers and Structures.
In: PLDI'90,
pp. 296–310,
doi:10.1145/93542.93585.
P. Cousot & R. Cousot (1977):
Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints.
In: POPL'77,
pp. 238–252,
doi:10.1145/512950.512973.
P. Cousot & R. Cousot (1979):
Systematic Design of Program Analysis Frameworks.
In: POPL'79,
pp. 269–282,
doi:10.1145/567752.567778.
P. Cousot & N. Halbwachs (1978):
Automatic discovery of linear restraints among variables of a program.
In: POPL'78,
pp. 84–97,
doi:10.1145/512760.512770.
I. Dillig, T. Dillig & A. Aiken (2011):
Precise reasoning for programs using containers.
In: POPL'11,
pp. 187–200,
doi:10.1145/1926385.1926407.
D. Distefano, P. O'Hearn & H. Yang (2006):
A Local Shape Analysis Based on Separation Logic.
In: TACAS'06,
pp. 287–302,
doi:10.1007/11691372_19.
D. Gopan, T. W. Reps & M. Sagiv (2005):
A framework for numeric analysis of array operations.
In: POPL'05,
pp. 338–350,
doi:10.1145/1040305.1040333.
S. Gulwani, B. McCloskey & A. Tiwari (2008):
Lifting abstract interpreters to quantified logical domains.
In: POPL'08,
pp. 235–246,
doi:10.1145/1328438.1328468.
N. Halbwachs & M. Péron (2008):
Discovering properties about arrays in simple programs.
In: PLDI'08,
pp. 339–348,
doi:10.1145/1375581.1375623.
T. A. Henzinger, R. Jhala, R. Majumdar & G. Sutre (2002):
Lazy abstraction.
In: POPL'02,
pp. 58–70,
doi:10.1145/503272.503279.
S. Horwitz, A. J. Demers & T. Teitelbaum (1987):
An Efficient General Iterative Algorithm for Dataflow Analysis.
Acta Informatica 24(6),
pp. 679–694,
doi:10.1007/BF00282621.
Springer.
B. Jeannet & A. Miné (2009):
Apron: A Library of Numerical Abstract Domains for Static Analysis.
In: CAV'09,
pp. 661–667,
doi:10.1007/978-3-642-02658-4_52.
N. Jones & S. Muchnick (1981):
Flow Analysis and Optimization of LISP-like Structures.
In: Program Flow Analysis: Theory and Applications, chapter 4.
Prentice-Hall,
pp. 102–131.
V. Laviron, B.-Y. E. Chang & X. Rival (2010):
Separating Shape Graphs.
In: ESOP'10,
pp. 387–406,
doi:10.1007/978-3-642-11957-6_21.
S. Magill, J. Berdine, E. Clarke & B. Cook (2007):
Arithmetic Strengthening for Shape Analysis.
In: SAS'07,
pp. 419–436,
doi:10.1007/978-3-540-74061-2_26.
S. Magill, M.-H. Tsai, P. Lee & Y.-K. Tsay (2010):
Automatic numeric abstractions for heap-manipulating programs.
In: POPL'10,
pp. 211–222,
doi:10.1145/1706299.1706326.
B. McCloskey, T. Reps & M. Sagiv (2010):
Statically Inferring Complex Heap, Array, and Numeric Invariants.
In: SAS'10,
pp. 71–99,
doi:10.1007/978-3-642-15769-1_6.
A. Milanova, A. Rountev & B. G. Ryder (2005):
Parameterized object sensitivity for points-to analysis for Java.
TOSEM 14(1),
pp. 1–41,
doi:10.1145/1044834.1044835.
J. Reynolds (2002):
Separation Logic: A Logic for Shared Mutable Data Structures.
In: LICS'02,
pp. 55–74,
doi:10.1109/LICS.2002.1029817.
X. Rival & B.-Y. E. Chang (2011):
Calling context abstraction with shapes.
In: POPL'11,
pp. 173–186,
doi:10.1145/1926385.1926406.
X. Rival & L. Mauborgne (2007):
The trace partitioning abstract domain.
ACM TOPLAS 29(5),
pp. 26–69,
doi:10.1145/1275497.1275501.
M. Sagiv, T. Reps & R. Wilhelm (2002):
Parametric shape analysis via 3-valued logic.
ACM TOPLAS 24(3),
pp. 217–298,
doi:10.1145/514188.514190.
M. Sagiv, T. W. Reps & R. Wilhelm (1998):
Solving Shape-Analysis Problems in Languages with Destructive Updating.
ACM TOPLAS 20(1),
pp. 1–50,
doi:10.1145/271510.271517.
D. A. Schmidt (1986):
Denotational semantics: a methodology for language development.
William C. Brown Publishers,
Dubuque, IA, USA.
D. A. Schmidt (2009):
Abstract Interpretation From a Denotational-semantics Perspective.
ENTCS 249,
pp. 19–37,
doi:10.1016/j.entcs.2009.07.082.
M. Sharir & A. Pnueli (1981):
Two approaches to interprocedural data flow analysis.
In: Program Flow Analysis: Theory and Applications, chapter 7.
Prentice-Hall,
pp. 189–233.
P. Sotin & X. Rival (2012):
Hierarchical Shape Abstraction of Dynamic Structures in Static Blocks.
In: APLAS'12,
pp. 131–147,
doi:10.1007/978-3-642-35182-2_10.
A. Toubhans, B.-Y. E. Chang & X. Rival (2013):
Reduced Product Combination of Abstract Domains for Shapes.
In: VMCAI'13,
pp. 375–395,
doi:10.1007/978-3-642-35873-9_23.
A. Venet (1996):
Abstract Cofibered Domains: Application to the Alias Analysis of Untyped Programs..
In: SAS'96,
pp. 366–382,
doi:10.1007/3-540-61739-6_53.