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

Lazy Abstraction for Higher-Order Program Verification

Published: 03 September 2018 Publication History

Abstract

This paper proposes a lazy abstraction algorithm for verification of functional programs. The feature of the lazy abstraction method is that the predicate abstraction and the model checking are fused, and that abstractions for unreachable configurations are pruned. We define an abstract semantics that characterizes the precision of the lazy abstraction algorithm, and prove the soundness of our verification method and the progress property of our abstraction refinement algorithm. We have implemented a prototype of our method, and confirmed through experiments that the total efficiency of verification is improved, compared with previous eager abstraction methods.

References

[1]
Broadbent, C.H., Carayol, A., Hague, M., Serre, O.: C-SHORe: a collapsible approach to higher-order verification. In: Proceedings of ICFP '13. pp. 13-24 (2013)
[2]
Broadbent, C.H., Kobayashi, N.: Saturation-based model checking of higher-order recursion schemes. In: Proceedings of CSL 2013. LIPIcs, vol. 23, pp. 129-148 (2013)
[3]
Champion, A., Chiba, T., Kobayashi, N., Sato, R.: Ice-based refinement type discovery for higher-order functional programs. In: Proceedings of TACAS '18 (To appear). LNCS, Springer (2018)
[4]
De Moura, L., Bjørner, N.: Z3: An efficient smt solver. In: Proceedings of TACAS '08. LNCS, vol. 4963, pp. 337--340. Springer (2008)
[5]
Henzinger, T.A., Jhala, R., Majumdar, R., Sutre, G.: Lazy abstraction. In: Proceedings of POPL. pp. 58--70. ACM (2002)
[6]
Kobayashi, N.: A practical linear time algorithm for trivial automata model checking of higher-order recursion schemes. In: Proceedings of FoSSaCS 2011. LNCS, vol. 6604, pp. 260--274. Springer (2011)
[7]
Kobayashi, N.: Model checking higher-order programs. Journal of the ACM 60(3) (2013)
[8]
Kobayashi, N.: HorSat2: A saturation-based higher-order model checker. A tool paper under submission. The tool is available at http://www-kb.is.s.u-tokyo.ac.jp/~koba/horsat2. (2015)
[9]
Kobayashi, N., Sato, R., Unno, H.: Predicate abstraction and CEGAR for higher-order model checking. In: Proceedings of PLDI '11. pp. 222--233. ACM (2011)
[10]
Neatherway, R.P., Ramsay, S.J., Ong, C.H.L.: A traversal-based algorithm for higher-order model checking. In: ACM SIGPLAN International Conference on Functional Programming (ICFP '12). pp. 353-364 (2012)
[11]
Ong, C.H.L.: On model-checking trees generated by higher-order recursion schemes. In: Proceedings of LICS '06. pp. 81--90. IEEE Computer Society Press (2006)
[12]
Ramsay, S.J., Neatherway, R.P., Ong, C.L.: A type-directed abstraction refinement approach to higher-order model checking. In: Proceedings of POPL '14. pp. 61--72. ACM (2014)
[13]
Rondon, P.M., Kawaguchi, M., Jhala, R.: Liquid types. In: PLDI 2008. pp. 159-169 (2008)
[14]
Sabry, A., Felleisen, M.: Reasoning about programs in continuation-passing style. LISP and Symbolic Computation 6(3), 289-360 (Nov 1993)
[15]
Sato, R., Unno, H., Kobayashi, N.: Towards a scalable software model checker for higher-order programs. In: Proceedings of PEPM '13. pp. 53--62. ACM (2013)
[16]
Shivers, O.: Control-Flow Analysis of Higher-Order Languages. Ph.D. thesis, Carnegie-Mellon University (May 1991)
[17]
Terao, T.: Lazy abstraction for higher-order program verification. http://www-kb.is.s.u-tokyo.ac.jp/~terao/papers/ppdp18.pdf (2018)
[18]
Terao, T., Tsukada, T., Kobayashi, N.: Higher-order model checking in direct style. In: Proceedings of APLAS '16. LNCS, vol. 10017, pp. 295--313. Springer (2016)
[19]
Terauchi, T.: Dependent types from counterexamples. In: Proceedings of POPL '10. pp. 119--130. ACM, New York, NY, USA (2010)
[20]
Unno, H., Kobayashi, N.: Dependent type inference with interpolants. In: Proceedings of PPDP '09. pp. 277--288. ACM, New York, NY, USA (2009)
[21]
Unno, H., Terauchi, T., Kobayashi, N.: Automating relatively complete verification of higher-order functional programs. In: Proceedings of POPL'13. pp. 75--86. ACM, New York, NY, USA (2013)

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PPDP '18: Proceedings of the 20th International Symposium on Principles and Practice of Declarative Programming
September 2018
306 pages
ISBN:9781450364416
DOI:10.1145/3236950
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]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 September 2018

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

Conference

PPDP '18

Acceptance Rates

PPDP '18 Paper Acceptance Rate 22 of 39 submissions, 56%;
Overall Acceptance Rate 230 of 486 submissions, 47%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 54
    Total Downloads
  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)1
Reflects downloads up to 22 Sep 2024

Other Metrics

Citations

Cited By

View all

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