Filters








49 Hits in 3.0 sec

PerSeVerE: Persistency Semantics for Verification under Ext4 [article]

Michalis Kokologiannakis, Ilya Kaysin, Azalea Raad, Viktor Vafeiadis
2020 Zenodo  
This is the artifact accompanying the paper "PerSeVerE: Persistency Semantics for Verification under Ext4" which is conditionally accepted in POPL'21. We consider our paper's artifact to be the set of benchmarks we used in the paper, as well as the results we got by running a particular version of Persevere (and its naive counterparts) on the benchmarks set. We do not consider the artifact of the paper to be Persevere itself, as it will evolve over time, and the results obtained by running the
more » ... ned by running the same benchmarks may differ in the future. We have made Persevere publicly available on \href{https://github.com/MPI-SWS/genmc}{GitHub}, as part of the GenMC tool. For any bugs, comments, or feedback regarding Persevere, please do not hesitate to contact us.
doi:10.5281/zenodo.4123035 fatcat:2xneam53yre2fksieeq2vucj7i

PerSeVerE: Persistency Semantics for Verification under Ext4 [article]

Michalis Kokologiannakis, Ilya Kaysin, Azalea Raad, Viktor Vafeiadis
2020 Zenodo  
This is the artifact accompanying the paper "PerSeVerE: Persistency Semantics for Verification under Ext4" which is conditionally accepted in POPL'21. We consider our paper's artifact to be the set of benchmarks we used in the paper, as well as the results we got by running a particular version of Persevere (and its naive counterparts) on the benchmarks set. We do not consider the artifact of the paper to be Persevere itself, as it will evolve over time, and the results obtained by running the
more » ... ned by running the same benchmarks may differ in the future. We have made Persevere publicly available on \href{https://github.com/MPI-SWS/genmc}{GitHub}, as part of the GenMC tool. For any bugs, comments, or feedback regarding Persevere, please do not hesitate to contact us.
doi:10.5281/zenodo.4067992 fatcat:dxwnhudnszct5aty7migk6knyq

On the Semantics of Snapshot Isolation [article]

Azalea Raad, Ori Lahav, Viktor Vafeiadis
2018 arXiv   pre-print
Raad, A., Lahav, O., Vafeiadis, V.: On parallel snapshot isolation and release/acquire consistency. In: Proceedings of the 27th European Symposium on Programming (2018), to appear 31.  ... 
arXiv:1805.06196v2 fatcat:nplgds3yf5esvob2qwsw6vp73m

CoLoSL: Concurrent Local Subjective Logic [chapter]

Azalea Raad, Jules Villard, Philippa Gardner
2015 Lecture Notes in Computer Science  
A key difficulty in verifying shared-memory concurrent programs is reasoning compositionally about each thread in isolation. Existing verification techniques for fine-grained concurrency typically require reasoning about either the entire shared state or disjoint parts of the shared state, impeding compositionality. This paper introduces the program logic CoLoSL, where each thread is verified with respect to its subjective view of the global shared state. This subjective view describes only
more » ... describes only that part of the state accessed by the thread. Subjective views may arbitrarily overlap with each other, and expand and contract depending on the resource required by the thread. This flexibility gives rise to small specifications and, hence, more compositional reasoning for concurrent programs. We demonstrate our reasoning on a range of examples, including a concurrent computation of a spanning tree of a graph. The final publication is available at Springer via http://dx.
doi:10.1007/978-3-662-46669-8_29 fatcat:ytlhxsuri5e25fgb6emcbqhylq

Verifying Concurrent Graph Algorithms [chapter]

Azalea Raad, Aquinas Hobor, Jules Villard, Philippa Gardner
2016 Lecture Notes in Computer Science  
Raad et al. [12] and Sergey et al. [14] have verified a concurrent spanning tree algorithm, one of our examples.  ...  In [12] , Raad et al. introduced CoLoSL and gave a shapedbased proof of spanning tree to demonstrate CoLoSL reasoning.  ... 
doi:10.1007/978-3-319-47958-3_17 fatcat:dy5quok2tffjvc55vznchnk4x4

DOM: Specification and Client Reasoning [chapter]

Azalea Raad, José Fragoso Santos, Philippa Gardner
2016 Lecture Notes in Computer Science  
We present an axiomatic specification of a key fragment of DOM using structural separation logic. This specification allows us to develop modular reasoning about client programs that call the DOM. Introduction The behaviour of JavaScript programs executed in the browser is complex. Such programs manipulate a heap maintained by the browser and call a wide range of APIs via specific objects in this heap. The most notable of these is the Document Object Model (DOM) API and the DOM document object,
more » ... OM document object, which are used to represent and manipulate the web page. JavaScript programs must run uniformly across all browsers. As such, the English standards of JavaScript and DOM are rather rigorous and are followed closely by browser vendors. While there has been work on formal specifications of JavaScript [14] , including mechanised specifications [4] , and some work on the formal specification of DOM [9,22] and on the verification of JavaScript programs [7], we are not aware of any work on the verification of JavaScript programs that call the DOM. The W3C DOM standard [1] describes an XML update library used by all browsers. This English standard is written in an axiomatic style that lends itself well to formalisation. The first formal axiomatic DOM specification has been given in [9, 22] , using context logic (CL) [6,5], which extends ideas from separation logic (SL) [19] to complex data structures. However, this work has several shortcomings. First, it is not simple to integrate SL reasoning about e.g. C [19], Java [16] and JavaScript [7] with the DOM specifications in CL. The work in [9, 22] explores the verification of simple client programs manipulating a variable store and calling the DOM. It does not verify clients manipulating a standard program heap. Second, this specification does not always allow compositional client-side reasoning. Finally, this specification makes simplifying choices (e.g. with live collections), and does not always remain faithful to the standard. We present a faithful axiomatic specification of a key fragment of the DOM and verify substantial client programs, using structural separation logic (SSL) introduced in [25, 8] . SSL provides fine-grained reasoning about complex data structures. The SSL assertion language contains the commutative separating conjunction ( * ), as in SL, that serves to split the DOM tree into smaller subtrees. By contrast, the CL assertion language contains the non-commutative separating application (•), that splits the DOM tree into a tree context with a hole applied to a partial DOM tree. These two operators are not compatible with each other.
doi:10.1007/978-3-319-47958-3_21 fatcat:ocusdzvru5dedc6237qajh44um

Ludic Considerations of Tablet-Based Evo-Art [chapter]

Simon Colton, Michael Cook, Azalea Raad
2011 Lecture Notes in Computer Science  
With the introduction of the iPad and similar devices, there is a unique opportunity to build tablet-based evolutionary art software for general consumption, and we describe here the i-ELVIRA iPad application for such purposes. To increase the ludic enjoyment users have with i-ELVIRA, we designed a GUI which gives the user a higher level of control and more efficient feedback than usual for desktop evo-art software. This relies on the efficient delivery of crossover and mutation images which
more » ... ion images which bear an appropriate amount of resemblance to their parent(s). This requirement in turn led to technical difficulties which we resolved via the implementation and experimentation described here.
doi:10.1007/978-3-642-20520-0_23 fatcat:eciubrx5ajborckah6ahkgia4m

On Parallel Snapshot Isolation and Release/Acquire Consistency [chapter]

Azalea Raad, Ori Lahav, Viktor Vafeiadis
2018 Lecture Notes in Computer Science  
Parallel snapshot isolation (PSI) is a standard transactional consistency model used in databases and distributed systems. We argue that PSI is also a useful formal model for software transactional memory (STM) as it has certain advantages over other consistency models. However, the formal PSI definition is given declaratively by acyclicity axioms, which most programmers find hard to understand and reason about. To address this, we develop a simple lock-based reference implementation for PSI
more » ... entation for PSI built on top of the release-acquire memory model, a wellbehaved subset of the C/C++11 memory model. We prove that our implementation is sound and complete against its higher-level declarative specification. We further consider an extension of PSI allowing transactional and non-transactional code to interact, and provide a sound and complete reference implementation for the more general setting. Supporting this interaction is necessary for adopting a transactional model in programming languages.
doi:10.1007/978-3-319-89884-1_33 fatcat:ia6xooxlvzchtgqoexwlwobn5a

Hyperstate Space Graphs for Automated Game Analysis

Michael Cook, Azalea Raad
2019 2019 IEEE Conference on Games (CoG)  
Automatically analysing games is an important challenge for automated game design, general game playing, and cocreative game design tools. However, understanding the nature of an unseen game is extremely difficult due to the lack of a priori design knowledge and heuristics. In this paper we formally define hyperstate space graphs, a compressed form of state space graphs which can be constructed without any prior design knowledge about a game. We show how hyperstate space graphs produce compact
more » ... hs produce compact representations of games which closely relate to the heuristics designed by hand for search-based AI agents; we show how hyperstate space graphs also relate to modern ideas about game design; and we point towards future applications for hyperstates across game AI research.
doi:10.1109/cig.2019.8848026 dblp:conf/cig/CookR19 fatcat:7iavoejnqzfcvctjzbnzrkh72q

Data Consistency in Transactional Storage Systems: a Centralised Approach [article]

Shale Xiong, Andrea Cerone, Azalea Raad, Philippa Gardner
2019 arXiv   pre-print
Shale Xiong, Andrea Cerone, Azalea Raad, and Philippa Gardner Let R ′ = WR ∪ SO.  ...  Shale Xiong, Andrea Cerone, Azalea Raad, and Philippa Gardner Clock-SI also has a notion view which corresponds the snapshot time.  ...  Shale Xiong, Andrea Cerone, Azalea Raad, and Philippa Gardner • First, it is important to prove that t m cl j does not read any version written by t n cl i .  ... 
arXiv:1901.10615v2 fatcat:vudgmqlgongppbm6a5yeonijy4

Mechanic Miner: Reflection-Driven Game Mechanic Discovery and Level Design [chapter]

Michael Cook, Simon Colton, Azalea Raad, Jeremy Gow
2013 Lecture Notes in Computer Science  
We introduce Mechanic Miner, an evolutionary system for discovering simple two-state game mechanics for puzzle platform games. We demonstrate how a reflection-driven generation technique can use a simulation of gameplay to select good mechanics, and how the simulationdriven process can be inverted to produce challenging levels specific to a generated mechanic. We give examples of levels and mechanics generated by the system, summarise a small pilot study conducted with example levels and
more » ... e levels and mechanics, and point to further applications of the technique, including applications to automated game design.
doi:10.1007/978-3-642-37192-9_29 fatcat:5wufz2yhabexhk2fvj4crgq76i

Effective lock handling in stateless model checking

Michalis Kokologiannakis, Azalea Raad, Viktor Vafeiadis
2019 Proceedings of the ACM on Programming Languages (PACMPL)  
Michalis Kokologiannakis, Azalea Raad, and Viktor Vafeiadis Shasha-Snir traces are the natural extension of Mazurkiewicz traces for weak-memory consistency.  ... 
doi:10.1145/3360599 fatcat:m2upimc2nzajxc4jj5kdco5hta

Inferring Design Constraints From Game Ruleset Analysis

Michael Cook, Simon Colton, Azalea Raad
2018 2018 IEEE Conference on Computational Intelligence and Games (CIG)  
Designing game rulesets is an important part of automated game design, and often serves as a foundation for all other parts of the game, from levels to visuals. Popular ways of understanding game rulesets include using AI agents to play the game, which can be unreliable and computationally expensive, or restricting the design space to a set of known good game concepts, which can limit innovation and creativity. In this paper we detail how ANGELINA, an automated game designer, uses an abductive
more » ... uses an abductive analysis of game rulesets to rapidly cull its design space. We show how abduction can be used to provide an understanding of possible paths through a ruleset, reduce unplayable or undesirable rulesets without testing, and can also help discover dynamic heuristics for a game that can guide subsequent tasks like level design.
doi:10.1109/cig.2018.8490412 dblp:conf/cig/CookCR18 fatcat:2vqkzrzs4jennfj3rtpf5sflre

A sip of the Chalice

Azalea Raad, Sophia Drossopoulou
2011 Proceedings of the 13th Workshop on Formal Techniues for Java-Like Programs - FTfJP '11  
Chalice is a verification tool for object-based concurrent programs. It supports verification of functional properties of the programs as well as providing a deadlock prevention mechanism. It is built on Implicit Dynamic Frames, fractional permissions and permission transfer. Implicit Dynamic Frames have been formulated and proven sound using verification conditions and axiomatisation of the heap and stack. Verification in Chalice is specified in terms of weakest preconditions and havocing the
more » ... s and havocing the heap. In this paper we give a formalisation of the part of Chalice concerned with functional properties. We describe its operational semantics, Hoare logic and sketch the soundness proof. Our system is parametric with respect to the underlying assertion language. t::= CId prog ::= class class ::= CId → A × (FId → t) × (MId → meth) meth ::= void m (t x) (requires A ensures A) {e} e::= e;e | new CId() |
doi:10.1145/2076674.2076676 dblp:conf/ecoop/RaadD11 fatcat:txdl3jkmyfghtma7j6td7mj5yi

PerSeVerE: persistency semantics for verification under ext4

Michalis Kokologiannakis, Ilya Kaysin, Azalea Raad, Viktor Vafeiadis
2021 Proceedings of the ACM on Programming Languages (PACMPL)  
Azalea Raad was supported in part by a European Research Council (ERC) Consolidator Grant for the project łRustBeltž, under the European Union Horizon 2020 Framework Programme (grant agreement number 683289  ...  Michalis Kokologiannakis, Ilya Kaysin, Azalea Raad, and Viktor Vafeiadis We do not model metadata potentially affected by reads such as file access times.  ...  Our model follows the style of the formal persistency models of architectures with non-volatile memory [Raad et al. 2018] , which in turn follows the style of axiomatic weak memory models [Alglave et  ... 
doi:10.1145/3434324 fatcat:zguclxk525cxrnfs7uo7qfbbbi
« Previous Showing results 1 — 15 out of 49 results