2021
DOI: 10.1007/978-3-030-81685-8_14
|View full text |Cite
|
Sign up to set email alerts
|

Isla: Integrating Full-Scale ISA Semantics and Axiomatic Concurrency Models

Alasdair Armstrong,
Brian Campbell,
Ben Simner
et al.

Abstract: 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 … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2022
2022
2024
2024

Publication Types

Select...
3
2
1

Relationship

2
4

Authors

Journals

citations
Cited by 10 publications
(4 citation statements)
references
References 22 publications
0
4
0
Order By: Relevance
“…We reused the existing open-source Sail tooling and ASL-to-Sail translation [9,10] mostly as-is, with only minor improvements and some engineering work needed to handle Morello. In addition to the Isabelle definitions, we generate a C emulator for validation ( §6) using the Sail tool, and we reuse the Isla symbolic execution engine for Sail [10] to generate tests ( §7).…”
Section: Using Cheri In Softwarementioning
confidence: 99%
See 2 more Smart Citations
“…We reused the existing open-source Sail tooling and ASL-to-Sail translation [9,10] mostly as-is, with only minor improvements and some engineering work needed to handle Morello. In addition to the Isabelle definitions, we generate a C emulator for validation ( §6) using the Sail tool, and we reuse the Isla symbolic execution engine for Sail [10] to generate tests ( §7).…”
Section: Using Cheri In Softwarementioning
confidence: 99%
“…Instruction set specifications are good candidates for symbolic execution because the languages tend to be relatively simple and the number of paths for any given instruction is bounded. To build a test generator for Morello we were able to reuse the Isla symbolic execution tool, which was already being developed for work combining Sail ISAs with relaxed memory models [10].…”
Section: Model-based Test Generationmentioning
confidence: 99%
See 1 more Smart Citation
“…First, even just the sequential definition of Armv8-A address translation, with the page-table walk and its options, is remarkably intricate, defined in thousands of lines of Arm's ASL instruction description language. Manually reimplementing a simplified version would be error-prone and incomplete, so we instead build on our Isla tool [15], which integrates the full 123,000 line Armv8-A ISA semantics (as defined by Arm in ASL and automatically translated into Sail [14]), with SMT-based tooling to evaluate tests w.r.t. axiomatic concurrency models.…”
Section: Isla-based Model Evaluationmentioning
confidence: 99%