Filters








32,126 Hits in 4.7 sec

Interleaving data and effects

ROBERT ATKEY, PATRICIA JOHANN
2015 Journal of functional programming  
AbstractThe study of programming with and reasoning about inductive datatypes such as lists and trees has benefited from the simple categorical principle of initial algebras.  ...  For example, incrementally reading characters from a file generates a list of characters interleaved with input/output actions, and lazily constructed infinite values can be represented by pure data interleaved  ...  reasoning about programs that operate on effectful datatypes like List m a.  ... 
doi:10.1017/s0956796815000209 fatcat:7kbz335lvrgq7pdf5bnvy2mzxm

On some fundamental properties of P2P push/pull protocols

Renato Lo Cigno, Alessandro Russo, Damiano Carra
2008 2008 Second International Conference on Communications and Electronics  
The class considered is known as meshbased swarming push-pull systems or interleave protocols.  ...  ACKNOWLEDGMENTS The authors wish to thank Ernst Biersack from Institut EURECOM for all the useful discussions and ideas about P2P streaming and distribution systems.  ...  For this reason hereinafter we will show only results where the contact list is symmetric and the degree equal to 16.  ... 
doi:10.1109/cce.2008.4578935 fatcat:z6x6v5ddkjcznekoczd4f63jue

View-centric reasoning for Linda and Tuple Space computation

M.L. Smith, R.J. Parsons, C.E. Hughes
2003 IEE Proceedings - Software  
We present a survey of challenges of reasoning about properties of concurrent systems.  ...  Section 2.2 discusses CSP, and its abstractions and techniques for reasoning about concurrency.  ...  All but the first and the third interleavings make no sense when reasoning about the trace of computation.  ... 
doi:10.1049/ip-sen:20030129 fatcat:7fqbvinr3bf2xlcw4lz4mnvdri

Reasoning About Concurrency in High-Assurance, High-Performance Software Systems [chapter]

June Andronick
2017 Lecture Notes in Computer Science  
We describe our work in the Trustworthy Systems group at Data61 (formerly NICTA) in reasoning about concurrency in highassurance, high-performance software systems, in which concurrency may come from three  ...  A remaining grand challenge in formal software verification is concurrency reasoning, much harder than sequential reasoning because of the explosion of the number of interleaved executions that need to  ...  SIMPL allows formal reasoning about sequential C programs via the translation of C programs into SIMPL by the C-to-Isabelle translation [24] .  ... 
doi:10.1007/978-3-319-63046-5_1 fatcat:etyhrw4auradbptcsixj6zeq4y

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  
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.  ...  Our analysis eliminates the challenge by automating the reasoning.  ...  Hence, two threads, t1 and t2, that concurrently invoke get(int) and addAll(List) on a List l cannot interleave when accessing l's field: either t1 executes get(int) first, or t2 executes addAll(List)  ... 
doi:10.1145/2642937.2642951 dblp:conf/kbse/DingesA14 fatcat:nutrd5u6tfeszof2xjtjmp7oqu

Formal verification of a programming logic for a distributed programming language

