skip to main content
10.1145/1250734.1250772acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article

Regularly annotated set constraints

Published:10 June 2007Publication History

ABSTRACT

A general class of program analyses area combination of context-free and regular language reachability. We define regularly annotated set constraints, a constraint formalism that captures this class. Our results extend the class of reachability problems expressible naturally in a single constraint formalism, including such diverse applications as interprocedural dataflow analysis, precise type-based flow analysis, and pushdown model checking.

References

  1. A. Aiken, M. Fähndrich, J. Foster, and Z. Su. A toolkit for constructing type- and constraint-based program analyses. In Proc. of the Second International Workshop on Types in Compilation, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Aiken, D. Kozen, M. Vardi, and E. Wimmers. The complexity of set constraints. In Proc. of the 7th Workshop on Computer Science Logic, pages 1--17. Springer-Verlag, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. R. Alur and P. Madhusudan. Visibly pushdown languages. In Proc. of the Symp. on Theory of Computing, pages 202--211, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. H. Chen, D. Dean, and D. Wagner. Model checking one million lines of C code. In Proc. of the 11th Annual Network and Distributed System Security Symp., pages 171--185, Feb4-6, 2004.Google ScholarGoogle Scholar
  5. H. Chen and D. Wagner. MOPS: An infrastructure for examining security properties of software. In Proc. of the 9th ACM Conf. on Computer and Communications Security, pages 235--244, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Fähndrich and A. Aiken. Program analysis using mixed term and set constraints. In Proc. of the 4th International Symp. on Static Analysis, pages 114--126. Springer-Verlag, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Fähndrich, J. Foster, Z. Su, and A. Aiken. Partial online cycle elimination in inclusion constraint graphs. In Proc. of the Conf. on Programming Language Design and Implementation, pages 85--96, June 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Fähndrich, J. Rehof, and M. Das. From polymorphic subtyping to cfl reachability: Context-sensitive flow analysis using instantiation constraints. Technical Report MSR-TR-99-84, Microsoft Research, 1999.Google ScholarGoogle Scholar
  9. J. Foster, M. Fähndrich, and A. Aiken. Polymorphic versus Monomorphic Flow-insensitive Points-to Analysis for C. In Proc. of the Static Analysis Symposium, pages 175--198, June 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. N. Heintze. Set Based Program Analysis. PhD dissertation, Carnegie Mellon University, Department of Computer Science, Oct. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. N. Heintze and O. Tardieu. Ultra-fast aliasing analysis using CLA: A million lines of c code in a second. In Proc. of the Conf. on Programming Language Design and Implementation, pages 254--263, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Horwitz, T. Reps, and M. Sagiv. Demand interprocedural dataflow analysis. In Proc. of the Symp. on Foundations of Software Engineering, pages 104--115. ACM Press, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. T. Jensen, D. L. Metayer, and T. Thorn. Verification of control flow based security properties. In Proc. of the 1999 IEEE Symp. on security and Privacy, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  14. J. Kodumal. Banshee: A toolkit for constructing constraint-based analyses. http://banshee.sourceforge.net, 2005.Google ScholarGoogle Scholar
  15. J. Kodumal and A. Aiken. The set constraint/CFL reachability connection in practice. In Proc. of the Conf. on Programming Language Design and Implementation, pages 207--218, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. Kodumal and A. Aiken. Banshee: A scalable constraint-based analysis toolkit. In Proc. of the 12th International Static Analysis Symposium, pages 218--234, Sept. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. O. Lhoták and L. Hendren. Jedd: A BDD-based relational extension of Java. In Proc. of the Conf. on Programming Language Design and Implementation, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Y. A. Liu, T. Rothamel, F. Yu, S. D. Stoller, and N. Hu. Parametric regular path queries. In Proc. of the Conf. on Programming Language Design and Implementation, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. A. Milanova and B. Ryder. Annotated inclusion constraints for precise flow analysis. In IEEE International Conf. on Software Maintenance, Sept. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. Palsberg. Efficient inference of object types. Information and Computation, (123):198--209, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. Rehof and M. Fähndrich. Type-based flow analysis: From polymorphic subtyping to CFL-reachability. In Proc. of the Symp. on Principles of Programming Languages, pages 54--66, Jan. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. T. Reps. Undecidability of context-sensitive data-dependence analysis. In ACM Trans. Prorgram. Lang. Syst., volume 22, pages 162--186, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. T. Reps, S. Horwitz, and M. Sagiv. Precise interprocedural dataflow analysis via graph reachability. In Proc. of the Symp. on Principles of Programming Languages, pages 49--61, Jan. 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. T. Reps, S. Schwoon, and S. Jha. Weighted pushdown systems and their application to interprocedural dataflow analysis. In Proc. 10th Int. Static Analysis Symp., pages 189--213, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. A. Rountev, A. Milanova, and B. Ryder. Points-to analysis for Java using annotated constraints. In Proc. of the Conf. on Object-Oriented Programming, Systems, Languages, and Applications, pages 43--55, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. M. Sridharan, D. Gopan, L. Shan, and R. Bodik. Demand-driven points-to analysis for Java. In Proc. of the Conf. on Object-Oriented Programs, Systems, Languages, and Applications, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Z. Su, M. Fähndrich, and A. Aiken. Projection merging: Reducing redundancies in inclusion constraint graphs. In Proc. of the Symp. on Principles of Programming Languages, pages 81--95, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. J. Whaley and M. Lam. Cloning-based context-sensitive pointer alias analysis using binary decision diagrams. In Proc. of the Conf. on Programming Language Design and Implementation, June 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Regularly annotated set constraints

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!