English
Related papers

Related papers: Build Scripts with Perfect Dependencies

200 papers

Developers are increasingly using services such as Dependabot to automate dependency updates. However, recent research has shown that developers perceive such services as unreliable, as they heavily rely on test coverage to detect conflicts…

Software Engineering · Computer Science 2021-09-27 Joseph Hejderup , Georgios Gousios

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

Deterministic execution offers many benefits for debugging, fault tolerance, and security. Running parallel programs deterministically is usually difficult and costly, however - especially if we desire system-enforced determinism, ensuring…

Operating Systems · Computer Science 2010-05-20 Amittai Aviram , Shu-Chun Weng , Sen Hu , Bryan Ford

Correctness-by-Construction (CbC) is an incremental program construction process to construct functionally correct programs. The programs are constructed stepwise along with a specification that is inherently guaranteed to be satisfied. CbC…

Logic in Computer Science · Computer Science 2024-02-14 Tobias Runge , Tabea Bordis , Alex Potanin , Thomas Thüm , Ina Schaefer

Dependency solving is a hard (NP-complete) problem in all non-trivial component models due to either mutually incompatible versions of the same packages or explicitly declared package conflicts. As such, software upgrade planning needs to…

Software Engineering · Computer Science 2020-11-17 Pietro Abate , Roberto Di Cosmo , Georgios Gousios , Stefano Zacchiroli

Reproducible builds are a set of software development practices that establish an independently verifiable path from source code to binary artifacts, helping to detect and mitigate certain classes of supply chain attacks. Although quantum…

Quantum Physics · Physics 2025-10-03 Iyán Méndez Veiga , Esther Hänggi

Modern OOO CPUs have very deep pipelines with large branch misprediction recovery penalties. Speculatively executed instructions on the wrong path can significantly change cache state, depending on speculation levels. Architects often…

Developing efficient and maintainable software systems is both hard and time consuming. In particular, non-functional performance requirements involve many design and implementation decisions that can be difficult to take early during…

Programming Languages · Computer Science 2022-09-05 Linnea Stjerna , David Broman

Large repositories of source code for research tend to limit their utility to static analysis of the code, as they give no guarantees on whether the projects are compilable, much less runnable in any way. The immediate consequence of the…

Software Engineering · Computer Science 2018-04-13 Pedro Martins , Rohan Achar , Cristina V. Lopes

To remain useful for their users, software systems need to continuously enhance and extend their functionality. Nevertheless, in many object-oriented applications, features are not represented explicitly. The lack of modularization is known…

Software Engineering · Computer Science 2014-07-07 T. Pandiyavathi

In Open Source Software, resources of any project are open for reuse by introducing dependencies or copying the resource itself. In contrast to dependency-based reuse, the infrastructure to systematically support copy-based reuse appears to…

Software Engineering · Computer Science 2025-01-30 Mahmoud Jahanshahi , David Reid , Audris Mockus

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

Manually ensuring that the implementation of a software system is consistent with the software architecture is a laborious and error-prone task. Thus, a variety of approaches towards automated consistency checking have been developed to…

Software Engineering · Computer Science 2015-10-30 Timo Greifenberg , Klaus Müller , Bernhard Rumpe

A typical approach to programming is to first code the main execution scenario, and then focus on filling out alternative behaviors and corner cases. But, almost always, there exist unusual conditions that trigger atypical behaviors, which…

Software Engineering · Computer Science 2022-01-20 Jessie Galasso , Michalis Famelis , Houari Sahraoui

This study investigates vulnerabilities in dependencies of sampled open-source software (OSS) projects, the relationship between these and overall project security, and how developers' behaviors and practices influence their mitigation.…

Cryptography and Security · Computer Science 2024-08-27 Janislley Oliveira de Sousa , Bruno Carvalho de Farias , Eddie Batista de Lima Filho , Lucas Carvalho Cordeiro

The difficulty of developing reliable parallel software is generating interest in deterministic environments, where a given program and input can yield only one possible result. Languages or type systems can enforce determinism in new code,…

Operating Systems · Computer Science 2010-02-01 Amittai Aviram , Bryan Ford

Puppet is a popular computer system configuration management tool. It provides abstractions that enable administrators to setup their computer systems declaratively. Its use suffers from two potential pitfalls. First, if ordering…

Software Engineering · Computer Science 2023-12-05 Thodoris Sotiropoulos , Dimitris Mitropoulos , Diomidis Spinellis

We describe a system that simplifies the process of debugging programs produced by computer-aided parallelization tools. The system uses relative debugging techniques to compare serial and parallel executions in order to show where the…

Software Engineering · Computer Science 2007-05-23 Robert Hood , Gabriele Jost

Dependency syntax represents the structure of a sentence as a tree composed of dependencies, i.e., directed relations between lexical units. While in its more general form any such tree is allowed, in practice many are not plausible or are…

Computation and Language · Computer Science 2026-04-07 Gómez-Rodríguez , Carlos , Alemany-Puig , Lluís

Decision-making is a key software engineering skill. Developers constantly make choices throughout the software development process, from requirements to implementation. While prior work has studied developer decision-making, the choices…

Software Engineering · Computer Science 2023-01-25 Jenny T. Liang , Maryam Arab , Minhyuk Ko , Amy J. Ko , Thomas D. LaToza