中文
相关论文

相关论文: How Different Are Different diff Algorithms in Git…

200 篇论文

A vigorous and growing set of technical debt analysis tools have been developed in recent years -- both research tools and industrial products -- such as Structure 101, SonarQube, and DV8. Each of these tools identifies problematic files…

软件工程 · 计算机科学 2021-03-09 Jason Lefever , Yuanfang Cai , Humberto Cervantes , Rick Kazman , Hongzhou Fang

Source code diffs are used on a daily basis as part of code review, inspection, and auditing. To facilitate understanding, they are typically accompanied by explanations that describe the essence of what is changed in the program. As…

软件工程 · 计算机科学 2023-10-13 Khashayar Etemadi , Aman Sharma , Fernanda Madeiral , Martin Monperrus

Patching is a common activity in software development. It is generally performed on a source code base to address bugs or add new functionalities. In this context, given the recurrence of bugs across projects, the associated similar patches…

Context: Data miners have been widely used in software engineering to, say, generate defect predictors from static code measures. Such static code defect predictors perform well compared to manual methods, and they are easy to use and…

软件工程 · 计算机科学 2016-09-12 Wei Fu , Tim Menzies , Xipeng Shen

The most natural method for evaluating program repair systems is to run them on bug datasets, such as Defects4J. Yet, using this evaluation technique on arbitrary real-world programs requires heavy configuration. In this paper, we propose a…

软件工程 · 计算机科学 2022-02-22 Khashayar Etemadi , Niloofar Tarighat , Siddharth Yadav , Matias Martinez , Martin Monperrus

Tangled code changes, commits that conflate unrelated modifications such as bug fixes, refactorings, and enhancements, introduce significant noise into bug datasets and adversely affect the performance of bug prediction models. Addressing…

软件工程 · 计算机科学 2025-10-28 Md Nahidul Islam Opu , Shaowei Wang , Shaiful Chowdhury

\textbf{A}ccuracy, \textbf{R}obustness to noises and scales, \textbf{I}nterpretability, \textbf{S}peed, and \textbf{E}asy to use (ARISE) are crucial requirements of a good clustering algorithm. However, achieving these goals simultaneously…

机器学习 · 计算机科学 2021-10-05 Zhangyang Gao , Haitao Lin , Cheng Tan , Lirong Wu , Stan. Z Li

Software maintenance and evolution involves critical activities for the success of software projects. To support such activities and keep code up-to-date and error-free, software communities make use of issue trackers, i.e., tools for…

软件工程 · 计算机科学 2021-07-22 Rafael Kallis , Andrea Di Sorbo , Gerardo Canfora , Sebastiano Panichella

Software source code often harbours "hotspots": small portions of the code that change far more often than the rest of the project and thus concentrate maintenance activity. We mine the complete version histories of 91 evolving, actively…

软件工程 · 计算机科学 2026-02-16 Saleha Muzammil , Mughees Ur Rehman , Zoe Kotti , Diomidis Spinellis

Mining repetitive code changes from version control history is a common way of discovering unknown change patterns. Such change patterns can be used in code recommender systems or automated program repair techniques. While there are such…

软件工程 · 计算机科学 2023-04-12 Akalanka Galappaththi , Sarah Nadi

Many software engineering research papers rely on time-based data (e.g., commit timestamps, issue report creation/update/close dates, release dates). Like most real-world data however, time-based data is often dirty. To date, there are no…

软件工程 · 计算机科学 2022-09-13 Samuel W. Flint , Jigyasa Chauhan , Robert Dyer

The source code of Function as a Service (FaaS) applications is constantly being refined. To detect if a source code change introduces a significant performance regression, the traditional benchmarking approach evaluates both the old and…

分布式、并行与集群计算 · 计算机科学 2023-11-08 Martin Grambow , Tim Dockenfuß , Trever Schirmer , Nils Japke , David Bermbach

Golang (also known as Go for short) has become popular in building concurrency programs in distributed systems. As the unique features, Go employs lightweight Goroutines to support highly parallelism in user space. Moreover, Go leverages…

编程语言 · 计算机科学 2022-01-27 Chongxin Zhong , Qidong Zhao , Xu Liu

As the complexity and size of software projects increases in real-world environments, maintaining and creating maintainable and dependable code becomes harder and more costly. Refactoring is considered as a method for enhancing the internal…

软件工程 · 计算机科学 2018-11-27 Mohammad Raji

In software engineering, log statement is an important part because programmers can't access to users' program and they can only rely on log message to find the root of bugs. The mechanism of "log level" allows developers and users to…

软件工程 · 计算机科学 2019-12-12 Mingzhe Li , Jianrui Pei , Jin He , Kevin Song , Frank Che , Yongfeng Huang , Chitai Wang

Automatically detecting software failures is an important task and a longstanding challenge. It requires finding failure-inducing test cases whose test input can trigger the software's fault, and constructing an automated oracle to detect…

软件工程 · 计算机科学 2023-09-12 Tsz-On Li , Wenxi Zong , Yibo Wang , Haoye Tian , Ying Wang , Shing-Chi Cheung , Jeff Kramer

Incremental and parallel builds are crucial features of modern build systems. Parallelism enables fast builds by running independent tasks simultaneously, while incrementality saves time and computing resources by processing the build…

软件工程 · 计算机科学 2023-12-05 Thodoris Sotiropoulos , Stefanos Chaliasos , Dimitris Mitropoulos , Diomidis Spinellis

Currently, most machine learning models are trained by centralized teams and are rarely updated. In contrast, open-source software development involves the iterative development of a shared artifact through distributed collaboration using a…

Learning distributed representations of source code has been a challenging task for machine learning models. Earlier works treated programs as text so that natural language methods can be readily applied. Unfortunately, such approaches do…

软件工程 · 计算机科学 2020-05-28 Yu Wang , Fengjuan Gao , Linzhang Wang , Ke Wang

Much research on software engineering and software testing relies on experimental studies based on fault injection. Fault injection, however, is not often relevant to emulate real-world software faults since it "blindly" injects large…