English
Related papers

Related papers: The Software Garden

200 papers

High Performance Computing~(HPC) software stacks have become complex, with the dependencies of some applications numbering in the hundreds. Packaging, distributing, and administering software stacks of that scale is a complex undertaking…

Software Engineering · Computer Science 2022-11-14 Farid Zakaria , Thomas R. W. Scogland , Todd Gamblin , Carlos Maltzahn

Cross-platform development solutions can help to make software available on different devices and platforms. But these are normally restricted to preconfigured platforms and consider that each individual solution is equal or similar to each…

Software Engineering · Computer Science 2021-05-04 Juliano Zanuzzio Blanco , Daniel Lucrédio

Software product line deals with the assembly of products from existing core assets commonly known as components and continuous growth in the core assets as we proceed with production. This idea has emerged as vital in terms of software…

Software Engineering · Computer Science 2015-07-27 Faheem Ahmed , Luiz Fernando Capretz

Distribution can be a feature of the software evolution process. In other words, temporally and spatially distributed teams and organizations can develop and work on a software application. The simplest case is to outsource production and…

Software Engineering · Computer Science 2022-05-02 Mohammad Reza Besharati

Modern software development is increasingly dependent on components, libraries and frameworks coming from third-party vendors or open-source suppliers and made available through a number of platforms (or forges). This way of writing…

Software Engineering · Computer Science 2020-12-16 Paolo Boldi , Georgios Gousios

Solving the software dependency issue under the HPC environment has always been a difficult task for both computing system administrators and application scientists. This work would like to tackle the issue by introducing the modern…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-09-29 Hsi-En Yu , Weicheng Huang

Research processes often rely on high-performance computing (HPC), but HPC is often seen as antithetical to "reproducibility": one would have to choose between software that achieves high performance, and software that can be deployed in a…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-03-16 Ludovic Courtès

Containers are an emerging technology that hold promise for improving productivity and code portability in scientific computing. We examine Linux container technology for the distribution of a non-trivial scientific computing software stack…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-06-19 Jack S. Hale , Lizao Li , Chris N. Richardson , Garth N. Wells

Moldable development supports decision-making by making software systems explainable. This is done by making it cheap to add numerous custom tools to your software, turning it into a live, explorable domain model. Based on several years of…

Software Engineering · Computer Science 2024-09-30 Oscar Nierstrasz , Tudor Gîrba

The expanding hardware diversity in high performance computing adds enormous complexity to scientific software development. Developers who aim to write maintainable software have two options: 1) To use a so-called data locality abstraction…

Software Engineering · Computer Science 2023-11-10 Andreas Hadjigeorgiou , Christodoulos Stylianou , Michele Weiland , Dirk Jacob Verschuur , Jacob Finkenrath

As computational challenges in optimization and statistical inference grow ever harder, algorithms that utilize derivatives are becoming increasingly more important. The implementation of the derivatives that make these algorithms so…

Mathematical Software · Computer Science 2015-09-25 Bob Carpenter , Matthew D. Hoffman , Marcus Brubaker , Daniel Lee , Peter Li , Michael Betancourt

Science depends on collaboration, result reproduction, and the development of supporting software tools. Each of these requires careful management of software versions. We present a unified model for installing, managing, and publishing…

Computation · Statistics 2015-01-15 Gabriel Becker , Cory Barr , Robert Gentleman , Michael Lawrence

In this era of diverse and heterogeneous computer architectures, the programmability issues, such as productivity and portable efficiency, are crucial to software development and algorithm design. One way to approach the problem is to step…

Mathematical Software · Computer Science 2012-07-10 Mauro Bianco , Ugo Varetto

Component-Based Development (CBD) is a popular approach to mitigating the costs of creating software systems. However, it is not clear to what extent the core component selection and adaptation activities of CBD can be implemented to…

Software Engineering · Computer Science 2022-05-11 Todd Wareham , Marieke Sweers

Modern software systems heavily use C/C++ based libraries. Because of the weak memory model of C/C++, libraries may suffer from vulnerabilities which can expose the applications to potential attacks. For example, a very large number of…

Cryptography and Security · Computer Science 2019-02-19 Girish Mururu , Chris Porter , Prithayan Barua , Santosh Pande

Value independence is enormously beneficial for reasoning about software systems at scale. These benefits carry over into the world of formal verification. Reasoning about programs algebraically is a simple affair in a proof assistant,…

Programming Languages · Computer Science 2026-02-09 Liam O'Connor , Pilar Selene Linares Arevalo , Christine Rizkallah

The open-source Helix++ project improves the security posture of computing platforms by applying cutting-edge cybersecurity techniques to diversify and harden software automatically. A distinguishing feature of Helix++ is that it does not…

Cryptography and Security · Computer Science 2023-04-12 Jack W. Davidson , Jason D. Hiser , Anh Nguyen-Tuong

Linux container technologies such as Docker and Singularity offer encapsulated environments for easy execution of software. In high performance computing, this is especially important for evolving and complex software stacks with…

Operating Systems · Computer Science 2022-12-15 Vanessa Sochat , Matthieu Muffato , Audrey Stott , Marco De La Pierre , Georgia Stuart

Third-party libraries (TPLs) are frequently reused in software to reduce development cost and the time to market. However, external library dependencies may introduce vulnerabilities into host applications. The issue of library dependency…

Software Engineering · Computer Science 2022-09-21 Wei Tang , Zhengzi Xu , Chengwei Liu , Jiahui Wu , Shouguo Yang , Yi Li , Ping Luo , Yang Liu

Support teams of high-performance computing (HPC) systems often find themselves between a rock and a hard place: on one hand, they understandably administrate these large systems in a conservative way, but on the other hand, they try to…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-07-28 Ludovic Courtès , Ricardo Wurmus
‹ Prev 1 2 3 10 Next ›