Published February 13, 2022 | Version CCEGAR-artifact-ICSE22-submission-ae-rev1.vm
Software Open

Reproduction Package (VM Version) for ICSE 2022 Article `Decomposing Software Verification into Off-the-Shelf Components: An Application to CEGAR'

  • 1. LMU Munich
  • 2. University of Oldenburg

Description

Decomposing Software Verification into Off-the-Shelf Components: An Application to CEGAR

Abstract: Tools for software verification are typically cohesive units of software with tightly coupled components. This makes it difficult to re-use components, and the potential for workload distribution is limited. Innovations in software verification might find their way into practice faster if provided in smaller, more specialized components.

In this paper, we propose to strictly decompose software verification: the verification task is split into independent subtasks, implemented by only loosely coupled components communicating via clearly defined interfaces. We apply this decomposition concept to one of the most frequently employed techniques in software verification: counterexample-guided abstraction refinement (CEGAR). CEGAR is a technique to iteratively compute an abstract model of the system. We develop a decomposition of CEGAR into independent components with clearly defined interfaces that are based on existing, standardized exchange formats.

We implement this component-based CEGAR (C-CEGAR) to investigate the feasibility of decomposition for verification. The decomposition concerns the three core tasks of CEGAR: abstract-model exploration, feasibility check, and precision refinement. We experimentally show that — despite the necessity of exchanging complex data via interfaces — the efficiency thereby only reduces by a small constant factor while the precision in solving verification tasks even increases. We furthermore illustrate the advantages of C-CEGAR by experimenting with different implementations of components, thereby further increasing the overall effectiveness and testing that substitution of components works well.

Contents

This archive provides data and tools to reproduce the results of the article. For ease of use, it provides a VirtualBox virtual machine. Inside the machine, we provide scripts and all information to reproduce the numbers and figures that are presented in our article.

The virtual machine was tested with 5 cores and 12 GB of memory. It requires about 20 GB of disk space.

After importing the Virtual Machine with the required resources and starting it, open file ~/Desktop/ICSE22AE_Decomposing_SoftwareVerification/README.html to get more instructions.

We strongly encourage use of the virtual machine or use of Ubuntu 20.04. Setup outside these two options may require knowledge about configuration of the Linux kernel (to enable CGroups v1).

Usage in docker containers is possible, but requires more additional setup. Because of this, we do not encourage it.

Files

CCEGAR-artifact-ICSE22-submission-ae-rev1.vm.zip

Files (12.2 GB)

Name Size Download all
md5:2e6fde1c3954550c85d63d8a36055d94
12.2 GB Preview Download