Filters








322 Hits in 2.1 sec

Cosmo: a concurrent separation logic for multicore OCaml

Glen Mével, Jacques-Henri Jourdan, François Pottier
2020 Proceedings of the ACM on Programming Languages (PACMPL)  
Multicore OCaml extends OCaml with support for shared-memory concurrency. It is equipped with a weak memory model, for which an operational semantics has been published.  ...  This yields a low-level program logic whose reasoning rules expose the details of the memory model.  ...  To do so, we rely on Iris [Jung et al. 2018b ], a generic framework for building program logics. Iris is not tied to a particular programming language or calculus.  ... 
doi:10.1145/3408978 fatcat:6hd55ugbsveghgvshrug2wbfcu

Page 4080 of Mathematical Reviews Vol. , Issue 82i [page]

1982 Mathematical Reviews  
This is a brief expository article. {For the entire collection see MR 82d:90002.} Bachem, A. 82i:90120 Theorems of the alternative in combinatorial programming. 1X.  ...  In particular we axiomatize a way of taking the past into account, with limited memory, in our decision making. “In Section 3, some theory is developed.”  ... 

The Problem of Programming Language Concurrency Semantics [chapter]

Mark Batty, Kayvan Memarian, Kyndylan Nienhuis, Jean Pichon-Pharabod, Peter Sewell
2015 Lecture Notes in Computer Science  
Despite decades of research, we do not have a satisfactory concurrency semantics for any general-purpose programming language that aims to support concurrent systems code.  ...  First we give a positive result, proving in HOL4 that the existing axiomatic model for C/C++11 guarantees sequentially consistent semantics for simple race-free programs that do not use low-level atomics  ...  We acknowledge funding from EPSRC grants EP/H005633 (Leadership Fellowship, Sewell) and EP/K008528 (REMS Programme Grant), and a Gates Cambridge Scholarship (Nienhuis).  ... 
doi:10.1007/978-3-662-46669-8_12 fatcat:gkmwxusahzbjzm273mgs2rjwwi

Automatic inference of memory fences

Michael Kuperstein, Martin Vechev, Eran Yahav
2012 ACM SIGACT News  
We present a framework for automatic inference of memory fences in concurrent programs, assisting the programmer in this complex task.  ...  Given a finite-state program, a safety specification and a description of the memory model, our framework computes a set of ordering constraints that guarantee the correctness of the program under the  ...  This will allow us to avoid bounding the execution buffer and make our algorithm more suitable for more general input programs. VIII.  ... 
doi:10.1145/2261417.2261438 fatcat:7br5fihidndbjmvltt2amhpxxq

A concurrency semantics for relaxed atomics that permits optimisation and avoids thin-air executions

Jean Pichon-Pharabod, Peter Sewell
2016 Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL 2016  
It offers a potential way forward for concurrent programming language semantics, beyond the current C/C++11 and Java models.  ...  These are combined with a non-multi-copy-atomic storage subsystem, to reflect common hardware behaviour.  ...  Acknowledgments We thank Mark Batty and Robin Morisset for discussions. This work was partly funded by the EPSRC Programme Grant REMS: Rigorous Engineering for Mainstream Systems, EP/K008528/1.  ... 
doi:10.1145/2837614.2837616 dblp:conf/popl/Pichon-Pharabod16 fatcat:ikeop57ecva7jbbtzjfiozpvta

A concurrency semantics for relaxed atomics that permits optimisation and avoids thin-air executions

Jean Pichon-Pharabod, Peter Sewell
2016 SIGPLAN notices  
It offers a potential way forward for concurrent programming language semantics, beyond the current C/C++11 and Java models.  ...  These are combined with a non-multi-copy-atomic storage subsystem, to reflect common hardware behaviour.  ...  Acknowledgments We thank Mark Batty and Robin Morisset for discussions. This work was partly funded by the EPSRC Programme Grant REMS: Rigorous Engineering for Mainstream Systems, EP/K008528/1.  ... 
doi:10.1145/2914770.2837616 fatcat:cofuw5t7mzblpmc63vd4bh6x5a

Linking Event-B and Concurrent Object-Oriented Programs

Andrew Edmunds, Michael Butler
2008 Electronical Notes in Theoretical Computer Science  
We abstract away implementation details, such as locking, and provide the developer with a clear view of atomicity using labelled atomic clauses.  ...  We build on techniques introduced in UML-B to model object-oriented developments, introducing non-atomic operations and features for specifying implementation level details.  ...  A similar mapping exists for monitor class instantiation, but excludes setting of a program counter, with P pc (new ) := sLabel (na); monitors do not have program counters since they play a passive role  ... 
doi:10.1016/j.entcs.2008.06.008 fatcat:xmher26kkfehhj2d3wngdjuiby

A Case Study in Formal Verification Using Multiple Explicit Heaps [chapter]

Wojciech Mostowski
2013 Lecture Notes in Computer Science  
On the implementation side, we modified the KeY verifier to provide a general framework for dealing with multiple heaps, and we used that framework to implement the formalisation of Java Card atomic transactions  ...  In the context of the KeY program verifier and the associated Dynamic Logic for Java we discuss the first instance of applying a generalised approach to the treatment of memory heaps in verification.  ...  Mostowski is supported by ERC grant 258405 for the VerCors project. We would like to thank Richard Bubel for his insights and invaluable help with the implementation.  ... 
doi:10.1007/978-3-642-38592-6_3 fatcat:4kqfppxxzfdzbj5txhu25a3gi4

