Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- ArticleApril 2023
Industrial-Strength Controlled Concurrency Testing for Programs with
Tools and Algorithms for the Construction and Analysis of SystemsPages 433–452https://doi.org/10.1007/978-3-031-30820-8_26AbstractThis paper describes the design and implementation of the open-source tool for testing concurrent programs written in the language. provides algorithmic capabilities to explore the state-space of interleavings of a concurrent program, with ...
- research-articleJune 2022
Nekara: generalized concurrency testing
- Udit Agarwal,
- Pantazis Deligiannis,
- Cheng Huang,
- Kumseok Jung,
- Akash Lal,
- Immad Naseer,
- Matthew Parkinson,
- Arun Thangamani,
- Jyothi Vedurada,
- Yunpeng Xiao
ASE '21: Proceedings of the 36th IEEE/ACM International Conference on Automated Software EngineeringPages 679–691https://doi.org/10.1109/ASE51524.2021.9678838Testing concurrent systems remains an uncomfortable problem for developers. The common industrial practice is to stress-test a system against large workloads, with the hope of triggering enough corner-case interleavings that reveal bugs. However, stress ...
- research-articleNovember 2021
Building Reliable Cloud Services Using Coyote Actors
SoCC '21: Proceedings of the ACM Symposium on Cloud ComputingPages 108–121https://doi.org/10.1145/3472883.3486983Cloud services must typically be distributed across a large number of machines in order to make use of multiple compute and storage resources. This opens the programmer to several sources of complexity such as concurrency, order of message delivery, ...
- research-articleNovember 2020
Learning-based controlled concurrency testing
Proceedings of the ACM on Programming Languages (PACMPL), Volume 4, Issue OOPSLAArticle No.: 230, Pages 1–31https://doi.org/10.1145/3428298Concurrency bugs are notoriously hard to detect and reproduce. Controlled concurrency testing (CCT) techniques aim to offer a solution, where a scheduler explores the space of possible interleavings of a concurrent program looking for bugs. Since the set ...
- short-paperJuly 2020
Studying Ransomware Attacks Using Web Search Logs
SIGIR '20: Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information RetrievalPages 1517–1520https://doi.org/10.1145/3397271.3401189Cyber attacks are increasingly becoming prevalent and causing significant damage to individuals, businesses and even countries. In particular, ransomware attacks have grown significantly over the last decade. We do the first study on mining insights ...
- research-articleOctober 2017
Project snowflake: non-blocking safe manual memory management in .NET
- Matthew Parkinson,
- Dimitrios Vytiniotis,
- Kapil Vaswani,
- Manuel Costa,
- Pantazis Deligiannis,
- Dylan McDermott,
- Aaron Blankstein,
- Jonathan Balkind
Proceedings of the ACM on Programming Languages (PACMPL), Volume 1, Issue OOPSLAArticle No.: 95, Pages 1–25https://doi.org/10.1145/3141879Garbage collection greatly improves programmer productivity and ensures memory safety. Manual memory management on the other hand often delivers better performance but is typically unsafe and can lead to system crashes or security vulnerabilities. We ...
- research-articleOctober 2017
Lasso detection using partial-state caching
We study the problem of finding liveness violations in real-world asynchronous and distributed systems. Unlike a safety property, which asserts that certain bad states should never occur during execution, a liveness property states that a program should ...
- ArticleFebruary 2016
Uncovering bugs in distributed storage systems during testing (not in production!)
- Pantazis Deligiannis,
- Matt McCutchen,
- Paul Thomson,
- Shuo Chen,
- Alastair F. Donaldson,
- John Erickson,
- Cheng Huang,
- Akash Lal,
- Rashmi Mudduluru,
- Shaz Qadeer,
- Wolfram Schulte
Testing distributed systems is challenging due to multiple sources of nondeterminism. Conventional testing techniques, such as unit, integration and stress testing, are ineffective in preventing serious but subtle bugs from reaching production. Formal ...
- research-articleNovember 2015
Fast and precise symbolic analysis of concurrency bugs in device drivers
ASE '15: Proceedings of the 30th IEEE/ACM International Conference on Automated Software EngineeringPages 166–177https://doi.org/10.1109/ASE.2015.30Concurrency errors, such as data races, make device drivers notoriously hard to develop and debug without automated tool support. We present Whoop, a new automated approach that statically analyzes drivers for data races. Whoop is empowered by symbolic ...
- research-articleJune 2015
Asynchronous programming, analysis and testing with state machines
PLDI '15: Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 154–164https://doi.org/10.1145/2737924.2737996Programming efficient asynchronous systems is challenging because it can often be hard to express the design declaratively, or to defend against data races and interleaving-dependent assertion violations. Previous work has only addressed these ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 6 - ArticleJuly 2014
Engineering a Static Verification Tool for GPU Kernels
- Ethel Bardsley,
- Adam Betts,
- Nathan Chong,
- Peter Collingbourne,
- Pantazis Deligiannis,
- Alastair F. Donaldson,
- Jeroen Ketema,
- Daniel Liew,
- Shaz Qadeer
Proceedings of the 16th International Conference on Computer Aided Verification - Volume 8559Pages 226–242https://doi.org/10.1007/978-3-319-08867-9_15We report on practical experiences over the last 2.5 years related to the engineering of GPUVerify, a static verification tool for OpenCL and CUDA GPU kernels, plotting the progress of GPUVerify from a prototype to a fully functional and relatively ...
- research-articleSeptember 2012
Haskell vs. f# vs. scala: a high-level language features and parallelism support comparison
FHPC '12: Proceedings of the 1st ACM SIGPLAN workshop on Functional high-performance computingPages 49–60https://doi.org/10.1145/2364474.2364483This paper provides a performance and programmability comparison of high-level parallel programming support in Haskell, F# and Scala. Developing several parallel versions, we employ skeleton-based, semi-explicit and explicit approaches to parallelism. ...
- research-articleJune 2012
Improving the diagnosis of mild hypertrophic cardiomyopathy with MapReduce
MapReduce '12: Proceedings of third international workshop on MapReduce and its Applications DatePages 41–48https://doi.org/10.1145/2287016.2287025Hypertrophic Cardiomyopathy (HCM), an inherited heart disease, is the most common cause of sudden cardiac death in young athletes. Successful diagnosis of mild HCM presents a major medical challenge, especially in athletes with exercise-induced ...