English
Related papers

Related papers: A Comparative Case Study on the Impact of Test-Dri…

200 papers

Background. Technical debt (TD) has long been one of the key factors influencing the maintainability of software products. It represents technical compromises that sacrifice long-term software quality for potential short-term benefits.…

Software Engineering · Computer Science 2024-07-31 Xiaozhou Li , Matteo Esposito , Andrea Janes , Valentina Lenarduzzi

Test-driven development (TDD) is a widely-employed software development practice that mandates writing test cases based on requirements before writing the actual code. While writing test cases is the centerpiece of TDD, it is…

Software Engineering · Computer Science 2025-03-03 Wannita Takerngsaksiri , Rujikorn Charakorn , Chakkrit Tantithamthavorn , Yuan-Fang Li

Software development of modern, data-driven applications still relies on tools that use interaction paradigms that have remained mostly unchanged for decades. While rich forms of interactions exist as an alternative to textual command…

Human-Computer Interaction · Computer Science 2023-11-10 Thomas Weber , Sven Mayer

Cognitive-Driven Development (CDD) is a coding design technique that helps developers focus on designing code within cognitive limits. The imposed limit tends to enhance code readability and maintainability. While early works on CDD focused…

Software Engineering · Computer Science 2024-08-22 Ronivaldo Ferreira , Victor H. S. Pinto , Cleidson R. B. de Souza , Gustavo Pinto

Software development comprises complex tasks which are performed by humans. It involves problem solving, domain understanding and communication skills as well as knowledge of a broad variety of technologies, architectures, and solution…

Software Engineering · Computer Science 2019-10-22 Christoph Matthies , Guenter Hesse

Software testing is a complex, intellectual activity based (at least) on analysis, reasoning, decision making, abstraction and collaboration performed in a highly demanding environment. Naturally, it uses and allocates multiple cognitive…

Software Engineering · Computer Science 2020-12-10 Eduard Enoiu , Gerald Tukseferi , Robert Feldt

To improve the quality of programs we provide an approach to guidance in the process of program development. At the higher level the various activities and their dependencies to structure the process are identified. At the lower level,…

Software Engineering · Computer Science 2024-11-21 Harrie Passier , Lex Bijlsma , Ruurd Kuiper , Kees Huizing

Context: Continuous integration (CI) is a software engineering technique that proclaims a set of frequent activities to assure the health of the software product. Researchers and practitioners mention several benefits related to CI.…

Software Engineering · Computer Science 2022-01-11 Eliezio Soares , Gustavo Sizilio , Jadson Santos , Daniel Alencar , Uira Kulesza

There are repetitive patterns in strategies of manipulating source code. For example, modifying source code before acquiring knowledge of how a code works is a depth-first style and reading and understanding before modifying source code is…

Software Engineering · Computer Science 2016-12-01 Zahra Karimia , Ahmad Baraani-Dastjerdia , Nasser Ghasem-Aghaeea , Stefan Wagner

Event-driven architecture has been widely adopted in the software industry, emerging as an alternative to modular development to support rapid adaptations of constantly evolving systems. However, little is known about the effects of…

Software Engineering · Computer Science 2023-08-11 Luan Lazzari , Kleinner Farias

Technology trends play an important role in the hiring process for software and IT professionals. In a recent study of 591 software professionals in both hiring (130) and technical (558) roles, we found empirical support for a tendency to…

Software Engineering · Computer Science 2023-07-07 Jonas Fritzsch , Marvin Wyrich , Justus Bogner , Stefan Wagner

Background: Research software plays an important role in solving real-life problems, empowering scientific innovations, and handling emergency situations. Therefore, the correctness and trustworthiness of research software are of absolute…

Software Engineering · Computer Science 2022-07-27 Nasir U. Eisty , Jeffrey C. Carver

Testing is an important aspect in professional software development, both to avoid and identify bugs as well as to increase maintainability. However, increasing the number of tests beyond a reasonable amount hinders development progress. To…

Programming Languages · Computer Science 2022-05-23 Alexandros Efremidis , Joshua Schmidt , Sebastian Krings , Philipp Körner

The term Model-Driven Engineering (MDE) is typically used to describe software development approaches in which abstract models of software systems are created and systematically transformed to concrete implementations. In this paper we give…

Software Engineering · Computer Science 2016-11-17 Robert France , Bernhard Rumpe

There is growing acknowledgement within the software engineering community that a theory of software development is needed to integrate the myriad methodologies that are currently popular, some of which are based on opposing perspectives.…

Software Engineering · Computer Science 2021-03-08 Diana Kirk , Stephen G. MacDonell

Software developers and maintainers need to read and understand source programs and other software artifacts. The increase in size and complexity of software drastically affects several quality attributes, especially understandability and…

Software Engineering · Computer Science 2010-04-27 Mohd Nazir , Raees A. Khan , Khurram Mustafa

Modern software development teams are distributed across onsite and off-shore locations. Each team has developers with varying experience levels and English communication skills. In such a diverse development environment it is important to…

Software Engineering · Computer Science 2016-10-19 Amol Patwardhan

Agile methods and associated practices have been held to deliver value to software developers and customers. Research studies have reported team productivity and software quality benefits. While such insights are helpful for understanding…

Software Engineering · Computer Science 2024-12-23 Sherlock Anthony Licorish

Background. Software companies need to manage and refactor Technical Debt issues. Therefore, it is necessary to understand if and when refactoring Technical Debt should be prioritized with respect to developing features or fixing bugs.…

Software Engineering · Computer Science 2020-01-31 Valentina Lenarduzzi , Terese Besker , Davide Taibi , Antonio Martini , Francesca Arcelli Fontana

Unit testing is an essential component of the software development life-cycle. A developer could easily and quickly catch and fix software faults introduced in the source code by creating and running unit tests. Despite their importance,…

Software Engineering · Computer Science 2021-08-02 Denivan Campos , Larissa Rocha , Ivan Machado