Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- extended-abstractFebruary 2024
Concurrency Testing: A Journey from Research to Practice
ISEC '24: Proceedings of the 17th Innovations in Software Engineering ConferenceArticle No.: 1, Page 1https://doi.org/10.1145/3641399.3644112Concurrency is fundamental for building scalable software systems. Despite the prevalence of such systems, testing them remains an uncomfortable problem for developers. Concurrency bugs are hard to find, reproduce and fix, and for most part, they get ...
- research-articleSeptember 2024
Cell2Doc: ML Pipeline for Generating Documentation in Computational Notebooks
ASE '23: Proceedings of the 38th IEEE/ACM International Conference on Automated Software EngineeringPages 384–396https://doi.org/10.1109/ASE56229.2023.00200Computational notebooks have become the go-to way for solving data-science problems. While they are designed to combine code and documentation, prior work shows that documentation is largely ignored by the developers because of the manual effort. ...
Inference of Resource Management Specifications
- Narges Shadab,
- Pritam Gharat,
- Shrey Tiwari,
- Michael D. Ernst,
- Martin Kellogg,
- Shuvendu K. Lahiri,
- Akash Lal,
- Manu Sridharan
Proceedings of the ACM on Programming Languages (PACMPL), Volume 7, Issue OOPSLA2Article No.: 282, Pages 1705–1728https://doi.org/10.1145/3622858A resource leak occurs when a program fails to free some finite resource after it is no longer needed. Such leaks are a significant cause of real-world crashes and performance problems. Recent work proposed an approach to prevent resource leaks based ...
-
- 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 ...
- ArticleAugust 2022
- 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, ...
MonkeyDB: effectively testing correctness under weak isolation levels
Proceedings of the ACM on Programming Languages (PACMPL), Volume 5, Issue OOPSLAArticle No.: 132, Pages 1–27https://doi.org/10.1145/3485546Modern applications, such as social networking systems and e-commerce platforms are centered around using large-scale storage systems for storing and retrieving data. In the presence of concurrent accesses, these storage systems trade off isolation for ...
- research-articleJune 2021
Robust I/O-compute concurrency for machine learning pipelines in constrained cyber-physical devices
LCTES 2021: Proceedings of the 22nd ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded SystemsPages 1–11https://doi.org/10.1145/3461648.3463842Cyberphysical systems have numerous industrial and commercial applications. Such systems are often built using low-resource devices that gather and process data, using machine-learning (ML) models, to make intelligent decisions and provide value to ...
- 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 ...
- research-articleNovember 2020
Generalized sub-query fusion for eliminating redundant I/O from big-data queries
- Partho Sarthi,
- Kaushik Rajan,
- Akash Lal,
- Abhishek Modi,
- Prakhar Jain,
- Mo Liu,
- Ashit Gosalia,
- Saurabh Kalikar
OSDI'20: Proceedings of the 14th USENIX Conference on Operating Systems Design and ImplementationArticle No.: 12, Pages 209–224SQL is the de-facto language for big-data analytics. Despite the cost of distributed SQL execution being dominated by disk and network I/O, we find that state-of-the-art optimizers produce plans that are not I/O optimal. For a significant fraction of ...
- research-articleMarch 2019
ConfLLVM: A Compiler for Enforcing Data Confidentiality in Low-Level Code
- Ajay Brahmakshatriya,
- Piyus Kedia,
- Derrick P. McKee,
- Deepak Garg,
- Akash Lal,
- Aseem Rastogi,
- Hamed Nemati,
- Anmol Panda,
- Pratik Bhatu
EuroSys '19: Proceedings of the Fourteenth EuroSys Conference 2019Article No.: 4, Pages 1–15https://doi.org/10.1145/3302424.3303952We present a compiler-based scheme to protect the confidentiality of sensitive data in low-level applications (e.g. those written in C) in the presence of an active adversary. In our scheme, the programmer marks sensitive data by lightweight annotations ...
- research-articleOctober 2017
Optimizing Big-Data Queries Using Program Synthesis
SOSP '17: Proceedings of the 26th Symposium on Operating Systems PrinciplesPages 631–646https://doi.org/10.1145/3132747.3132773Classical query optimization relies on a predefined set of rewrite rules to re-order and substitute SQL operators at a logical level. This paper proposes Blitz, a system that can synthesize efficient query-specific operators using automated program ...
- 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 ...
- research-articleAugust 2016
Inferring annotations for device drivers from verification histories
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 450–460https://doi.org/10.1145/2970276.2970305This paper studies and optimizes automated program verification. Detailed reasoning about software behavior is often facilitated by program invariants that hold across all program executions. Finding program invariants is in fact an essential step in ...