English
Related papers

Related papers: Changes from the Trenches: Should We Automate Them…

200 papers

Data from software repositories have become an important foundation for the empirical study of software engineering processes. A recurring theme in the repository mining literature is the inference of developer networks capturing e.g.…

Software Engineering · Computer Science 2019-11-22 Christoph Gote , Ingo Scholtes , Frank Schweitzer

The research applies AI-driven code assistants to analyze a selection of influential computer code that has shaped modern technology, including email, internet browsing, robotics, and malicious software. The original contribution of this…

Machine Learning · Computer Science 2023-01-10 David Noever , Kevin Williams

Many research areas in software engineering, such as mutation testing, automatic repair, fault localization, and fault injection, rely on empirical knowledge about recurring bug-fixing code changes. Previous studies in this field focus on…

Software Engineering · Computer Science 2019-08-30 Domenico Cotroneo , Luigi De Simone , Antonio Ken Iannillo , Roberto Natella , Stefano Rosiello , Nematollah Bidokhti

Lehman's Laws teach us that a software system will become progressively less satisfying to its users over time, unless it is continually adapted to meet new needs. Understanding software maintenance can potentially relieve many of the pains…

Software Engineering · Computer Science 2019-03-13 Stanislav Levin , Amiram Yehudai

Software comes in releases. An implausible change to software is something that has never been changed in prior releases. When planning how to reduce defects, it is better to use plausible changes, i.e., changes with some precedence in the…

Software Engineering · Computer Science 2021-02-16 Kewen Peng , Tim Menzies

In programming education, teachers need to monitor and assess the progress of their students by investigating the code they write. Code quality of programs written in traditional programming languages can be automatically assessed with…

Software Engineering · Computer Science 2021-02-16 Nina Körber , Katharina Geldreich , Andreas Stahlbauer , Gordon Fraser

With the increasing complexity of large-scale software systems, identifying all necessary modifications for a specific change is challenging. Co-changed methods, which are methods frequently modified together, are crucial for understanding…

Software Engineering · Computer Science 2024-12-02 Yiping Jia , Safwat Hassan , Ying Zou

In this paper we introduce, MigrationMiner, an automated tool that detects code migrations performed between Java third-party library. Given a list of open source projects, the tool detects potential library migration code changes and…

Software Engineering · Computer Science 2019-07-17 Hussein Alrubaye , Mohamed Wiem Mkaouer , Ali Ouni

As programmers write code, they often edit and retry multiple times, creating rich "interaction traces" that reveal how they approach coding tasks and provide clues about their level of skill development. For novice programmers in…

Machine Learning · Computer Science 2026-04-16 Alexis Ross , Megha Srivastava , Jeremiah Blanchard , Jacob Andreas

The code base of software projects evolves essentially through inserting and removing information to and from the source code. We can measure this evolution via the elements of information - tokens, words, nodes - of the respective…

Software Engineering · Computer Science 2025-06-10 Adriano Torres , Sebastian Baltes , Christoph Treude , Markus Wagner

Developers must comprehend the code they will maintain, meaning that the code must be legible and reasonably self-descriptive. Unfortunately, there is still a lack of research and tooling that supports developers in understanding their…

Software Engineering · Computer Science 2021-07-20 Anthony Peruma , Venera Arnaoudova , Christian D. Newman

Research at the intersection of machine learning, programming languages, and software engineering has recently taken important steps in proposing learnable probabilistic models of source code that exploit code's abundance of patterns. In…

Software Engineering · Computer Science 2018-05-08 Miltiadis Allamanis , Earl T. Barr , Premkumar Devanbu , Charles Sutton

Efficient pattern matching is fundamental for practical term rewrite engines. By preprocessing the given patterns into a finite deterministic automaton the matching patterns can be decided in a single traversal of the relevant parts of the…

Logic in Computer Science · Computer Science 2023-06-22 Rick Erkens , Maurice Laveaux

Modern software development depends on APIs to reuse code and increase productivity. As most software systems, these libraries and frameworks also evolve, which may break existing clients. However, the main reasons to introduce breaking…

Software Engineering · Computer Science 2018-08-09 Aline Brito , Laerte Xavier , Andre Hora , Marco Tulio Valente

Code review is a practice widely adopted in open source and industrial projects. Given the non-negligible cost of such a process, researchers started investigating the possibility of automating specific code review tasks. We recently…

Software Engineering · Computer Science 2022-01-19 Rosalia Tufano , Simone Masiero , Antonio Mastropaolo , Luca Pascarella , Denys Poshyvanyk , Gabriele Bavota

Artificial Intelligence has gained a lot of traction in the recent years, with machine learning notably starting to see more applications across a varied range of fields. One specific machine learning application that is of interest to us…

Software Engineering · Computer Science 2023-05-10 Teodor Rares Begu

Background: Bots help automate many of the tasks performed by software developers and are widely used to commit code in various social coding platforms. At present, it is not clear what types of activities these bots perform and…

Software Engineering · Computer Science 2020-11-10 Tapajit Dey , Bogdan Vasilescu , Audris Mockus

Source code reviews are manual, time-consuming, and expensive. Human involvement should be focused on analyzing the most relevant aspects of the program, such as logic and maintainability, rather than amending style, syntax, or formatting…

Machine Learning · Computer Science 2019-04-02 Vadim Markovtsev , Waren Long , Hugo Mougard , Konstantin Slavnov , Egor Bulychev

We present Open-CD, a change detection toolbox that contains a rich set of change detection methods as well as related components and modules. The toolbox started from a series of open source general vision task tools, including OpenMMLab…

Computer Vision and Pattern Recognition · Computer Science 2025-04-14 Kaiyu Li , Jiawei Jiang , Andrea Codegoni , Chengxi Han , Yupeng Deng , Keyan Chen , Zhuo Zheng , Hao Chen , Ziyuan Liu , Yuantao Gu , Zhengxia Zou , Zhenwei Shi , Sheng Fang , Deyu Meng , Zhi Wang , Xiangyong Cao

Identifier names play a significant role in program comprehension activities, with high-quality names improving developer productivity and system quality. To correct poor-quality names, developers rename identifiers to reflect their…

Software Engineering · Computer Science 2023-02-27 Anthony Peruma , Christian D. Newman