English
Related papers

Related papers: The Software Garden

200 papers

Domain specific software architecture aims at software reuse through construction of domain architecture reference model. The constructed reference model presents a set of individual components and their interaction points. When starting on…

Software Engineering · Computer Science 2008-11-06 Anshuman Sinha , Haritha Nandela , Vijaya Balakrishna

It is a high-quality algorithm for hierarchical clustering of large software source code. This effectively allows to break the complexity of tens of millions lines of source code, so that a human software engineer can comprehend a software…

Artificial Intelligence · Computer Science 2012-07-05 Sarge Rogatch

Synthesis is the automatic construction of a system from its specification. In classical synthesis algorithms, it is always assumed that the system is "constructed from scratch" rather than composed from reusable components. This, of…

Logic in Computer Science · Computer Science 2015-07-01 Sumit Nain , Yoad Lustig , Moshe Y Vardi

Numerical software in computational science and engineering often relies on highly-optimized building blocks from libraries such as BLAS and LAPACK, and while such libraries provide portable performance for a wide range of computing…

Mathematical Software · Computer Science 2019-06-21 Daniele G. Spampinato , Diego Fabregat-Traver , Markus Püschel , Paolo Bientinesi

A popular approach to deploying scientific applications in high performance computing (HPC) is Linux containers, which package an application and all its dependencies as a single unit. This image is built by interpreting instructions in a…

Software Engineering · Computer Science 2023-09-04 Reid Priedhorsky , Jordan Ogas , Claude H. , Davis IV , Z. Noah Hounshel , Ashlyn Lee , Benjamin Stormer , R. Shane Goff

This paper brings mathematical tools to bear on the study of package dependencies in software systems. We introduce structures known as Dependency Structures with Choice (DSC) that provide a mathematical account of such dependencies,…

Category Theory · Mathematics 2024-10-15 Gershom Bazerman , Emilio Minichiello , Raymond Puzio

Modern software systems are increasingly dependent on third-party libraries. It is widely recognized that using mature and well-tested third-party libraries can improve developers' productivity, reduce time-to-market, and produce more…

Software Engineering · Computer Science 2016-12-07 Mohamed Aymen Saied , Ali Ouni , Houari Sahraoui , Raula Gaikovina Kula , Katsuro Inoue , David Lo

Large organizations have diverse product offerings to meet various business needs. To increase revenue, its common these days to offer software products as integrated product suite(s) rather than individual products. Creating and…

Software Engineering · Computer Science 2017-10-03 Sai Anirudh Karre , Y. Raghu Reddy

Cloning is a general approach to create new functionality within variants as well as new system variants. It is a fast, flexible, intuitive, and economical approach to evolve systems in the short run. However, in the long run, the…

Software Engineering · Computer Science 2021-04-13 Kamil Rosiak

Modern software systems are expected to be secure and contain all the latest features, even when new versions of software are released multiple times an hour. Each system may include many interacting packages. The problem of installing…

Software Engineering · Computer Science 2018-11-15 Ran Ben Basat , Maayan Goldstein , Itai Segall

Software systems have grown as an indispensable commodity used across various industries, and almost all essential services depend on them for effective operation. The software is no longer an independent or stand-alone piece of code…

Software Engineering · Computer Science 2025-05-29 Ritwik Murali , Akash Ravi

"Evolution behaves like a tinkerer" (Francois Jacob, Science, 1977). Software systems provide a unique opportunity to understand biological processes using concepts from network theory. The Debian GNU/Linux operating system allows us to…

Operating Systems · Computer Science 2015-06-03 Miguel A. Fortuna , Juan A. Bonachela , Simon A. Levin

Reusing third-party software packages is a common practice in software development. As the scale and complexity of open-source software (OSS) projects continue to grow (e.g., Linux distributions), the number of reused third-party packages…

Software Engineering · Computer Science 2024-12-31 Dongming Jin , Nianyu Li , Kai Yang , Minghui Zhou , Zhi Jin

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

Building of tools--from simple prototypes to industrial-strength applications--is a pervasive activity in academic research. When proposing a new technique for software maintenance, effective tool support is typically required to…

Software Engineering · Computer Science 2008-08-05 Holger M. Kienle , Hausi A. Müller

Library migration happens when a library can not meet the project's requirements and is non-trivial to accomplish. To mitigate the problem, substantial efforts have been devoted to understanding its characteristics and recommending…

Software Engineering · Computer Science 2025-07-08 Haiqiao Gu , Yiliang Zhao , Kai Gao , Minghui Zhou

Dijkstra observed that verifying correctness of a program is difficult and conjectured that derivation of a program hand-in-hand with its proof of correctness was the answer. We illustrate this goal-oriented approach by applying it to the…

Mathematical Software · Computer Science 2017-10-13 Devangi N. Parikh , Maggie E. Myers , Robert A. van de Geijn

One of the most powerful features of R is its infrastructure for contributed code. The built-in package manager and complementary repositories provide a great system for development and exchange of code, and have played an important role in…

Software Engineering · Computer Science 2013-11-04 Jeroen Ooms

An Operating System (OS) combines multiple interdependent software packages, which usually have their own independently developed architectures. When a multitude of independent packages are placed together in an OS, an implicit…

Software Engineering · Computer Science 2023-07-11 Victor Prokhorenko , Chadni Islam , Muhammad Ali Babar

The use of unsafe programming languages still remains one of the major root causes of software vulnerabilities. Although well-known defenses that detect and mitigate memory-safety related issues exist, they don't address the challenge of…

Cryptography and Security · Computer Science 2023-04-24 Merve Gülmez , Thomas Nyman , Christoph Baumann , Jan Tobias Mühlberg