- Software Testing and Debugging Techniques
- Software Reliability and Analysis Research
- Software Engineering Research
- Advanced Malware Detection Techniques
- Coding theory and cryptography
- Parallel Computing and Optimization Techniques
- Radiation Effects in Electronics
The University of Texas at Dallas
2019-2024
Automated Program Repair (APR) is one of the most recent advances in automated debugging, and can directly fix buggy programs with minimal human intervention. Although various advanced APR techniques (including search-based or semantic-based ones) have been proposed, they mainly work at source-code level it not clear how bytecode-level performs practice. Also, empirical studies existing on bugs beyond what has reported original papers are rather limited. In this paper, we implement first...
Automated debugging techniques, including fault localization and program repair, have been studied for over a decade. However, the only existing connection between repair is that computes potential buggy elements to patch. Recently, pioneering work, ProFL, explored idea of unified unify in other direction first time boost both areas. More specifically, ProFL utilizes patch execution results from one state-of-the-art system, PraPR, help improve localization. In this way, not improves manual...
Software engineering studies, such as bug detection, localization, repair, and prediction, often require benchmark datasets for their experiments. Few publicly available reproducible exist research consumption. Such which tend to be applicable exclusively towards the most popular traditional programming languages (e.g., Defects4J Java CoreBench C). Thus, creation widespread usage of other modern JVM (Java Virtual Machine) serve provide vital resources software research. This paper introduces...
Automated debugging techniques, including fault localization and program repair, have been studied for over a decade. However, the only existing connection between repair is that computes potential buggy elements to patch. Recently, pioneering work, ProFL, explored idea of <i>unified debugging</i> unify in other direction first time boost both areas. More specifically, ProFL utilizes patch execution results from one state-of-the-art system, PraPR, help improve localization. In this way, not...
API misuses are prevalent and extremely harmful. Despite various techniques have been proposed for API-misuse detection, it is not even clear how different types of distribute whether existing covered all major misuses. Therefore, in this paper, we conduct the first large-scale empirical study on based 528,546 historical bug-fixing commits from GitHub (from 2011 to 2018). By leveraging a state-of-the-art fine-grained AST differencing tool, GumTree, extract more than one million edit...
Program repair is an integral part of every software system's life-cycle but can be extremely challenging. To date, various automated program (APR) techniques have been proposed to reduce manual debugging efforts. However, given a real-world buggy program, typical APR technique generate large number patches, each which needs validated against the original test suite, incurring high computation costs. Although existing already leveraged static and/or dynamic information find desired patches...
In recent years, Automated Program Repair (APR) has been extensively studied in academia and even drawn wide attention from the industry. However, APR techniques can be extremely time consuming since (1) a large number of patches generated for given bug, (2) each patch needs to executed on original tests ensure its correctness. literature, various (e.g., based learning, mining, constraint solving) have proposed/studied reduce patches. Intuitively, every treated as software revision during...
Program repair is an integral part of every software system's life-cycle but can be extremely challenging. To date, researchers have proposed various automated program (APR) techniques to reduce efforts manual debugging. However, given a real-world buggy program, typical APR technique usually generates large number patches, each which needs validated against the original test suite incurs high computation costs. Although existing already leveraged static and/or dynamic information find...
APR techniques can be extremely time consuming since (1) a large number of patches generated for given bug, and (2) each patch needs to executed on the original tests ensure its correctness. In literature, various (e.g., based learning, mining, constraint solving) have been proposed/studied reduce patches. However, there is limited study impact test selection only affected by need as other would keep same outcomes skipped), few systems actually apply selection. Therefore, this paper conducts...