Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2370776.2370784acmotherconferencesArticle/Chapter ViewAbstractPublication PagesppdpConference Proceedingsconference-collections
research-article

Layered fixed point logic

Published: 19 September 2012 Publication History

Abstract

We present a logic for the specification of static analysis problems that goes beyond the logics traditionally used. Its most prominent feature is the direct support for both inductive computations of behaviors as well as co-inductive specifications of properties. Two main theoretical contributions are a Moore Family result and a parametrized worst case time complexity result. We show that the logic and the associated solver can be used for rapid prototyping of analyses and illustrate a wide variety of applications within Static Analysis, Constraint Satisfaction Problems and Model Checking. In all cases the complexity result specializes to the worst case time complexity of the classical methods.

References

[1]
K. R. Apt, H. A. Blair, and A. Walker. Towards a theory of declarative knowledge. In Foundations of Deductive Databases and Logic Programming., pages 89--148. Morgan Kaufmann, 1988. ISBN 0-934613-40-0.
[2]
C. Baier and J.-P. Katoen. Principles of Model Checking(Representation and Mind Series). The MIT Press, 2008. ISBN 026202649X, 9780262026499.
[3]
C. Bodei, M. Buchholtz, P. Degano, F. Nielson, and H. R. Nielson. Static validation of security protocols. Journal of Computer Security, 13(3):347--390, 2005.
[4]
M. Bravenboer and Y. Smaragdakis. Strictly declarative specification of sophisticated points-to analyses. In S. Arora and G. T. Leavens, editors, OOPSLA, pages 243--262. ACM, 2009. ISBN 978-1-60558-766-0.
[5]
R. E. Bryant. Symbolic boolean manipulation with ordered binarydecision diagrams. ACM Comput. Surv., 24(3):293--318, 1992.
[6]
A. K. Chandra and D. Harel. Computable queries for relational data bases. J. Comput. Syst. Sci., 21(2):156--178, 1980.
[7]
W. Charatonik and A. Podelski. Set-based analysis of reactive infinitestate systems. In B. Steffen, editor, TACAS, volume 1384 of Lecture Notes in Computer Science, pages 358--375. Springer, 1998. ISBN 3-540-64356-7.
[8]
E. M. Clarke and E. A. Emerson. Design and synthesis of synchronization skeletons using branching-time temporal logic. In D. Kozen, editor, Logic of Programs, volume 131 of Lecture Notes in Computer Science, pages 52--71. Springer, 1981. ISBN 3-540-11212-X.
[9]
P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In POPL, pages 238--252, 1977.
[10]
P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In POPL, pages 269--282, 1979.
[11]
S. Dawson, C. R. Ramakrishnan, and D. S.Warren. Practical program analysis using general purpose logic programming systems - a case study. In C. N. Fischer, editor, PLDI, pages 117--126. ACM, 1996. ISBN 0-89791-795-2.
[12]
G. Delzanno and A. Podelski. Model checking in clp. In R. Cleaveland, editor, TACAS, volume 1579 of Lecture Notes in Computer Science, pages 223--239. Springer, 1999. ISBN 3-540-65703-7.
[13]
W. F. Dowling and J. H. Gallier. Linear-time algorithms for testing the satisfiability of propositional horn formulae. J. Log. Program., 1(3): 267--284, 1984.
[14]
P. Filipiuk. Succinct Approach to Static Analysis and Model Checking. PhD thesis, Technical University of Denmark, 2012.
[15]
P. Filipiuk, H. R. Nielson, and F. Nielson. Explicit versus symbolic algorithms for solving ALFP constraints. Electr. Notes Theor. Comput. Sci., 267(2):15--28, 2010.
[16]
M. S. Hecht. Flow Analysis of Computer Programs. North Holland, 1977.
[17]
E. M. C. (Jr.), O. Grumberg, and D. A. Peled. Model Checking. MIT Press, 1999.
[18]
J. B. Kam and J. D. Ullman. Monotone data flow analysis frameworks. Acta Inf., 7:305--317, 1977.
[19]
G. A. Kildall. A unified approach to global program optimization. In POPL, pages 194--206, 1973.
[20]
D. Kozen. Results on the propositional mu-calculus. Theor. Comput. Sci., 27:333--354, 1983.
[21]
M. S. Lam, J. Whaley, V. B. Livshits, M. C. Martin, D. Avots, M. Carbin, and C. Unkel. Context-sensitive program analysis as database queries. In C. Li, editor, PODS, pages 1--12. ACM, 2005. ISBN 1-59593-062-0.
[22]
L. Lamport. A new solution of Dijkstra's concurrent programming problem. Commun. ACM, 17(8):453--455, 1974.
[23]
O. Lhoták and L. J. Hendren. Evaluating the benefits of contextsensitive points-to analysis using a BDD-based implementation. ACM Trans. Softw. Eng. Methodol., 18(1), 2008.
[24]
J. Lind-Nielsen. Buddy, a binary decision diagram package. URL http://sourceforge.net/projects/buddy/.
[25]
A. K. Mackworth. Consistency in networks of relations. Artif. Intell., 8(1):99--118, 1977.
[26]
D. A. McAllester. On the complexity analysis of static analyses. J. ACM, 49(4):512--537, 2002.
[27]
F. Nielson and H. R. Nielson. Model checking is static analysis of modal logic. In C.-H. L. Ong, editor, FOSSACS, volume 6014 of Lecture Notes in Computer Science, pages 191--205. Springer, 2010. ISBN 978-3-642-12031-2.
[28]
F. Nielson, H. R. Nielson, and C. Hankin. Principles of Program Analysis. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 1999. ISBN 3540654100.
[29]
F. Nielson, H. Seidl, and H. R. Nielson. A Succinct Solver for ALFP. Nord. J. Comput., 9(4):335--372, 2002.
[30]
W. Pugh and C. Chambers, editors. Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation 2004, Washington, DC, USA, June 9-11, 2004, 2004. ACM. ISBN 1-58113-807-5.
[31]
Y. S. Ramakrishna, C. R. Ramakrishnan, I. V. Ramakrishnan, S. A. Smolka, T. Swift, and D. S. Warren. Efficient model checking using tabled resolution. In O. Grumberg, editor, CAV, volume 1254 of Lecture Notes in Computer Science, pages 143--154. Springer, 1997. ISBN 3-540-63166-6.
[32]
C. R. Ramakrishnan, I. V. Ramakrishnan, S. A. Smolka, Y. Dong, X. Du, A. Roychoudhury, and V. N. Venkatakrishnan. Xmc: A logicprogramming-based verification toolset. In E. A. Emerson and A. P. Sistla, editors, CAV, volume 1855 of Lecture Notes in Computer Science, pages 576--580. Springer, 2000. ISBN 3-540-67770-4.
[33]
T. W. Reps. Demand interprocedural program analysis using logic databases. In Workshop on Programming with Logic Databases (Book), ILPS, pages 163--196, 1993.
[34]
T. W. Reps. Program analysis via graph reachability. Information & Software Technology, 40(11--12):701--726, 1998.
[35]
J. D. Ullman. Bottom-Up Beats Top-Down for Datalog. In A. Silberschatz, editor, PODS, pages 140--149. ACM Press, 1989. ISBN 0-89791-308-6.
[36]
R. J. Wallace. Why AC-3 is almost always better than AC4 for establishing arc consistency in csps. In IJCAI, pages 239--247, 1993.
[37]
J. Whaley and M. S. Lam. Cloning-based context-sensitive pointer alias analysis using binary decision diagrams. In Pugh and Chambers, pages 131--144. ISBN 1-58113-807-5.
[38]
J. Whaley and M. S. Lam. Cloning-based context-sensitive pointer alias analysis using binary decision diagrams. In Pugh and Chambers, pages 131--144. ISBN 1-58113-807-5.
[39]
J. Whaley, D. Avots, M. Carbin, and M. S. Lam. Using Datalog with Binary Decision Diagrams for Program Analysis. In K. Yi, editor, APLAS, volume 3780 of Lecture Notes in Computer Science, pages 97--118. Springer, 2005. ISBN 3-540-29735-9.
[40]
Y. Zhang and R. H. C. Yap. Making AC-3 an optimal algorithm. In B. Nebel, editor, IJCAI, pages 316--321. Morgan Kaufmann, 2001. ISBN 1-55860-777-3.

Cited By

View all
  • (2015)Static Analysis of Parity GamesEssays Dedicated to Hanne Riis Nielson and Flemming Nielson on the Occasion of Their 60th Birthdays on Semantics, Logics, and Calculi - Volume 956010.1007/978-3-319-27810-0_8(159-177)Online publication date: 1-Oct-2015

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PPDP '12: Proceedings of the 14th symposium on Principles and practice of declarative programming
September 2012
226 pages
ISBN:9781450315227
DOI:10.1145/2370776
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

  • Kuleuven Belgium: Kuleuven Belgium

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 September 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. abstract interpretation
  2. model checking
  3. static analysis

Qualifiers

  • Research-article

Conference

PPDP'12
Sponsor:
  • Kuleuven Belgium

Acceptance Rates

Overall Acceptance Rate 230 of 486 submissions, 47%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)1
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2015)Static Analysis of Parity GamesEssays Dedicated to Hanne Riis Nielson and Flemming Nielson on the Occasion of Their 60th Birthdays on Semantics, Logics, and Calculi - Volume 956010.1007/978-3-319-27810-0_8(159-177)Online publication date: 1-Oct-2015

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media