11 citations · 41 across the 11 of their papers we have counts for
15 papers
Program Repair
Xiang Gao, Yannic Noller, Abhik Roychoudhury
Automated program repair is an emerging technology which consists of a suite of techniques to automatically fix bugs or vulnerabilities in programs. In this paper, we present a com…
Automated Repair of Programs from Large Language Models
Zhiyu Fan, Xiang Gao, Martin Mirchev +2
Large language models such as Codex, have shown the capability to produce code for many programming tasks. However, the success rate of existing models is low, especially for compl…
HIPPODROME: Data Race Repair using Static Analysis Summaries
Andreea Costea, Abhishek Tiwari, Sigmund Chianasta +3
Implementing bug-free concurrent programs is a challenging task in modern software development. State-of-the-art static analyses find hundreds of concurrency bugs in production cod…
Trust Enhancement Issues in Program Repair
Yannic Noller, Ridwan Shariffdeen, Xiang Gao +1
Automated program repair is an emerging technology that seeks to automatically rectify bugs and vulnerabilities using learning, search, and semantic analysis. Trust in automaticall…
Verifix: Verified Repair of Programming Assignments
Umair Z. Ahmed, Zhiyu Fan, Jooyong Yi +2
Automated feedback generation for introductory programming assignments is useful for programming education. Most works try to generate feedback to correct a student program by comp…
Localizing Patch Points From One Exploit
Shiqi Shen, Aashish Kolluri, Zhen Dong +2
Automatic patch generation can significantly reduce the window of exposure after a vulnerability is disclosed. Towards this goal, a long-standing problem has been that of patch loc…
Synthesizing Tasks for Block-based Programming
Umair Z. Ahmed, Maria Christakis, Aleksandr Efremov +4
Block-based visual programming environments play a critical role in introducing computing concepts to K-12 students. One of the key pedagogical challenges in these environments is…
Concurrency-related Flaky Test Detection in Android apps
Zhen Dong, Abhishek Tiwari, Xiao Liang Yu +1
Validation of Android apps via testing is difficult owing to the presence of flaky tests. Due to non-deterministic execution environments, a sequence of events (a test) may lead to…
Smart Contract Repair
Xiao Liang Yu, Omar Al-Bataineh, David Lo +1
Smart contracts are automated or self-enforcing contracts that can be used to exchange assets without having to place trust in third parties. Many commercial transactions use smart…
KLEESPECTRE: Detecting Information Leakage through Speculative Cache Attacks via Symbolic Execution
Guanhua Wang, Sudipta Chattopadhyay, Arnab Kumar Biswas +2
Spectre attacks disclosed in early 2018 expose data leakage scenarios via cache side channels. Specifically, speculatively executed paths due to branch mis-prediction may bring sec…
Smart Greybox Fuzzing
Van-Thuan Pham, Marcel Böhme, Andrew E. Santosa +2
Coverage-based greybox fuzzing (CGF) is one of the most successful methods for automated vulnerability detection. Given a seed file (as a sequence of bits), CGF randomly flips, del…
Symbolic Verification of Cache Side-channel Freedom
Sudipta Chattopadhyay, Abhik Roychoudhury
Cache timing attacks allow third-party observers to retrieve sensitive information from program executions. But, is it possible to automatically check the vulnerability of a progra…
Neuro-Symbolic Execution: The Feasibility of an Inductive Approach to Symbolic Execution
Shiqi Shen, Soundarya Ramesh, Shweta Shinde +2
Symbolic execution is a powerful technique for program analysis. However, it has many limitations in practical applicability: the path explosion problem encumbers scalability, the…
BesFS: A POSIX Filesystem for Enclaves with a Mechanized Safety Proof
Shweta Shinde, Shengyi Wang, Pinghai Yuan +3
New trusted computing primitives such as Intel SGX have shown the feasibility of running user-level applications in enclaves on a commodity trusted processor without trusting a lar…
Partitioning Patches into Test-equivalence Classes for Scaling Program Repair
Sergey Mechtaev, Xiang Gao, Shin Hwei Tan +1
Automated program repair is a problem of finding a transformation (called a patch) of a given incorrect program that eliminates the observable failures. It has important applicatio…