English
Related papers

Related papers: Evidence is All We Need: Do Self-Admitted Technica…

200 papers

Software development is a very broad activity that captures the entire life cycle of a software, which includes designing, programming, maintenance and so on. In this study, we focus on the maintenance-related concerns of the…

Software Engineering · Computer Science 2021-08-18 Jiachi Chen , Xin Xia , David Lo , John Grundy , Xiaohu Yang

Background: Contract-based Design (CbD) is a valuable methodology for software design that allows annotation of code and architectural components with contracts, thereby enhancing clarity and reliability in software development. It…

Software Engineering · Computer Science 2025-05-13 Fazli Faruk Okumus , Amra Ramic , Stefan Kugele

Static analysis tools are frequently used to scan the source code and detect deviations from the project coding guidelines. Given their importance, linters are often introduced to classrooms to educate students on how to detect and…

Software Engineering · Computer Science 2023-07-20 Eman Abdullah AlOmar , Salma Abdullah AlOmar , Mohamed Wiem Mkaouer

The ever-increasing amount, variety as well as generation and processing speed of today's data pose a variety of new challenges for developing Data-Intensive Software Systems (DISS). As with developing other kinds of software systems,…

Software Engineering · Computer Science 2019-06-03 Harald Foidl , Michael Felderer , Stefan Biffl

This study explores the dynamic landscape of Technical Debt (TD) topics in software engineering by examining its evolution across time, programming languages, and repositories. Despite the extensive research on identifying and quantifying…

Software Engineering · Computer Science 2025-04-17 Karthik Shivashankar , Antonio Martini

Technical Debt (TD) identification in software projects issues is crucial for maintaining code quality, reducing long-term maintenance costs, and improving overall project health. This study advances TD classification using…

Software Engineering · Computer Science 2024-08-20 Karthik Shivashankar , Mili Orucevic , Maren Maritsdatter Kruke , Antonio Martini

AI integration in automotive perception systems shifts requirements from static specifications to continuously evolving entities shaped by data, models, and operating contexts. When such changes are not consistently documented, validated,…

Software Engineering · Computer Science 2026-05-01 Hina Saeeda , Soniya Abraham

Automated program repair is an emerging technology that seeks to automatically rectify bugs and vulnerabilities using learning, search, and semantic analysis. Trust in automatically generated patches is necessary for achieving greater…

Software Engineering · Computer Science 2022-02-14 Yannic Noller , Ridwan Shariffdeen , Xiang Gao , Abhik Roychoudhury

Context: Software testability is the degree to which a software system or a unit under test supports its own testing. To predict and improve software testability, a large number of techniques and metrics have been proposed by both…

Software Engineering · Computer Science 2018-12-07 Vahid Garousi , Michael Felderer , Feyza Nur Kilicaslan

Technical debt occurs in many different forms across software artifacts. One such form is connected to software architectures where debt emerges in the form of structural anti-patterns across architecture elements, namely, architecture…

Software Engineering · Computer Science 2023-04-03 Damian Andrew Tamburri , Francesca Arcelli Fontana , Riccardo Roveda , Valentina Lenarduzzi

Serverless computing is a cloud execution model where developers run code, and the server management is handled by the cloud provider. Serverless computing is increasingly gaining popularity as more systems adopt it to enhance scalability…

Software Engineering · Computer Science 2026-03-25 Hasini Sumalee Perera , Zadia Codabux , Fabio Palomba

Data-intensive systems handle variable, high volume, and high-velocity data generated by human and digital devices. Like traditional software, data-intensive systems are prone to technical debts introduced to cope-up with the pressure of…

Software Engineering · Computer Science 2022-08-19 Biruk Asmare Muse , Kawser Wazed Nafi , Foutse Khomh , Giuliano Antoniol

Defect Prevention is the most critical but most neglected component of the software quality assurance in any project. If applied at all stages of software development, it can reduce the time, cost and resources required to engineer a high…

Software Engineering · Computer Science 2016-09-08 Suma V. , T. R. Gopalakrishnan Nair

Despite years of research for improving accuracy, software practitioners still face software estimation difficulties. Expert judgment has been the prevalent method used in industry, and researchers' focus on raising realism in estimates…

Software Engineering · Computer Science 2021-05-18 Patricia Matsubara , Igor Steinmacher , Bruno Gadelha , Tayana Conte

Background. Software quality assurance is essential during software development and maintenance. Static Analysis Tools (SAT) are widely used for assessing code quality. Architectural smells are becoming more daunting to address and evaluate…

Software Engineering · Computer Science 2025-09-03 Matteo Esposito , Mikel Robredo , Francesca Arcelli Fontana , Valentina Lenarduzzi

Technical Debt management is an important aspect in the training of Software Engineering students. In this paper we study the effect of two assessment strategies in an educational context: One based on penalisation, the other based on…

Software Engineering · Computer Science 2021-04-20 Yania Crespo , Arturo Gonzalez-Escribano , Mario Piattini

Software development organisations aim to stay effective and efficient amid growing system complexity. To address this, they often form small teams focused on separate components that can be independently developed, tested, and deployed.…

Software Engineering · Computer Science 2024-06-28 Ehsan Zabardast , Javier Gonzalez-Huerta , Francis Palma , Panagiota Chatzipetrou

High-quality answers in technical Q&A platforms like Stack Overflow (SO) are crucial as they directly influence software development practices. Poor-quality answers can introduce inefficiencies, bugs, and security vulnerabilities, and thus…

Software Engineering · Computer Science 2025-07-30 Saikat Mondal , Chanchal K. Roy

Maintenance is the last and the most critical phase of the software development life cycle. It involves debugging of errors and different types of enhancements which are requested by the user. Software reliability regarding maintenance is…

Software Engineering · Computer Science 2016-05-04 Ahmad Mateen , Muhammad Azeem Akbar

Background: Despite the widespread use of automated security defect detection tools, software projects still contain many security defects that could result in serious damage. Such tools are largely context-insensitive and may not cover all…

Software Engineering · Computer Science 2023-07-06 Jiaxin Yu , Liming Fu , Peng Liang , Amjed Tahir , Mojtaba Shahin