English
Related papers

Related papers: Are SonarQube Rules Inducing Bugs?

200 papers

The SZZ algorithm is the dominant technique for identifying bug-inducing commits and serves as a foundation for many software engineering studies, such as bug prediction and static code analysis. Researchers have proposed many variants to…

Software Engineering · Computer Science 2025-04-03 Lingxiao Tang , Jiakun Liu , Zhongxin Liu , Xiaohu Yang , Lingfeng Bao

Suboptimal code is prevalent in software systems. Developers often write low-quality code due to factors like technical knowledge gaps, insufficient experience, time pressure, management decisions, or personal factors. Once integrated, the…

Software Engineering · Computer Science 2025-11-11 In-on Wiratsin , Chaiyong Ragkhitwetsagul , Matheus Paixao , Denis De Sousa , Pongpop Lapvikai , Peter Haddawy

Smart contracts are pieces of code that reside inside the blockchains and can be triggered to execute any transaction when specifically predefined conditions are satisfied. Being commonly used for commercial transactions in blockchain makes…

Cryptography and Security · Computer Science 2023-06-13 Yilin Wang , Xiangping Chen , Yuan Huang , Hao-Nan Zhu , Jing Bian , Zibin Zheng

Mock assertions provide developers with a powerful means to validate program behaviors that are unobservable to test assertions. Despite their significance, they are rarely considered by automated test generation techniques. Effective…

Software Engineering · Computer Science 2025-03-26 Hengcheng Zhu , Valerio Terragni , Lili Wei , Shing-Chi Cheung , Jiarong Wu , Yepang Liu

Providing high quality software and evaluating the software reliability in softwarized networks are crucial for vendors and customers. These networks rely on open source code, which are sensitive to contain high number of bugs. Both, the…

Software Engineering · Computer Science 2024-08-01 Hasan Yagiz Ozkan , Madeleine Kaufmann , Wolfgang Kellerer , Carmen Mas-Machuca

Defects, or bugs, often form during software development. Identifying the root cause of defects is essential to improve code quality, evaluate testing methods, and support defect prediction. Examples of defect-inducing changes can be found…

Software Engineering · Computer Science 2023-09-08 Kalvin Eng , Abram Hindle , Alexander Senchenko

Software systems are designed according to guidelines and constraints defined by business rules. Some of these constraints define the allowable or required values for data handled by the systems. These data constraints usually originate…

Software Engineering · Computer Science 2021-07-13 Juan Manuel Florez , Laura Moreno , Zenong Zhang , Shiyi Wei , Andrian Marcus

Machine learning (ML) provides us with numerous opportunities, allowing ML systems to adapt to new situations and contexts. At the same time, this adaptability raises uncertainties concerning the run-time product quality or dependability,…

Software Engineering · Computer Science 2022-10-18 Lalli Myllyaho , Mikko Raatikainen , Tomi Männistö , Jukka K. Nurminen , Tommi Mikkonen

The increasing complexity of modern processors poses many challenges to existing hardware verification tools and methodologies for detecting security-critical bugs. Recent attacks on processors have shown the fatal consequences of…

Cryptography and Security · Computer Science 2022-01-26 Aakash Tyagi , Addison Crump , Ahmad-Reza Sadeghi , Garrett Persyn , Jeyavijayan Rajendran , Patrick Jauernig , Rahul Kande

While technical debt grows in absolute numbers as software systems evolve over time, the density of technical debt (technical debt divided by lines of code) is reduced in some cases. This can be explained by either the application of…

Software Engineering · Computer Science 2020-10-20 George Digkas , Alexander Chatzigeorgiou , Apostolos Ampatzoglou , Paris Avgeriou

Vibe Coding (VC) is a form of software development assisted by generative AI, in which developers describe the intended functionality or logic via natural language prompts, and the AI system generates the corresponding source code. VC can…

Software Engineering · Computer Science 2025-12-16 Muhammad Waseem , Aakash Ahmad , Kai-Kristian Kemell , Jussi Rasku , Sami Lahti , Kalle Mäkelä , Pekka Abrahamsson

Self-admitted technical debt (SATD) is a particular case of Technical Debt (TD) where developers explicitly acknowledge their sub-optimal implementation decisions. Previous studies mine SATD by searching for specific TD-related terms in…

Software Engineering · Computer Science 2020-03-23 Laerte Xavier , Fabio Ferreira , Rodrigo Brito , Marco Tulio Valente

Machine Learning approaches are good in solving problems that have less information. In most cases, the software domain problems characterize as a process of learning that depend on the various circumstances and changes accordingly. A…

Software Engineering · Computer Science 2015-06-26 Saiqa Aleem , Luiz Fernando Capretz , Faheem Ahmed

Traditional static analysis methods struggle to detect semantic design flaws, such as violations of the SOLID principles, which require a strong understanding of object-oriented design patterns and principles. Existing solutions typically…

Software Engineering · Computer Science 2025-09-04 Fatih Pehlivan , Arçin Ülkü Ergüzen , Sahand Moslemi Yengejeh , Mayasah Lami , Anil Koyuncu

In the evolving landscape of integrated circuit (IC) design, the increasing complexity of modern processors and intellectual property (IP) cores has introduced new challenges in ensuring design correctness and security. The recent…

Cryptography and Security · Computer Science 2025-11-07 Raghul Saravanan , Sudipta Paria , Aritra Dasgupta , Venkat Nitin Patnala , Swarup Bhunia , Sai Manoj P D

Context: Self-admitted technical debt (SATD) occurs when developers acknowledge shortcuts in code. In scientific software (SSW), such debt poses unique risks to the validity and reproducibility of results. Objective: This study aims to…

Software Engineering · Computer Science 2026-01-19 Eric L. Melin , Nasir U. Eisty , Gregory Watson , Addi Malviya-Thakur

In object-oriented languages software developers rely on thread-safe classes to implement concurrent applications. However, determining whether a class is thread-safe is a challenging task. This paper presents a highly scalable method to…

Software Engineering · Computer Science 2025-09-03 Bjørnar Haugstad Jåtten , Simon Boye Jørgensen , Rasmus Petersen , Raúl Pardo

Self-Admitted Technical Debt (SATD) annotates development decisions that intentionally exchange long-term software artifact quality for short-term goals. Recent work explores the existence of SATD clones (duplicate or near duplicate SATD…

Software Engineering · Computer Science 2024-02-15 Tao Xiao , Zhili Zeng , Dong Wang , Hideaki Hata , Shane McIntosh , Kenichi Matsumoto

Background. Test resources are usually limited and therefore it is often not possible to completely test an application before a release. To cope with the problem of scarce resources, development teams can apply defect prediction to…

Software Engineering · Computer Science 2019-04-17 Rainer Niedermayr , Tobias Röhm , Stefan Wagner

Labeling a module defective or non-defective is an expensive task. Hence, there are often limits on how much-labeled data is available for training. Semi-supervised classifiers use far fewer labels for training models. However, there are…

Software Engineering · Computer Science 2024-02-16 Suvodeep Majumder , Joymallya Chakraborty , Tim Menzies