Projecten per jaar
Samenvatting
Design-by-contract is a development best practice
that requires the interactions between software components to
be governed by precise specifications, called contracts. Contracts
often take the form of pre- and post-conditions on function
definitions, and are usually translated to (frequently redundant)
run-time checks. So-called soft contract verifiers have been
proposed to reduce the run-time overhead introduced by such
contract checks by verifying parts of the contracts ahead of
time, while leaving those that cannot be verified as residual runtime checks. In the state of the art, static analyses based on
the Abstracting Abstract Machines (AAM) approach to abstract
interpretation have been proposed for implementing such soft
verifiers. However, these approaches result in whole-program
analyses which are difficult to scale.
In this paper, we propose a scalable summary-based compositional analysis for soft contract verification, which summarises
both the correct behaviour and erroneous behaviour of all
functions in the program using symbolic path conditions. Information from these summaries propagates backwards through
the call graph, reducing the amount of redundant analysis
states and improving the overall performance of the analysis.
This backwards flow enables path constraints associated with
erroneous program states to flow to call sites where they can be
refuted, whereas in the state of the art they can only be refuted
using the information available at the original location of the
error.
To demonstrate our improvements in both precision and performance compared to the state-of-the-art, we implemented our
analysis in a framework called MAF (short for Modular Analysis
Framework) — a framework for the analysis of higher-order
dynamic programming languages. We conducted an empirical
study and found an average performance improvement of 21%,
and an average precision improvement of 38.15%.
that requires the interactions between software components to
be governed by precise specifications, called contracts. Contracts
often take the form of pre- and post-conditions on function
definitions, and are usually translated to (frequently redundant)
run-time checks. So-called soft contract verifiers have been
proposed to reduce the run-time overhead introduced by such
contract checks by verifying parts of the contracts ahead of
time, while leaving those that cannot be verified as residual runtime checks. In the state of the art, static analyses based on
the Abstracting Abstract Machines (AAM) approach to abstract
interpretation have been proposed for implementing such soft
verifiers. However, these approaches result in whole-program
analyses which are difficult to scale.
In this paper, we propose a scalable summary-based compositional analysis for soft contract verification, which summarises
both the correct behaviour and erroneous behaviour of all
functions in the program using symbolic path conditions. Information from these summaries propagates backwards through
the call graph, reducing the amount of redundant analysis
states and improving the overall performance of the analysis.
This backwards flow enables path constraints associated with
erroneous program states to flow to call sites where they can be
refuted, whereas in the state of the art they can only be refuted
using the information available at the original location of the
error.
To demonstrate our improvements in both precision and performance compared to the state-of-the-art, we implemented our
analysis in a framework called MAF (short for Modular Analysis
Framework) — a framework for the analysis of higher-order
dynamic programming languages. We conducted an empirical
study and found an average performance improvement of 21%,
and an average precision improvement of 38.15%.
Originele taal-2 | English |
---|---|
Titel | Proceedings - 2022 IEEE 22nd International Working Conference on Source Code Analysis and Manipulation, SCAM 2022 |
Subtitel | 2022 IEEE 22nd International Working Conference on Source Code Analysis and Manipulation (SCAM) |
Uitgeverij | IEEE |
Hoofdstuk | Static Analysis |
Pagina's | 186-196 |
Aantal pagina's | 11 |
Uitgave | 22 |
ISBN van elektronische versie | 978-1-6654-9609-4 |
DOI's | |
Status | Published - 2022 |
Evenement | 2022 IEEE 22nd International Working Conference on Source Code Analysis and Manipulation (SCAM) - Limassol, Cyprus Duur: 3 okt. 2022 → 4 okt. 2022 Congresnummer: 22 |
Publicatie series
Naam | Proceedings - 2022 IEEE 22nd International Working Conference on Source Code Analysis and Manipulation, SCAM 2022 |
---|
Conference
Conference | 2022 IEEE 22nd International Working Conference on Source Code Analysis and Manipulation (SCAM) |
---|---|
Verkorte titel | SCAM 2022 |
Land/Regio | Cyprus |
Stad | Limassol |
Periode | 3/10/22 → 4/10/22 |
Bibliografische nota
Funding Information:Partially funded by Research Foundation Flanders (FWO) (grant number 1187122N).
Publisher Copyright:
© 2022 IEEE.
Vingerafdruk
Duik in de onderzoeksthema's van 'Summary-Based Compositional Analysis for Soft Contract Verification'. Samen vormen ze een unieke vingerafdruk.Projecten
- 3 Actief
-
VLAAI2: Cybersecurity Onderzoeksprogramma Vlaanderen – tweede cyclus
De Meuter, W., Braeken, A., Devriese, D., Gonzalez Boix, E. & De Roover, C.
1/01/24 → 31/12/28
Project: Toegepast
-
FWOTM1089: Modulaire statische analyse voor de zachte verificatie van contracten in gedistribueerde actor programma's
Vandenbogaerde, B., De Roover, C. & Stiévenart, Q.
1/11/21 → 31/10/25
Project: Fundamenteel
-
SRP52: SRP-Onderzoekszwaartepunt: Foundations for Reliable Multi-Paradigm Network-Centric Programming
De Meuter, W., De Roover, C. & Gonzalez Boix, E.
1/03/19 → 29/02/28
Project: Fundamenteel
Datasets
-
Replication package for "Summary-Based Compositional Analysis for Soft Contract Verification"
Vandenbogaerde, B. (Creator), Stiévenart, Q. (Creator) & De Roover, C. (Creator), Zenodo, 26 aug. 2022
Dataset
Activiteiten
- 1 Talk or presentation at a conference
-
Summary-Based Compositional Analysis for Soft Contract Verification
Bram Vandenbogaerde (Speaker)
4 okt. 2022Activiteit: Talk or presentation at a conference
Prijzen
-
Best Artifact Award at SCAM 2022
Vandenbogaerde, Bram (Recipient), De Roover, Coen (Recipient) & Stiévenart, Quentin (Recipient), 12 okt. 2022
Prijs: Prize (including medals and awards)