Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleJuly 2014
Language support for lightweight transactions
ACM SIGPLAN Notices (SIGPLAN), Volume 49, Issue 4SApril 2014, Pages 64–78https://doi.org/10.1145/2641638.2641654Concurrent programming is notoriously difficult. Current abstractions are intricate and make it hard to design computer systems that are reliable and scalable. We argue that these problems can be addressed by moving to a declarative style of concurrency ...
- research-articleJuly 2014
The nesC language: a holistic approach to networked embedded systems
ACM SIGPLAN Notices (SIGPLAN), Volume 49, Issue 4SApril 2014, Pages 41–51https://doi.org/10.1145/2641638.2641652We present nesC, a programming language for networked embedded systems that represent a new design space for application developers. An example of a networked embedded system is a sensor network, which consists of (potentially) thousands of tiny, ...
- research-articleNovember 2008
Use concurrent programming models to motivate teaching of programming languages
ACM SIGPLAN Notices (SIGPLAN), Volume 43, Issue 11November 2008, Pages 93–98https://doi.org/10.1145/1480828.1480849Undergraduate computer science students typically have only a limited understanding of their favorite languages and no inkling of other programming paradigms. Yet modern programmers typically work with several languages, and the availability of cheap ...
- articleAugust 2002
An overview of methods for dependence analysis of concurrent programs
ACM SIGPLAN Notices (SIGPLAN), Volume 37, Issue 8August 2002, Pages 45–52https://doi.org/10.1145/596992.597003Program dependence analysis is an analysis technique to identify and determine various program dependencies in source codes, which has been widely used in program understanding, debugging, testing, reverse engineering, and maintenance. However, there ...
- articleJune 1998
Design of an Actor language for implicit parallel programming
ACM SIGPLAN Notices (SIGPLAN), Volume 33, Issue 6June 1998, Pages 39–47https://doi.org/10.1145/284563.284574Software tools that support implicit parallel programming hold the key to reducing the complexity of parallel programming and realizing more ubiquitous parallel computation. This paper addresses the topic of implicit concurrent object-oriented ...
-
- articleSeptember 2018
A high-performance multicore IO manager based on libuv (experience report)
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 7July 2018, Pages 172–178https://doi.org/10.1145/3299711.3242759We present a high performance multicore I/O manager based on libuv for Glasgow Haskell Compiler (GHC). The new I/O manager is packaged as an ordinary Haskell package rather than baked into GHC's runtime system(GHC RTS), yet takes advantage of GHC RTS's ...
Also Published in:
Haskell 2018: Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell: ISBN 9781450358354, September 2018 Certified concurrent abstraction layers
- Ronghui Gu,
- Zhong Shao,
- Jieung Kim,
- Xiongnan (Newman) Wu,
- Jérémie Koenig,
- Vilhelm Sjöberg,
- Hao Chen,
- David Costanzo,
- Tahina Ramananandro
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4April 2018, Pages 646–661https://doi.org/10.1145/3296979.3192381Concurrent abstraction layers are ubiquitous in modern computer systems because of the pervasiveness of multithreaded programming and multicore hardware. Abstraction layers are used to hide the implementation details (e.g., fine-grained synchronization) ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985, June 2018- research-articleMarch 2018
Static Detection of Event-based Races in Android Apps
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 2February 2018, Pages 257–270https://doi.org/10.1145/3296957.3173173Event-based races are the main source of concurrency errors in Android apps. Prior approaches for scalable detection of event-based races have been dynamic. Due to their dynamic nature, these approaches suffer from coverage and false negative issues. We ...
Also Published in:
ASPLOS '18: Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems: ISBN 9781450349116, March 2018 VerifiedFT: a verified, high-performance precise dynamic race detector
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 1January 2018, Pages 354–367https://doi.org/10.1145/3200691.3178514Dynamic data race detectors are valuable tools for testing and validating concurrent software, but to achieve good performance they are typically implemented using sophisticated concurrent algorithms. Thus, they are ironically prone to the exact same ...
Also Published in:
PPoPP '18: Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming: ISBN 9781450349826, February 2018- research-articleFebruary 2018
Practical concurrent traversals in search trees
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 1January 2018, Pages 207–218https://doi.org/10.1145/3200691.3178503Operations of concurrent objects often employ optimistic concurrency-control schemes that consist of a traversal followed by a validation step. The validation checks if concurrent mutations interfered with the traversal to determine if the operation ...
Also Published in:
PPoPP '18: Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming: ISBN 9781450349826, February 2018 - articleSeptember 2017
Adaptive lock-free data structures in Haskell: a general method for concurrent implementation swapping
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 10October 2017, Pages 197–211https://doi.org/10.1145/3156695.3122973A key part of implementing high-level languages is providing built- in and default data structures. Yet selecting good defaults is hard. A mutable data structure’s workload is not known in advance, and it may shift over its lifetime—e.g., between read-...
Also Published in:
Haskell 2017: Proceedings of the 10th ACM SIGPLAN International Symposium on Haskell: ISBN 9781450351829, September 2017 - articleJune 2017
Static deadlock detection for asynchronous C# programs
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6June 2017, Pages 292–305https://doi.org/10.1145/3140587.3062361Asynchronous programming is a standard approach for designing responsive applications. Modern languages such as C# provide async/await primitives for the disciplined use of asynchrony. In spite of this, programs can deadlock because of incorrect use of ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888, June 2017 - articleJune 2017
BigFoot: static check placement for dynamic race detection
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6June 2017, Pages 141–156https://doi.org/10.1145/3140587.3062350Precise dynamic data race detectors provide strong correctness guarantees but have high overheads because they generally keep analysis state in a separate shadow location for each heap memory location, and they check (and potentially update) the ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888, June 2017 - posterJanuary 2017
POSTER: On the Problem of Consistency Exceptions in the Context of Strong Memory Models
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 8August 2017, Pages 459–460https://doi.org/10.1145/3155284.3019024This work considers the problem of availability for memory models that throw consistency exceptions. We define a new memory model called RIx based on isolation of synchronization-free regions and a new approach called Avalon that provides RIx. Our ...
Also Published in:
PPoPP '17: Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming: ISBN 9781450344937, January 2017 - research-articleJanuary 2017
Contention in Structured Concurrency: Provably Efficient Dynamic Non-Zero Indicators for Nested Parallelism
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 8August 2017, Pages 75–88https://doi.org/10.1145/3155284.3018762Over the past two decades, many concurrent data structures have been designed and implemented. Nearly all such work analyzes concurrent data structures empirically, omitting asymptotic bounds on their efficiency, partly because of the complexity of the ...
Also Published in:
PPoPP '17: Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming: ISBN 9781450344937, January 2017 - research-articleJanuary 2017
Synchronized-by-Default Concurrency for Shared-Memory Systems
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 8August 2017, Pages 299–312https://doi.org/10.1145/3155284.3018747We explore a programming approach for concurrency that synchronizes all accesses to shared memory by default. Synchronization takes place by ensuring that all program code runs inside atomic sections even if the program code has external side effects. ...
Also Published in:
PPoPP '17: Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming: ISBN 9781450344937, January 2017 - research-articleJanuary 2017
Ogre and Pythia: an invariance proof method for weak consistency models
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 1January 2017, Pages 3–18https://doi.org/10.1145/3093333.3009883We design an invariance proof method for concurrent programs parameterised by a weak consistency model. The calculational design of the invariance proof method is by abstract interpretation of a truly parallel analytic semantics. This generalises the ...
Also Published in:
POPL '17: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages: ISBN 9781450346603, January 2017 - research-articleJanuary 2017
Parallel functional arrays
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 1January 2017, Pages 706–718https://doi.org/10.1145/3093333.3009869The goal of this paper is to develop a form of functional arrays (sequences) that are as efficient as imperative arrays, can be used in parallel, and have well defined cost-semantics. The key idea is to consider sequences with functional value ...
Also Published in:
POPL '17: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages: ISBN 9781450346603, January 2017 - research-articleJanuary 2017
Dynamic race detection for C++11
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 1January 2017, Pages 443–457https://doi.org/10.1145/3093333.3009857The intricate rules for memory ordering and synchronisation associated with the C/C++11 memory model mean that data races can be difficult to eliminate from concurrent programs. Dynamic data race analysis can pinpoint races in large and complex ...
Also Published in:
POPL '17: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages: ISBN 9781450346603, January 2017 - research-articleSeptember 2016
Desugaring Haskell's do-notation into applicative operations
ACM SIGPLAN Notices (SIGPLAN), Volume 51, Issue 12December 2016, Pages 92–104https://doi.org/10.1145/3241625.2976007Monads have taken the world by storm, and are supported by do-notation (at least in Haskell). Programmers are increasingly waking up to the usefulness and ubiquity of Applicatives, but they have so far been hampered by the absence of supporting ...
Also Published in:
Haskell 2016: Proceedings of the 9th International Symposium on Haskell: ISBN 9781450344340, September 2016