English
Related papers

Related papers: On the Bug-proneness of Structures Inspired by Fun…

200 papers

Fuzzing has become a popular technique for automatically detecting vulnerabilities and bugs by generating unexpected inputs. In recent years, the fuzzing process has been integrated into continuous integration workflows (i.e., continuous…

Software Engineering · Computer Science 2026-02-06 Tatsuya Shirai , Olivier Nourry , Yutaro Kashiwa , Kenji Fujiwara , Hajimu Iida

Dependency management in modern software development poses many challenges for developers who wish to stay up to date with the latest features and fixes whilst ensuring backwards compatibility. Project maintainers have opted for varied, and…

Software Engineering · Computer Science 2021-10-19 Abbas Javan Jafari , Diego Elias Costa , Rabe Abdalkareem , Emad Shihab , Nikolaos Tsantalis

Throughout the history of functional programming, recursion has emerged as a natural method for describing loops in programs. However, there does often exist a substantial cognitive distance between the recursive definition and the simplest…

Programming Languages · Computer Science 2020-02-17 Satoshi Egi , Yuichi Nishiwaki

Well structured and readable source code is a pre-requisite for maintainable software and successful collaboration among developers. Static analysis enables the automated extraction of code complexity and readability metrics which can be…

Software Engineering · Computer Science 2021-10-29 Gustaf Holst , Felix Dobslaw

Generative Large Language Models (LLMs) are increasingly used in non-generative software maintenance tasks, such as fault localization (FL). Success in FL depends on a models ability to reason about program semantics beyond surface-level…

We recommend a programming construct - availability check - for programs that need to automatically adjust to presence or absence of segments of code. The idea is to check the existence of a valid definition before a function call is…

Programming Languages · Computer Science 2007-05-23 Joy Mukherjee , Srinidhi Varadarajan

Change in language use is driven by cultural forces; it is unclear whether that extends to programming languages. They are designed to be used by humans, but interaction with computer hardware rather than a human audience may limit…

Programming Languages · Computer Science 2022-08-29 Timothy L Staples

Context: Code coverage is widely used as a software quality assurance measure. However, its effect, and specifically the advisable dose, are disputed in both the research and engineering communities. Prior work reports only correlational…

Software Engineering · Computer Science 2026-02-04 Lukas Schulte , Gordon Fraser , Steffen Herbold

This paper presents a large-scale study that investigates the bug resolution characteristics among popular Github projects written in different programming languages. We explore correlations but, of course, we cannot infer causation.…

Software Engineering · Computer Science 2020-01-07 Jie M. Zhang , Feng Li , Dan Hao , Meng Wang , Hao Tang , Lu Zhang , Mark Harman

As a software system evolves, its architecture tends to degrade, and gradually impedes software maintenance and evolution activities and negatively impacts the quality attributes of the system. The main root cause behind architecture…

Software Engineering · Computer Science 2023-08-07 Ruiyin Li , Peng Liang , Paris Avgeriou

Functional programming provides strong foundations for developing reliable and secure software systems, yet its adoption remains not widespread due to the steep learning curve. Recent advances in Large Language Models (LLMs) for code…

Programming Languages · Computer Science 2026-01-06 Nguyet-Anh H. Lang , Eric Lang , Thanh Le-Cong , Bach Le , Quyet-Thang Huynh

Flaky tests pose a significant issue for software testing. A test with a non-deterministic outcome may undermine the reliability of the testing process, making tests untrustworthy. Previous research has identified test order dependency as…

Software Engineering · Computer Science 2025-01-23 Negar Hashemi , Amjed Tahir , Shawn Rasheed , August Shi , Rachel Blagojevic

Users of program analyses expect that results change predictably in response to changes in their programs, but many analyses fail to provide such robustness. This paper introduces a theoretical framework that provides a unified language to…

Programming Languages · Computer Science 2026-04-14 Zachary Kincaid , Shaowei Zhu

Functional Programming has seen a resurgence in interest in the last few years and is often mentioned in opposition to Object-Orientated Programming. However, Object-Orientated Programming can actually absorb some of the lessons of…

Programming Languages · Computer Science 2021-04-02 Seamus Brady

Context: Modern software systems (e.g., Apache Spark) are usually written in multiple programming languages (PLs). There is little understanding on the phenomenon of multi-programming-language commits (MPLCs), which involve modified source…

Software Engineering · Computer Science 2023-11-16 Zengyang Li , Xiaoxiao Qi , Qinyi Yu , Peng Liang , Ran Mo , Chen Yang

Existing support for regular expressions in automated test generation or verification tools is lacking. Common aspects of regular expression engines found in mainstream programming languages, such as backreferences or greedy matching, are…

Programming Languages · Computer Science 2020-03-16 Blake Loring , Duncan Mitchell , Johannes Kinder

TypeScript is a quickly evolving superset of JavaScript with active development of new features. Our paper seeks to understand how quickly these features are adopted by the developer community. Existing work in JavaScript shows the adoption…

Software Engineering · Computer Science 2023-03-20 Joshua D. Scarsbrook , Mark Utting , Ryan K. L. Ko

We are trying to find source code comments that help programmers understand a nontrivial part of source code. One of such examples would be explaining to assign a zero as a way to "clear" a buffer. Such comments are invaluable to…

Software Engineering · Computer Science 2022-03-18 Yusuke Shinyama , Yoshitaka Arahori , Katsuhiko Gondow

Nowadays, modern applications are developed using components written in different programming languages. These systems introduce several advantages. However, as the number of languages increases, so does the challenges related to the…

Software Engineering · Computer Science 2021-01-18 Mouna Abidi , Md Saidur Rahman , Moses Openja , Foutse Khomh

Large Language Models (LLMs) have demonstrated remarkable performance in code completion. However, the training data used to develop these models often contain a significant amount of buggy code. Yet, it remains unclear to what extent these…

Software Engineering · Computer Science 2025-03-17 Liwei Guo , Sixiang Ye , Zeyu Sun , Xiang Chen , Yuxia Zhang , Bo Wang , Jie M. Zhang , Zheng Li , Yong Liu