Projects per year
Abstract / Description of output
Architecture specifications such as Armv8-A and RISC-V are the ultimate foundation for software verification and the correctness criteria for hardware verification. They should define the allowed sequential and relaxed-memory concurrency behaviour of programs, but hitherto there has been no integration of full-scale instruction-set architecture (ISA) semantics with axiomatic concurrency models, either in mathematics or in tools. These ISA semantics can be surprisingly large and intricate, e.g. 100k+ lines for Armv8-A.
In this paper we present a tool, Isla, for computing the allowed behaviours of concurrent litmus tests with respect to full-scale ISA definitions, in Sail, and arbitrary axiomatic relaxed-memory concurrency models, in the Cat language. It is based on a generic symbolic engine for Sail ISA specifications, which should be valuable also for other verification tasks. We equip the tool with a web interface to make it widely accessible, and illustrate and evaluate it for Armv8-A and RISC-V.
By using full-scale and authoritative ISA semantics, this lets one evaluate litmus tests using arbitrary user instructions with high confidence. Moreover, because these ISA specifications give detailed and validated definitions of the sequential aspects of systems functionality, as used by hypervisors and operating systems, e.g. instruction fetch, exceptions, and address translation, our tool provides a basis for developing concurrency semantics for these. We demonstrate this for the Armv8-A instruction-fetch model and self-modifying code examples of Simner et al.
In this paper we present a tool, Isla, for computing the allowed behaviours of concurrent litmus tests with respect to full-scale ISA definitions, in Sail, and arbitrary axiomatic relaxed-memory concurrency models, in the Cat language. It is based on a generic symbolic engine for Sail ISA specifications, which should be valuable also for other verification tasks. We equip the tool with a web interface to make it widely accessible, and illustrate and evaluate it for Armv8-A and RISC-V.
By using full-scale and authoritative ISA semantics, this lets one evaluate litmus tests using arbitrary user instructions with high confidence. Moreover, because these ISA specifications give detailed and validated definitions of the sequential aspects of systems functionality, as used by hypervisors and operating systems, e.g. instruction fetch, exceptions, and address translation, our tool provides a basis for developing concurrency semantics for these. We demonstrate this for the Armv8-A instruction-fetch model and self-modifying code examples of Simner et al.
Original language | English |
---|---|
Title of host publication | Proceedings of the 33rd International Conference on Computer-Aided Verification (CAV 2021) |
Publisher | Springer |
Pages | 303-316 |
Number of pages | 14 |
ISBN (Electronic) | 978-3-030-81685-8 |
ISBN (Print) | 978-3-030-81684-1 |
DOIs | |
Publication status | Published - 15 Jul 2021 |
Event | 33rd International Conference on Computer-Aided Verification - Online Duration: 18 Jul 2021 → 24 Jul 2021 http://i-cav.org/2021/ |
Publication series
Name | Lecture Notes in Computer Science |
---|---|
Publisher | Springer |
Volume | 12759 |
ISSN (Print) | 0302-9743 |
ISSN (Electronic) | 1611-3349 |
Conference
Conference | 33rd International Conference on Computer-Aided Verification |
---|---|
Abbreviated title | CAV 2021 |
Period | 18/07/21 → 24/07/21 |
Internet address |
Fingerprint
Dive into the research topics of 'Isla: Integrating full-scale ISA semantics andaxiomatic concurrency models'. Together they form a unique fingerprint.Projects
- 1 Finished
Research output
- 1 Article
-
Isla: Integrating full-scale ISA semantics and axiomatic concurrency models (extended version)
Armstrong, A., Campbell, B., Simner, B., Pulte, C. & Sewell, P., 12 May 2023, (E-pub ahead of print) In: Formal Methods in System Design. 30 p.Research output: Contribution to journal › Article › peer-review
Open AccessFile