中文
相关论文

相关论文: Q&A MAESTRO: Q&A Post Recommendation for Fixing Ja…

200 篇论文

Adding small code snippets at key points to existing code fragments is called instrumentation. It is an established technique to debug certain otherwise hard to solve faults, such as memory management issues and data races. Dynamic…

软件工程 · 计算机科学 2009-09-29 J. Maebe , K. De Bosschere

Software developers study and reuse existing source code to understand how to properly use application programming interfaces (APIs). However, manually finding sufficient and adequate code examples for a given API is a difficult and a…

软件工程 · 计算机科学 2022-08-02 Mohammad Ghafari , Konstantin Rubinov , Mohammad Mehdi Pourhashem K

Android framework-specific app crashes are hard to debug. Indeed, the callback-based event-driven mechanism of Android challenges crash localization techniques that are developed for traditional Java programs. The key challenge stems from…

软件工程 · 计算机科学 2020-08-05 Pingfan Kong , Li Li , Jun Gao , Timothée Riom , Yanjie Zhao , Tegawendé F. Bissyandé , Jacques Klein

Developers spend a significant amount of time searching their local codebase. To help them search efficiently, researchers have proposed novel tools that apply state-of-the-art information retrieval algorithms to retrieve relevant code…

软件工程 · 计算机科学 2014-01-28 Xi Ge , David Shepherd , Kostadin Damevski , Emerson Murphy-Hill

Test-based automated program repair has been a prolific field of research in software engineering in the last decade. Many approaches have indeed been proposed, which leverage test suites as a weak, but affordable, approximation to program…

In this paper we focus on exploiting a specification and the structures that satisfy it, to obtain a means of comparing implemented and expected behaviours and find the origin of faults in implementations. We present an approach to the…

软件工程 · 计算机科学 2013-03-06 Isabel Nunes , Filipe Luís

Event-driven programming is widely used for implementing user interfaces, web applications, and non-blocking I/O. An event-driven program is organized as a collection of event handlers whose execution is triggered by events. Traditional…

编程语言 · 计算机科学 2019-10-30 Ming-Ho Yee , Ayaz Badouraly , Ondřej Lhoták , Frank Tip , Jan Vitek

Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a common and useful technique that helps programmers detect incorrect program behaviors. This is specially true in dynamic languages such as…

Program errors can occur in any type of programming, and can manifest in a variety of ways, such as unexpected output, crashes, or performance issues. And program error diagnosis can often be too abstract or technical for developers to…

软件工程 · 计算机科学 2025-01-07 Zhenyu Xu , Victor S. Sheng

Question-&-Answer (QA) websites have emerged as efficient platforms for knowledge sharing and problem solving. In particular, the Stack Exchange platform includes some of the most popular QA communities to date, such as Stack Overflow.…

人机交互 · 计算机科学 2014-07-30 Felipe Ortega , Gregorio Convertino , Massimo Zancanaro , Tiziano Piccardi

Client-side Javascript execution environments (browsers) allow anonymous functions and event-based programming concepts such as callbacks. We investigate whether a mutate-and-test approach can be used to optimise web page load time in these…

Bug-fix benchmarks are essential for evaluating methodologies in automatic program repair (APR) and fault localization (FL). However, existing benchmarks, exemplified by Defects4J, need to evolve to incorporate recent bug-fixes aligned with…

软件工程 · 计算机科学 2024-11-04 André Silva , Nuno Saavedra , Martin Monperrus

This paper presents the results of a research study related to software system failures, with the goal of understanding how we might better evolve, maintain and support software systems in production. We have qualitatively analyzed thirty…

软件工程 · 计算机科学 2020-08-26 Jonathan Sillito , Esdras Kutomi

In software, there are the errors anticipated at specification and design time, those encountered at development and testing time, and those that happen in production mode yet never anticipated. In this paper, we aim at reasoning on the…

软件工程 · 计算机科学 2014-01-03 Benoit Cornu , Lionel Seinturier , Martin Monperrus

A stack overflow occurs when a program or process tries to store more data in a buffer (or stack) than it was intended to hold. If the affected program is running with special privileges or accepts data from untrusted network hosts (e.g. a…

密码学与安全 · 计算机科学 2019-11-07 Md. Masudur Rahman , B M Mainul Hossain

Large Language Models (LLMs) have shown promising results in automatic code generation by improving coding efficiency to a certain extent. However, generating high-quality and reliable code remains a formidable task because of LLMs' lack of…

软件工程 · 计算机科学 2023-09-28 Xiaoxue Ren , Xinyuan Ye , Dehai Zhao , Zhenchang Xing , Xiaohu Yang

Nowadays, many applications do not exist independently but rely on various frameworks or libraries. The frequent evolution and the complex implementation of framework APIs induce many unexpected post-release crashes. Starting from the crash…

软件工程 · 计算机科学 2024-08-23 Jiwei Yan , Jinhao Huang , Chunrong Fang , Jun Yan , Jian Zhang

Developers often insert temporary "print" or "log" instructions into their code to help them better understand runtime behavior, usually when the code is not behaving as they expected. Despite the fact that such monitoring instructions, or…

软件工程 · 计算机科学 2025-04-18 Yi-Hung Chou , Yiyang Min , April Yi Wang , James A. Jones

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…

软件工程 · 计算机科学 2018-08-09 Aline Brito , Laerte Xavier , Andre Hora , Marco Tulio Valente

Although web applications evolved to mature solutions providing sophisticated user experience, they also became complex for the same reason. Complexity primarily affects the server-side generation of dynamic pages as they are aggregated…

软件工程 · 计算机科学 2010-09-21 Benjamin Kersten , Michael Goedicke