432 citations · 5.8k across the 150 of their papers we have counts for
18 papers · 2 filters
Using Sequence-to-Sequence Learning for Repairing C Vulnerabilities
Zimin Chen, Steve Kommrusch, Martin Monperrus
Software vulnerabilities affect all businesses and research is being done to avoid, detect or repair them. In this article, we contribute a new technique for automatic vulnerabilit…
Automatic Observability for Dockerized Java Applications
Long Zhang, Deepika Tiwari, Brice Morin +2
Docker is a virtualization technique heavily used in the industry to build cloud-based systems. In the context of Docker, a system is said to be observable if engineers can get acc…
Automated Classification of Overfitting Patches with Statically Extracted Code Features
He Ye, Jian Gu, Matias Martinez +2
Automatic program repair (APR) aims to reduce the cost of manually fixing software defects. However, APR suffers from generating a multitude of overfitting patches, those patches t…
Repairnator patches programs automatically
Martin Monperrus, Simon Urli, Thomas Durieux +3
Repairnator is a bot. It constantly monitors software bugs discovered during continuous integration of open-source software and tries to fix them automatically. If it succeeds in s…
Suggestions on Test Suite Improvements with Automatic Infection and Propagation Analysis
Oscar Luis Vera-Pérez, Benjamin Danglot, Martin Monperrus +1
An extreme transformation removes the body of a method that is reached by one test case at least. If the test suite passes on the original program and still passes after the extrem…
Automated Patch Assessment for Program Repair at Scale
He Ye, Matias Martinez, Martin Monperrus
In this paper, we do automatic correctness assessment for patches generated by program repair systems. We consider the human-written patch as ground truth oracle and randomly gener…
The Strengths and Behavioral Quirks of Java Bytecode Decompilers
Nicolas Harrand, César Soto-Valero, Martin Monperrus +1
During compilation from Java source code to bytecode, some information is irreversibly lost. In other words, compilation and decompilation of Java code is not symmetric. Consequent…
iFixR: Bug Report driven Program Repair
Anil Koyuncu, Kui Liu, Tegawendé F. Bissyandé +4
Issue tracking systems are commonly used in modern software development for collecting feedback from users and developers. An ultimate automation target of software maintenance is…
Observability and Chaos Engineering on System Calls for Containerized Applications in Docker
Jesper Simonsson, Long Zhang, Brice Morin +2
In this paper, we present a novel fault injection system called ChaosOrca for system calls in containerized applications. ChaosOrca aims at evaluating a given application's self-pr…
Learning the Relation between Code Features and Code Transforms with Structured Prediction
Zhongxing Yu, Matias Martinez, Zimin Chen +2
To effectively guide the exploration of the code transform space for automated code evolution techniques, we present in this paper the first approach for structurally predicting co…
Explainable Software Bot Contributions: Case Study of Automated Bug Fixes
Martin Monperrus
In a software project, esp. in open-source, a contribution is a valuable piece of work made to the project: writing code, reporting bugs, translating, improving documentation, crea…
An Analysis of 35+ Million Jobs of Travis CI
Thomas Durieux, Rui Abreu, Martin Monperrus +2
Travis CI handles automatically thousands of builds every day to, amongst other things, provide valuable feedback to thousands of open-source developers. In this paper, we investig…
Styler: learning formatting conventions to repair Checkstyle violations
Benjamin Loriot, Fernanda Madeiral, Martin Monperrus
Ensuring the consistent usage of formatting conventions is an important aspect of modern software quality assurance. While formatting convention violations can be automatically det…
D&C: A Divide-and-Conquer Approach to IR-based Bug Localization
Anil Koyuncu, Tegawendé F. Bissyandé, Dongsun Kim +4
Many automated tasks in software maintenance rely on information retrieval techniques to identify specific information within unstructured data. Bug localization is such a typical…
An Approach and Benchmark to Detect Behavioral Changes of Commits in Continuous Integration
Benjamin Danglot, Martin Monperrus, Walter Rudametkin +1
When a developer pushes a change to an application's codebase, a good practice is to have a test case specifying this behavioral change. Thanks to continuous integration (CI), the…
Bears: An Extensible Java Bug Benchmark for Automatic Program Repair Studies
Fernanda Madeiral, Simon Urli, Marcelo Maia +1
Benchmarks of bugs are essential to empirically evaluate automatic program repair tools. In this paper, we present Bears, a project for collecting and storing bugs into an extensib…
A Journey Among Java Neutral Program Variants
Nicolas Harrand, Simon Allier, Marcelino Rodriguez-Cancio +2
Neutral program variants are functionally similar to an original program, yet implement slightly different behaviors. Techniques such as approximate computing or genetic improvemen…
SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repair
Zimin Chen, Steve Kommrusch, Michele Tufano +3
This paper presents a novel end-to-end approach to program repair based on sequence-to-sequence learning. We devise, implement, and evaluate a system, called SequenceR, for fixing…