Repository logo
 

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

Accepted version
Peer-reviewed

Type

Conference Object

Change log

Authors

Armstrong, A 
Campbell, B 
Simner, B 
Pulte, C 

Abstract

jats:titleAbstract</jats:title>jats:pArchitecture 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.</jats:p>jats:p   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.</jats:p>jats:p   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 jats:italicsystems</jats:italic> 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.</jats:p>

Description

Keywords

4613 Theory Of Computation, 46 Information and Computing Sciences, 4612 Software Engineering

Journal Title

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

Conference Name

33rd International Conference on Computer-Aided Verification

Journal ISSN

0302-9743
1611-3349

Volume Title

12759 LNCS

Publisher

Springer International Publishing

Rights

All rights reserved
Sponsorship
Innovate UK (105694)
European Research Council (789108)
Engineering and Physical Sciences Research Council (EP/K008528/1)
This work was partially supported by the UK Government In- dustrial Strategy Challenge Fund (ISCF) under the Digital Security by Design (DSbD) Programme, to deliver a DSbDtech enabled digital platform (grant 105694), ERC AdG 789108 ELVER, EPSRC programme grant EP/K008528/1 REMS, an Arm iCASE award, Arm, and Google. Approved for public release; distribution is unlimited. This work was supported by the Defense Advanced Research Projects Agency (DARPA) and the Air Force Research Laboratory (AFRL), under contract FA8650-18-C-7809 (“CIFV”).