Cui Zhang, Ronald A. Olsson, Karl N. Levitt
1999 Theoretical Computer Science  
However, part of his language lacks a proper formalization, which made it difficult, even if not impossible, to reason about backward substitution in the programming logic as well as in his VCG (Verification  ...  Different from the asynchronous Send statement and the synchronous Receive statement, Call statement and In statement provide one-way communication via rendezvous between a caller, the process executing  ...  The reasoning about nondeterministic interleavings has been reduced to the reasoning about a deterministic set of atomic statements.  ... 
doi:10.1016/s0304-3975(97)00234-x fatcat:c3rpgknnn5gtri3dajmw2z63gy

A case for relativistic programming

Philip W. Howard, Jonathan Walpole
2012 Proceedings of the 2012 ACM workshop on Relaxing synchronization for multicore and manycore scalability - RACES '12  
Since causality has been preserved, the programmer does not need to reason about every possible interleaving of memory reads and writes.  ...  For many concurrent programming methodologies, the programmer has to reason about every possible interleaving of the memory reads and writes.  ... 
doi:10.1145/2414729.2414735 dblp:conf/oopsla/HowardW12 fatcat:nn5w7g5xv5gx5nvogviq5fvnqe

Compositional Proofs with Symbolic Execution

Simon Bäumler, Florian Nafz, Michael Balser, Wolfgang Reif
2008 Conference on Automated Deduction  
The notation includes a complex interleaving operator. The interactive proof method we use for temporal properties is symbolic execution with induction.  ...  A proof method is described which combines compositional proofs of interleaved parallel programs with the intuitive and highly automatic strategy of symbolic execution.  ...  This can be used for the parallel composition of programs with the tl-interleaving operator. Symbolic Execution A typical sequent in proofs about interleaved programs has the form P, Γ ⊢ ∆.  ... 
dblp:conf/cade/BaumlerNBR08 fatcat:3zoxbsjmmrbghhsw5ezzkeft4a

Ranking objects based on relationships and fixed associations

Albert Angel, Surajit Chaudhuri, Gautam Das, Nick Koudas
2009 Proceedings of the 12th International Conference on Extending Database Technology Advances in Database Technology - EDBT '09  
Such entities are related via fixed associations typically known among them.  ...  Computing Entity Cardinalities: Let us now discuss how the cardinality of an entity e in a list listi can be calculated, by judiciously materializing information about certain entities.  ... 
doi:10.1145/1516360.1516464 dblp:conf/edbt/AngelCDK09 fatcat:psaqn62o65fmnliptptbb72dkq

Verifying concurrent software using movers in CSPEC

Tej Chajed, M. Frans Kaashoek, Butler W. Lampson, Nickolai Zeldovich
2018 USENIX Symposium on Operating Systems Design and Implementation  
CSPEC uses mover types to re-order commutative operations so that usually it's enough to reason about only sequential executions rather than all possible interleavings.  ...  The results demonstrate that CSPEC's movers and patterns allow reasoning about sophisticated concurrency styles in CMAIL.  ...  In theory, this requires reasoning about many interleavings.  ... 
dblp:conf/osdi/ChajedKLZ18 fatcat:5yxlfnp26rakzdxsjtgvqd7uye

Efficient nondestructive equality checking for trees and graphs

Michael D. Adams, R. Kent Dybvig
2008 Proceeding of the 13th ACM SIGPLAN international conference on Functional programming - ICFP '08  
can be implemented via a DFA-equivalence or union-find algorithm, these algorithms usually require an additional pointer to be stored in each object, are not suitable for multithreaded code due to their  ...  It performs well on large and small, cyclic and acyclic inputs by interleaving a low-overhead algorithm that terminates only for acyclic inputs with a more general algorithm that handles cyclic inputs.  ...  By our earlier reasoning in Section 3.2, we can replace the nm terms with (define (interleave? x y k) (let ([ht #f]) (define (call-union-find x y) (unless ht (set!  ... 
doi:10.1145/1411204.1411230 dblp:conf/icfp/AdamsD08 fatcat:txi6kgbarnbxrhgnbweisvzn2u

Efficient nondestructive equality checking for trees and graphs

Michael D. Adams, R. Kent Dybvig
2008 SIGPLAN notices  
can be implemented via a DFA-equivalence or union-find algorithm, these algorithms usually require an additional pointer to be stored in each object, are not suitable for multithreaded code due to their  ...  It performs well on large and small, cyclic and acyclic inputs by interleaving a low-overhead algorithm that terminates only for acyclic inputs with a more general algorithm that handles cyclic inputs.  ...  By our earlier reasoning in Section 3.2, we can replace the nm terms with (define (interleave? x y k) (let ([ht #f]) (define (call-union-find x y) (unless ht (set!  ... 
doi:10.1145/1411203.1411230 fatcat:kammaaxdrbejjnpetx2hddbtoy

Formal Specification of the OpenMP Memory Model [chapter]

Greg Bronevetsky, Bronis R. de Supinski
2008 Lecture Notes in Computer Science  
We break our operational model into two sub-models, the Compiler Phase and the Runtime Phase, so that we can reason independently about different aspects of the memory model.  ...  P rint var • Outputs the value of a given shared variable to the user; primarily used in examples to reason about outcomes of application executions. • var is a shared variable. • Corresponds to a single  ... 
doi:10.1007/978-3-540-68555-5_27 fatcat:rfrwmmdr7jexxmqmekut2vqfki

Finding incorrect compositions of atomicity

Peng Liu, Julian Dolby, Charles Zhang
2013 Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2013  
The library provides a convenient way for programmers to reason about the needed synchronization.  ...  This process is error-prone due to the complexity of reasoning required, hence tool support for uncovering incorrect compositions (i.e., atomic compositions that are implemented incorrectly) would be very  ...  Existing inference [18, 22, 40, 4, 17, 34] of atomicity, which reasons about the field accesses directly, cannot recognize the library or the client.  ... 
doi:10.1145/2491411.2491435 dblp:conf/sigsoft/0010DZ13 fatcat:smod3ymbybhcda3ocni2v4almq

Specifying and checking semantic atomicity for multithreaded programs

Jacob Burnim, George Necula, Koushik Sen
2011 Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems - ASPLOS '11  
Further, we propose a novel algorithm for systematically testing atomicity specifications on parallel executions with a bounded number of interruptionsi.e. atomic blocks whose execution is interleaved  ...  The behavior of an atomic code block can be understood and reasoned about sequentially, as no parallel operations can interfere with its execution.  ...  This specification task does not require reasoning about possible program interleavings, but simply identifying which variables or objects hold the final result of a program and considering when two such  ... 
doi:10.1145/1950365.1950377 dblp:conf/asplos/BurnimNS11 fatcat:wy2ipr35xnf43puce666zzoxdu
« Previous Showing results 1 — 15 out of 32,126 results