[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/1986308.1986314guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

VeriFast: a powerful, sound, predictable, fast verifier for C and java

Published: 18 April 2011 Publication History

Abstract

VeriFast is a prototype verification tool for single-threaded and multithreaded C and Java programs. In this paper, we first describe the basic symbolic execution approach in some formal detail. Then we zoom in on two technical aspects: the approach to permission accounting, including fractional permissions, precise predicates, and counting permissions; and the approach to lemma function termination in the presence of dynamically-bound lemma function calls. Finally, we describe three ongoing efforts: application to JavaCard programs, integration of shape analysis, and application to Linux device drivers.

References

[1]
Jacobs, B., Smans, J., Piessens, F.: A quick tour of the veriFast program verifier. In: Ueda, K. (ed.) APLAS 2010. LNCS, vol. 6461, pp. 304-311. Springer, Heidelberg (2010).
[2]
Jacobs, B., Smans, J., Piessens, F.: The VeriFast program verifier: A tutorial (2010), http://www.cs.kuleuven.be/~bartj/verifast/
[3]
Bornat, R., Calcagno, C., O'Hearn, P., Parkinson, M.: Permission accounting in separation logic. In: POPL (2005).
[4]
Jacobs, B., Piessens, F.: Expressive modular fine-grained concurrency specification. In: POPL (2011).
[5]
Distefano, D., O'Hearn, P.W., Yang, H.: A local shape analysis based on separation logic. In: Hermanns, H. (ed.) TACAS 2006. LNCS, vol. 3920, pp. 287-302. Springer, Heidelberg (2006).
[6]
Calcagno, C., Distefano, D., O'Hearn, P., Yang, H.: Compositional shape analysis by means of bi-abduction. In: POPL (2009).

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
NFM'11: Proceedings of the Third international conference on NASA Formal methods
April 2011
531 pages
ISBN:9783642203978

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 18 April 2011

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2019)A formally verified NAT stackACM SIGCOMM Computer Communication Review10.1145/3310165.331017648:5(77-83)Online publication date: 28-Jan-2019
  • (2019)Logic against ghostsProceedings of the 34th ACM/SIGAPP Symposium on Applied Computing10.1145/3297280.3297495(2186-2195)Online publication date: 8-Apr-2019
  • (2019)Structuring the synthesis of heap-manipulating programsProceedings of the ACM on Programming Languages10.1145/32903853:POPL(1-30)Online publication date: 2-Jan-2019
  • (2019)JaVerT 2.0: compositional symbolic execution for JavaScriptProceedings of the ACM on Programming Languages10.1145/32903793:POPL(1-31)Online publication date: 2-Jan-2019
  • (2019)CCSpecProceedings of the 27th International Conference on Program Comprehension10.1109/ICPC.2019.00041(220-230)Online publication date: 25-May-2019
  • (2018)Towards compilation of an imperative language for FPGAsProceedings of the 10th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages10.1145/3281287.3281291(47-56)Online publication date: 4-Nov-2018
  • (2018)RacerD: compositional static race detectionProceedings of the ACM on Programming Languages10.1145/32765142:OOPSLA(1-28)Online publication date: 24-Oct-2018
  • (2018)Securing Compilation Against Memory ProbingProceedings of the 13th Workshop on Programming Languages and Analysis for Security10.1145/3264820.3264822(29-40)Online publication date: 15-Oct-2018
  • (2018)Symbolic Execution for JavaScriptProceedings of the 20th International Symposium on Principles and Practice of Declarative Programming10.1145/3236950.3236956(1-14)Online publication date: 3-Sep-2018
  • (2018)An exercise in verifying sequential programs with VerCorsCompanion Proceedings for the ISSTA/ECOOP 2018 Workshops10.1145/3236454.3236479(40-45)Online publication date: 16-Jul-2018
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media