Multiprocessors should support simple memory consistency models

M.D. Hill
1998 Computer  
I thank the following people, who may or may not agree with me, for their constructive comments: Sarita Adve  ...  Acknowledgments The ideas in this article crystallized through interactions with many people at Wisconsin and at Sun Microsystems during my 1995-1996 sabbatical, which Greg Papadopoulos graciously supported  ...  (A nonatomic operation allows its effects to be seen by some processors before others, in a manner detectable by running programs.)  ... 
doi:10.1109/2.707614 fatcat:rwjgtncdqza4zlvvnhmmt2b3za

Procedure-modular verification of control flow safety properties

Siavash Soleimanifard, Dilian Gurov, Marieke Huisman
2010 Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs - FTFJP '10  
This paper describes a novel technique for fully automated procedure-modular verification of Java programs equipped with method-local and global assertions that specify safety properties of sequences of  ...  Tool support is provided by means of ProMoVer, a tool that is essentially a wrapper around a previously developed tool set for compositional verification of control flow safety properties, where program  ...  We are indebted to Wojciech Mostowski and Erik Poll for their help in finding a suitable case study, and to Stefan Schwoon for adapting the input language of the PDS model checker Moped to our needs.  ... 
doi:10.1145/1924520.1924525 dblp:conf/ecoop/SoleimanifardGH10 fatcat:5xepdvldjjc4dpmcttvhffi6e4

Verifying Safety and Liveness for the FlexTM Hybrid Transactional Memory

Parosh Abdulla, Sandhya Dwarkadas, Ahmed Rezine, Arrvindh Shriraman, Yunyun Zhu
2013 Design, Automation & Test in Europe Conference & Exhibition (DATE), 2013  
This framework allows for flexible implementations of transactional memories based on an adaptation of the MESI coherence protocol.  ...  We consider the verification of safety (strict serializability and abort consistency) and liveness (obstruction and livelock freedom) for the hybrid transactional memory framework FLEXTM.  ...  ACKNOWLEDGMENT Work supported by the Uppsala Programming for Multicore Architectures Research Center (UPMARC) and by the CENIIT Software Model Checking in the Multicore Era project.  ... 
doi:10.7873/date.2013.167 dblp:conf/date/AbdullaDRSZ13 fatcat:eak6w5ogargjdiool5ytf2m5f4

Targeted test input generation using symbolic-concrete backward execution

Peter Dinges, Gul Agha
2014 Proceedings of the 29th ACM/IEEE international conference on Automated software engineering - ASE '14  
Our implementation of the analysis allowed us to derive the atomic sets for large code bases such as the Java collections framework in a matter of minutes.  ...  However, manually converting programs from lock-based synchronization to atomic sets requires reasoning about the program's concurrency structure, which can be a challenge even for small programs.  ...  Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright notation thereon.  ... 
doi:10.1145/2642937.2642951 dblp:conf/kbse/DingesA14 fatcat:nutrd5u6tfeszof2xjtjmp7oqu

Integrating Owicki-Gries for C11-Style Memory Models into Isabelle/HOL [article]

Sadegh Dalvandi, Brijesh Dongol, Simon Doherty
2020 arXiv   pre-print
Weak memory presents a new challenge for program verification and has resulted in the development of a variety of specialised logics.  ...  The benefit here is that programs can be written using a familiar pseudocode syntax with assertions embedded directly into the program.  ...  weak memory state for a given weak memory prestate.  ... 
arXiv:2004.02983v2 fatcat:gtlqfdoopbe2vfks6gmdvd4kmi

On implementing MPI-IO portably and with high performance

Rajeev Thakur, William Gropp, Ewing Lusk
1999 Proceedings of the sixth workshop on I/O in parallel and distributed systems - IOPADS '99  
WC provide a list of features desired from a 6Ie system that would help in implementing MPI-IO conecdy and with high performance.  ...  We instead advocatean implementation approach that combines a large portion of portable code and a small portion of code that is optimized separately for different machines and tile systems.  ...  A third method, applicable only if all processes have access to shared memory, is to maintain the shared file painter in shared memory and use s"me mechanism for atomically updating the value of the shared  ... 
doi:10.1145/301816.301826 dblp:conf/iopads/ThakurGL99 fatcat:nod6tqruk5gxdi6nyxylvcfdge

Advances in Engineering Software for Multicore Systems [chapter]

Ali Jannesari
2018 Dependability Engineering  
Another contribution is a method for detecting code sections where parallel design patterns might be applicable and suggesting relevant code transformations.  ...  A contribution of this work is an efficient profiling method to determine the control and data dependences for performing parallelism discovery or other types of code analysis.  ...  Optimization techniques for transactional memory Transactional memory (TM) is a promising paradigm that facilitates programming for shared-memory systems.  ... 
doi:10.5772/intechopen.72784 fatcat:rxkrgppehndvrnqzdafew3vfte
« Previous Showing results 1 — 15 out of 322 results