Madanlal Musuvathi
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Research Subjects
Research Interests
Madanlal Musuvathi has a total of 50 co-authors. Here are the top co-authors by number of shared publications:
- Shuvendu K. Lahiri
Microsoft Research, Redmond, USA
4 shared publications - Shan Lu
Department of Computer Science, University of Chicago, Chicago, Illinois, USA and Microsoft Research, Redmond, Washington, USA
3 shared publications - Suman Nath
Microsoft Research, Redmond, WA, USA
3 shared publications - Bogdan Alexandru Stoica
University of Illinois Urbana-Champaign, Urbana, USA
2 shared publications - Dan Tsafrir
Technion -- Israel Institute of Technology, Haifa, Israel
2 shared publications - Saikat Chakraborty
Microsoft Research, Redmond, WA, USA
2 shared publications
Latest Publications
- Open Access
- 27 August 2026
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 44 (3) , 1-7
Selecting ASPLOS Best Papers: A Guide
ASPLOS 2024 received a record of 922 submissions (spread across three review cycles), from which 194 papers were accepted. This record represents an increase of about 50% over 2023, which itself saw a similar increase over 2022. As a result, selecting the best papers proved especially challenging. In this document, we describe the methodology we employed—a process we believe is fair, upholds high standards of quality, and emphasizes consensus and expert judgment. We hope it will be useful for others.
- 27 August 2026
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 44 (3) , 1-7
Open AccessSelecting ASPLOS Best Papers: A Guide
ASPLOS 2024 received a record of 922 submissions (spread across three review cycles), from which 194 papers were accepted. This record represents an increase of about 50% over 2023, which itself saw a similar increase over 2022. As a result, selecting the best papers proved especially challenging. In this document, we describe the methodology we employed—a process we believe is fair, upholds high standards of quality, and emphasizes consensus and expert judgment. We hope it will be useful for others.
- Open Access
- 27 August 2026
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 44 (3) , 1-4
Introduction to the Special Section on ASPLOS 2024
- 27 August 2026
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 44 (3) , 1-4
Open AccessIntroduction to the Special Section on ASPLOS 2024
- Open Access
- 22 March 2026
- Published by Association for Computing Machinery (ACM)
- p. 1201-1215
MSCCL++: Rethinking GPU Communication Abstractions for AI Inference
- 22 March 2026
- Published by Association for Computing Machinery (ACM)
- p. 1201-1215
Open AccessMSCCL++: Rethinking GPU Communication Abstractions for AI Inference
- Top Cited PapersOpen Access
- 1 March 2025
- Published by Association for Computing Machinery (ACM)
- p. 137-149
LLM-Vectorizer: LLM-Based Verified Loop Vectorizer
Vectorization is a powerful optimization technique that significantly boosts the performance of high performance computing applications operating on large data arrays. Despite decades of research on auto-vectorization, compilers frequently miss opportunities to vectorize code. On the other hand, writing vectorized code manually using compiler intrinsics is still a complex, error-prone task that demands deep knowledge of specific architecture and compilers. In this paper, we evaluate the potential of large-language models (LLMs) to generate vectorized (Single Instruction Multiple Data) code from scalar programs that process individual array elements. We propose a novel finite-state-machine multi-agents based approach that harnesses LLMs and test-based feedback to generate vectorized code. Our findings indicate that LLMs are capable of producing high-performance vectorized code with run-time speedup ranging from 1.1x to 9.4x as compared to the state-of-the-art compilers such as Intel Compiler, GCC, and Clang. To verify the correctness of vectorized code, we use Alive2, a leading bounded translation validation tool for LLVM IR. We describe a few domain-specific techniques to improve the scalability of Alive2 on our benchmark dataset. Overall, our approach is able to verify 38.2% of vectorizations as correct on the TSVC benchmark dataset.
- 1 March 2025
- Published by Association for Computing Machinery (ACM)
- p. 137-149
Top Cited PapersOpen AccessLLM-Vectorizer: LLM-Based Verified Loop Vectorizer
Vectorization is a powerful optimization technique that significantly boosts the performance of high performance computing applications operating on large data arrays. Despite decades of research on auto-vectorization, compilers frequently miss opportunities to vectorize code. On the other hand, writing vectorized code manually using compiler intrinsics is still a complex, error-prone task that demands deep knowledge of specific architecture and compilers. In this paper, we evaluate the potential of large-language models (LLMs) to generate vectorized (Single Instruction Multiple Data) code from scalar programs that process individual array elements. We propose a novel finite-state-machine multi-agents based approach that harnesses LLMs and test-based feedback to generate vectorized code. Our findings indicate that LLMs are capable of producing high-performance vectorized code with run-time speedup ranging from 1.1x to 9.4x as compared to the state-of-the-art compilers such as Intel Compiler, GCC, and Clang. To verify the correctness of vectorized code, we use Alive2, a leading bounded translation validation tool for LLVM IR. We describe a few domain-specific techniques to improve the scalability of Alive2 on our benchmark dataset. Overall, our approach is able to verify 38.2% of vectorizations as correct on the TSVC benchmark dataset.
- Open Access
- 4 November 2024
- Published by Association for Computing Machinery (ACM)
- p. 63-78
If At First You Don’t Succeed, Try, Try, Again...? Insights and LLM-informed Tooling for Detecting Retry Bugs in Software Systems
Retry---the re-execution of a task on failure---is a common mechanism to enable resilient software systems. Yet, despite its commonality and long history, retry remains difficult to implement and test. Guided by our study of real-world retry issues, we propose a novel suite of static and dynamic techniques to detect retry problems in software. We find that the ad-hoc nature of retry implementation poses challenges for traditional program analysis but can be well suited for large language models; and that carefully repurposing existing unit tests can, along with fault injection, expose various types of retry problems.
- 4 November 2024
- Published by Association for Computing Machinery (ACM)
- p. 63-78
Open AccessIf At First You Don’t Succeed, Try, Try, Again...? Insights and LLM-informed Tooling for Detecting Retry Bugs in Software Systems
Retry---the re-execution of a task on failure---is a common mechanism to enable resilient software systems. Yet, despite its commonality and long history, retry remains difficult to implement and test. Guided by our study of real-world retry issues, we propose a novel suite of static and dynamic techniques to detect retry problems in software. We find that the ad-hoc nature of retry implementation poses challenges for traditional program analysis but can be well suited for large language models; and that carefully repurposing existing unit tests can, along with fault injection, expose various types of retry problems.
- Open Access
- 14 April 2024
- Published by Association for Computing Machinery (ACM)
- p. 410-411
NL2Fix: Generating Functionally Correct Code Edits from Bug Descriptions
- 14 April 2024
- Published by Association for Computing Machinery (ACM)
- p. 410-411
Open AccessNL2Fix: Generating Functionally Correct Code Edits from Bug Descriptions
- Open Access
- 14 April 2024
- Published by Association for Computing Machinery (ACM)
- p. 390-391
Exploring the Effectiveness of LLM based Test-driven Interactive Code Generation: User Study and Empirical Evaluation
- 14 April 2024
- Published by Association for Computing Machinery (ACM)
- p. 390-391
Open AccessExploring the Effectiveness of LLM based Test-driven Interactive Code Generation: User Study and Empirical Evaluation
- Open Access
- 22 June 2023
- Published by Association for Computing Machinery (ACM)
- p. 87-93
HotGPT: How to Make Software Documentation More Useful with a Large Language Model?
It is well known that valuable information is contained in the natural language components of software systems, like comments and manual, and such information can be used to improve system performance and reliability. Past research has attempted to extract such information through task-specific machine learning models and tool chains. Here, we investigate a general, one-model-fit-all solution through a state-of-the-art large language model (e.g., the GPT series). Our investigation covers three representative tasks: extracting locking rules from comments, synthesizing exception predicates from comments, and identifying performance-related configurations; it reveals challenges and opportunities in applying large language models to system maintenance tasks.
- 22 June 2023
- Published by Association for Computing Machinery (ACM)
- p. 87-93
Open AccessHotGPT: How to Make Software Documentation More Useful with a Large Language Model?
It is well known that valuable information is contained in the natural language components of software systems, like comments and manual, and such information can be used to improve system performance and reliability. Past research has attempted to extract such information through task-specific machine learning models and tool chains. Here, we investigate a general, one-model-fit-all solution through a state-of-the-art large language model (e.g., the GPT series). Our investigation covers three representative tasks: extracting locking rules from comments, synthesizing exception predicates from comments, and identifying performance-related configurations; it reveals challenges and opportunities in applying large language models to system maintenance tasks.
- Open Access
- 8 May 2023
- Published by Association for Computing Machinery (ACM)
- p. 111-126
WAFFLE: Exposing Memory Ordering Bugs Efficiently with Active Delay Injection
- 8 May 2023
- Published by Association for Computing Machinery (ACM)
- p. 111-126
Open AccessWAFFLE: Exposing Memory Ordering Bugs Efficiently with Active Delay Injection
- Open Access
Fault-Aware Neural Code Rankers
Large language models (LLMs) have demonstrated an impressive ability to generate code for various programming tasks. In many instances, LLMs can generate a correct program for a task when given numerous trials. Consequently, a recent trend is to do large scale sampling of programs using a model and then filtering/ranking the programs based on the program execution on a small number of known unit tests to select one candidate solution. However, these approaches assume that the unit tests are given and assume the ability to safely execute the generated programs (which can do arbitrary dangerous operations such as file manipulations). Both of the above assumptions are impractical in real-world software development. In this paper, we propose CodeRanker, a neural ranker that can predict the correctness of a sampled program without executing it. Our CodeRanker is fault-aware i.e., it is trained to predict different kinds of execution information such as predicting the exact compile/runtime error type (e.g., an IndexError or a TypeError). We show that CodeRanker can significantly increase the pass@1 accuracy of various code generation models (including Codex, GPT-Neo, GPT-J) on APPS, HumanEval and MBPP datasets.
Open AccessFault-Aware Neural Code Rankers
Large language models (LLMs) have demonstrated an impressive ability to generate code for various programming tasks. In many instances, LLMs can generate a correct program for a task when given numerous trials. Consequently, a recent trend is to do large scale sampling of programs using a model and then filtering/ranking the programs based on the program execution on a small number of known unit tests to select one candidate solution. However, these approaches assume that the unit tests are given and assume the ability to safely execute the generated programs (which can do arbitrary dangerous operations such as file manipulations). Both of the above assumptions are impractical in real-world software development. In this paper, we propose CodeRanker, a neural ranker that can predict the correctness of a sampled program without executing it. Our CodeRanker is fault-aware i.e., it is trained to predict different kinds of execution information such as predicting the exact compile/runtime error type (e.g., an IndexError or a TypeError). We show that CodeRanker can significantly increase the pass@1 accuracy of various code generation models (including Codex, GPT-Neo, GPT-J) on APPS, HumanEval and MBPP datasets.