English
Related papers

Related papers: On the Interplay between Non-Functional Requiremen…

200 papers

Agile practices are receiving considerable attention from industry as an alternative to traditional software development approaches. However, there are a number of challenges in combining Agile [2] with Test-driven development (TDD) [10]…

Software Engineering · Computer Science 2015-06-30 Sandeep Sivanandan

Continuous Integration (CI) requires efficient regression testing to ensure software quality without significantly delaying its CI builds. This warrants the need for techniques to reduce regression testing time, such as Test Case…

Software Engineering · Computer Science 2024-10-17 Ahmadreza Saboor Yaraghi , Mojtaba Bagherzadeh , Nafiseh Kahani , Lionel Briand

Reliable and fast builds are essential for rapid turnaround during development and testing. Popular existing build systems rely on correct manual specification of build dependencies, which can lead to invalid build outputs and…

Software Engineering · Computer Science 2012-03-14 Derrick Coetzee , Anand Bhaskar , George Necula

Typical security contests focus on breaking or mitigating the impact of buggy systems. We present the Build-it Break-it Fix-it BIBIFI contest which aims to assess the ability to securely build software not just break it. In BIBIFI teams…

Cryptography and Security · Computer Science 2018-08-31 Andrew Ruef , Michael Hicks , James Parker , Dave Levin , Michelle L. Mazurek , Piotr Mardziel

Android instrumentation tests (end-to-end tests that run on a device or emulator) can catch problems that simpler tests miss. However, running these tests automatically in continuous integration (CI) is often difficult because emulator…

Software Engineering · Computer Science 2026-04-07 Hamid Parsazadeh , Taher A. Ghaleb , Safwat Hassan

Continuous integration is a software engineering practice of frequently merging all developer working copies with a shared main branch, e.g., several times a day. With the advent of GitHub, a platform well known for its "social coding"…

Software Engineering · Computer Science 2015-12-08 Bogdan Vasilescu , Stef van Schuylenburg , Jules Wulms , Alexander Serebrenik , Mark G. J. van den Brand

Third-party dependency updates can cause a build to fail if the new dependency version introduces a change that is incompatible with the usage: this is called a breaking dependency update. Research on breaking dependency updates is active,…

Software Engineering · Computer Science 2024-03-21 Frank Reyes , Yogya Gamage , Gabriel Skoglund , Benoit Baudry , Martin Monperrus

In this paper, we study the benefits and challenges of monitoring Continuous Integration (CI) practices in software development. Our aim is to evaluate the impact of monitoring seven CI practices in industry using three organizations in…

Software Engineering · Computer Science 2025-06-10 Jadson Santos , Daniel Alencar da Costa , Uirá Kulesza

Typical security contests focus on breaking or mitigating the impact of buggy systems. We present the Build-it, Break-it, Fix-it (BIBIFI) contest, which aims to assess the ability to securely build software, not just break it. In BIBIFI,…

Cryptography and Security · Computer Science 2019-07-04 James Parker , Michael Hicks , Andrew Ruef , Michelle L. Mazurek , Dave Levin , Daniel Votipka , Piotr Mardziel , Kelsey R. Fulton

Continuous Integration (CI) has evolved from a tooling strategy to a fundamental mindset in modern CI engineering. It enables teams to develop, test, and deliver software rapidly and collaboratively. Among CI services, GitHub Actions (GHA)…

Software Engineering · Computer Science 2025-07-25 Edward Abrokwah , Taher A. Ghaleb

Context: Seamless model-based development provides integrated chains of models, covering all software engineering phases. Non-functional requirements (NFRs), like reusability, further play a vital role in software and systems engineering,…

Software Engineering · Computer Science 2017-02-27 Jonas Eckhardt , Daniel Méndez Fernández , Andreas Vogelsang

Developers interrupting their participation in a project might slowly forget critical information about the code, such as its intended purpose, structure, the impact of external dependencies, and the approach used for implementation.…

Software Engineering · Computer Science 2023-08-29 Dario Amoroso d'Aragona , Luca Pascarella , Andrea Janes , Valentina Lenarduzzi , Rafael Penaloza , Davide Taibi

The complexity and size increase of software has extended the delay for developers as they wait for code analysis and code merge. With the larger and more complex software, more developers nowadays are developing software with large source…

Software Engineering · Computer Science 2021-02-01 Geunsik Lim , MyungJoo Ham , Jijoong Moon , Wook Song

Continuous Integration and Continuous Delivery (CI/CD) is a well-established practice that automatically builds, tests, packages, and deploys software systems. To adopt CI/CD, software developers need to configure their projects using…

Software Engineering · Computer Science 2025-05-20 Taher A. Ghaleb , Osamah Abduljalil , Safwat Hassan

Teaching programming using Massive Open Online Courses (MOOCs) is gaining popularity due to their scalability and efficiency of knowledge distribution. However, participating in these courses usually means fully committing to the supplied…

Software Engineering · Computer Science 2018-09-05 Christoph Matthies , Arian Treffer , Matthias Uflacker

Non-functional requirements (NFRs) are commonly distinguished from functional requirements by differentiating how the system shall do something in contrast to what the system shall do. This distinction is not only prevalent in research, but…

Software Engineering · Computer Science 2016-11-29 J. Eckhardt , A. Vogelsang , D. Méndez Fernández

Context: Continuous practices, i.e., continuous integration, delivery, and deployment, are the software development industry practices that enable organizations to frequently and reliably release new features and products. With the…

Software Engineering · Computer Science 2017-03-22 Mojtaba Shahin , Muhammad Ali Babar , Liming Zhu

Floating-point accuracy is an important concern when developing numerical simulations or other compute-intensive codes. Tracking the introduction of numerical regression is often delayed until it provokes unexpected bug for the end-user. In…

Software Engineering · Computer Science 2024-07-12 Aurélien Delval , François Coppens , Eric Petit , Roman Iakymchuk , Pablo de Oliveira Castro

When a developer pushes a change to an application's codebase, a good practice is to have a test case specifying this behavioral change. Thanks to continuous integration (CI), the test is run on subsequent commits to check that they do no…

Software Engineering · Computer Science 2023-05-05 Benjamin Danglot , Martin Monperrus , Walter Rudametkin , Benoit Baudry

Build verifiability refers to the property that the build of a software system can be verified by independent third parties and it is crucial for the trustworthiness of a software system. Various efforts towards build verifiability have…

Software Engineering · Computer Science 2022-02-15 Jiawen Xiong , Yong Shi , Boyuan Chen , Filipe R. Cogo , Zhen Ming , Jiang