English
Related papers

Related papers: Architecture Smells vs. Concurrency Bugs: an Explo…

200 papers

In the past decades, many different programming models for managing concurrency in applications have been proposed, such as the actor model, Communicating Sequential Processes, and Software Transactional Memory. The ubiquity of multi-core…

Programming Languages · Computer Science 2014-06-16 Janwillem Swalens , Stefan Marr , Joeri De Koster , Tom Van Cutsem

The low cost and rapid provisioning capabilities have made open-source cloud a desirable platform to launch industrial applications. However, as open-source cloud moves towards maturity, it still suffers from quality issues like code…

Software Engineering · Computer Science 2023-07-25 Raj Narendra Shah , Sameer Ahmed Mohamed , Asif Imran , Tevfik Kosar

With the ever-increasing use of games, game developers are expected to write efficient code supporting several qualities such as security, maintainability, and performance. However, the continuous need to update the features of games in…

Software Engineering · Computer Science 2021-05-05 Vartika Agrahari , Sridhar Chimalakonda

Technical Debt is a metaphor used to describe the situation in which long-term software artifact quality is traded for short-term goals in software projects. In recent years, the concept of self-admitted technical debt (SATD) was proposed,…

Software Engineering · Computer Science 2021-11-03 Tao Xiao , Dong Wang , Shane McIntosh , Hideaki Hata , Raula Gaikovina Kula , Takashi Ishio , Kenichi Matsumoto

Software systems endure many noteworthy changes throughout their life-cycle in order to follow the evolution of the problem domains. Generally, the software system architecture cannot follow the rapid evolution of a problem domain which…

Software Engineering · Computer Science 2011-11-30 Humaira Farid , Farooque Azam , M. Aqeel Iqbal

As technology continues to advance and we usher in the era of Industry 5.0, there has been a profound paradigm shift in operating systems, file systems, web, and network applications. The conventional utilization of multiprocessing and…

Cryptography and Security · Computer Science 2023-12-25 Aishwarya Upadhyay , Vijay Laxmi , Smita Naval

Code smells are widely used indicators of poor code quality, revealing structural problems and areas where improvement can be made. Although extensively studied in object-oriented languages, functional programming languages remain…

Software Engineering · Computer Science 2026-05-26 Walber Araújo , José Truta , Lucas Vegi , Marco Tulio Valente , João Brunet

Self-Admitted Technical Debt (SATD) refers to the phenomenon where developers explicitly acknowledge technical debt through comments in the source code. While considerable research has focused on detecting and addressing SATD, its true…

Software Engineering · Computer Science 2025-02-06 Shaiful Chowdhury , Hisham Kidwai , Muhammad Asaduzzaman

Background: Defect prediction in software can be highly beneficial for development projects, when prediction is highly effective and defect-prone areas are predicted correctly. One of the key elements to gain effective software defect…

Software Engineering · Computer Science 2017-03-21 Jarosław Hryszko , Lech Madeyski , Marta Dąbrowska , Piotr Konopka

Resolving bugs in the maintenance phase of software is a complicated task. Bug assignment is one of the main tasks for resolving bugs. Some Bugs cannot be fixed properly without making design decisions and have to be assigned to designers,…

Software Engineering · Computer Science 2023-03-29 Reza Sepahvand , Reza Akbari , Behnaz Jamasb , Sattar Hashemi , Omid Boushehrian

\underline{Context:} Logging is a fundamental yet complex practice in software engineering, essential for monitoring, debugging, and auditing software systems. With the increasing integration of machine learning (ML) components into…

Software Engineering · Computer Science 2026-01-12 Patrick Loic Foalem , Leuson Da Silva , Foutse Khomh , Ettore Merlo , Heng Li

Is the quality of existing code correlated with the quality of subsequent changes? According to the (controversial) broken windows theory, which inspired this study, disorder sets descriptive norms and signals behavior that further…

Software Engineering · Computer Science 2025-01-09 Diomidis Spinellis , Panos Louridas , Maria Kechagia , Tushar Sharma

The main problems of Software Engineering appear as a result of incompatibilities. For example, the quality of organization of the production process depends on correspondence with existent resources and on a common understanding of project…

Software Engineering · Computer Science 2009-03-13 Kirill A Sorudeykin

Build scripts automate the process of compiling source code, managing dependencies, running tests, and packaging software into deployable artifacts. These scripts are ubiquitous in modern software development pipelines for streamlining…

Software Engineering · Computer Science 2026-04-27 Mahzabin Tamanna , Yash Chandrani , Matthew Burrows , Brandon Wroblewski , Laurie Williams , Dominik Wermke

This paper proposes some new architectural metrics which are appropriate for evaluating the architectural attributes of a software system. The main feature of our approach is to assess the complexity of a software architecture by analyzing…

Software Engineering · Computer Science 2007-05-23 Jianjun Zhao

With the advance in quantum computing in recent years, quantum software becomes vital for exploring the full potential of quantum computing systems. Quantum programming is different from classical programming, for example, the state of a…

Software Engineering · Computer Science 2022-04-27 Mohamed Raed El aoun , Heng Li , Foutse Khomh , Lionel Tidjon

Rust is a popular programming language in building various low-level software in recent years. It aims to provide safe concurrency when implementing multi-threaded software through a suite of compiler checking rules. Unfortunately, there is…

Programming Languages · Computer Science 2019-02-07 Zeming Yu , Linhai Song , Yiying Zhang

Technical Debt, considered by many to be the 'silent killer' of software projects, has undeniably become part of the everyday vocabulary of software engineers. We know it compromises the internal quality of a system, either deliberately or…

Reproducing concurrency bugs is a complex task due to their unpredictable behavior. Researchers, regardless of gender, are contributing to automating this complex task to aid software developers. While some studies have investigated gender…

Software Engineering · Computer Science 2025-02-28 Tarannum Shaila Zaman , Macharla Hemanth Kishan , Lutfun Nahar Lota

The architecture of a system captures important design decisions for the system. Over time, changes in a system's implementation may lead to violations of specific design decisions. This problem is common in industry and known as…

Software Engineering · Computer Science 2019-09-16 Diego Marmsoler , Ana Petrovska