Photographic image of Samuel Benton

Samuel Benton

Software Engineering Doctoral Candidate

Who Am I?

Hello, my name is Samuel Benton! I earned my B.S. in Software Engineering and B.S. in Computer Engineering in 2016 and Masters in Software Engineering in 2019 from the University of Texas at Dallas. I am a currently Software Engineering doctoral candidate attending the University of Texas at Dallas under the supervision of Dr. Lingming Zhang and Dr. Adrian Marcus.

Software Engineering Research Topics

My current research area focuses on software testing, particularly improving various areas of software repair. Recent research topics and interests include:

  • automated program repair (APR)
  • software safety
  • software security
  • machine learning (ML)
  • software maintenance

If you are a Multimedia Fusion 2 user or Clickteam Fusion user, you can find an archive of my old MMF2 / Fusion tutorials elsewhere on this domain at fusion.xable.info.

Software Engineering Research Publications

https://orcid.org/0000-0003-0592-802X

Logo of ISSTA'19, hosted In Beijing

Practical Program Repair via Bytecode Mutation

This paper introduces PraPR, a new automated program repair technique based on the existing PIT mutation testing tool. The technique performs program modifications at the bytecode level, ultimately allowing construction of more program variants faster while simultaneously decreasing variant test time. At publication, PraPR found 43 genuine repair patches for 395 bugs from the Defects4J v1.20 dataset.

Conference: International Symposium of Software Testing and Analysis (2019)

Paper Linkhttps://dl.acm.org/doi/10.1145/3293882.3330559

Github Linkhttps://github.com/prapr/prapr

Logo of the ICSE'19 software engineering conference, hosted in Montreal Canada

Defexts: A Curated Dataset of Reproducible Real-World Bugs for Modern JVM Languages

This paper introduces Defexts, a family of bug datasets extracted from real-world projects hosted on Github. Defexts’ goal is to help promote research in less commonly used JVM languages, such as Kotlin and Scala, through the distribution of new bug datasets focused in these JVM languages. At publication Defexts contained two datasets, Defexts-Kotlin and Defexts-Groovy, and now includes Defexts-Scala. We are currently working to improve the dataset to allow for easier access by end-users.

Conference: International Conference of Software Engineering (2019)

Paper Linkhttps://ieeexplore.ieee.org/document/8802677

Github Linkhttps://github.com/ProdigyXable/defexts

Logo of ASE'2020

On the Effectiveness of Unified Debugging: An Extensive Study on 16 Program Repair Systems

This paper extends the idea of unified debugging, the idea of using program repair execution results to further improve fault localization and consequent repair attempts, to 15 other Java-based automatic repair tools. The paper contributes five new findings to the area of unified debugging, describes two new techniques, and releases the experimental raw data for interested parties to view.

Conference: International Conference of Automated Software Engineering (2020)

Paper Linkhttps://doi.org/10.1145/3324884.3416566

Github Linkhttps://www.github.com/ProdigyXable/UnifiedDebuggingStudy

Logo of the ICST'21 software engineering conference. hosted virtually

A Large-scale Study on API Misuses in the Wild

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 API misuses distribute and whether existing techniques have covered all major types of API misuses. Therefore, in this paper, we conduct the first large-scale empirical study on API misuses based on 528,546 historical bug-fixing commits from GitHub (from 2011 to 2018).

Conference: International Conference of Software Testing (2021)

Paper Linkhttps://doi.org/10.1109/ICST49551.2021.00034

Logo of the ISSTA'21 software engineering conference, hosted virtually

How Does Regression Test Selection Affect Program Repair?
An Extensive Study on 2 Million Patches

In the past decade, Automated Program Repair (APR) has been extensively studied in academia and even drawn wide attention from industry. However, APR techniques can be extremely time consuming since (1) a large number of patches can be generated for a given bug, and (2) each patch needs to be executed on the original tests to ensure its correctness. In the literature, various techniques (e.g., based on learning, mining, and constraint solving) have been proposed/studied to reduce the number of patches. However, there is limited study on the impact of test selection for each patch and few APR systems actually apply test selection. Therefore, this paper conducts the first extensive study to investigate the impact of Regression Test Selection (RTS) on APR.

Paper Link: https://arxiv.org/abs/2105.07311

Evaluating and Improving Unified Debugging

This paper even further extends the idea of unified debugging, the idea of using program repair execution results to further improve fault localization and consequent repair attempts. The paper evaluates the technique on 76.3% more bugs, evaluates the technique’s effectiveness at the statement level, assesses its viability in learning-based techniques, and describes another new technique.

Journal: IEEE Transactions on Software Engineering

Paper Link: https://doi.org/10.1109/TSE.2021.3125203

Quick Insights

9

Years in Software Engineering

6

Completed Research Projects

5

Conference Publications

Contact Me

You may contact me via any of the following methods

Primary Email

contact@xable.info

Website

Contact Me Form

Secondary Email

Samuel.Benton1@utdallas.edu