English
Related papers

Related papers: The Software Garden

200 papers

Reconfigurable computing refers to the use of processors, such as Field Programmable Gate Arrays (FPGAs), that can be modified at the hardware level to take on different processing tasks. A reconfigurable computing platform describes the…

Hardware Architecture · Computer Science 2007-05-23 Darran Nathan , Kelvin Lim Mun Kit , Kelly Choo Hon Min , Philip Wong Jit Chin , Andreas Weisensee

Oftentimes, there is a need to experiment with different programming languages and technologies when designing software applications. Such experiments must be reproducible and share-able within a team workplace, and manual effort should be…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-05-05 Ayaz Hafiz , Kevin Jin

It is undeniable that most developers today are building distributed applications. However, most of these applications are developed by composing existing systems together through unspecified APIs exposed to the application developer.…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-02-09 Christopher S. Meiklejohn , Peter Van Roy

Accountability is an often called for property of technical systems. It is a requirement for algorithmic decision systems, autonomous cyber-physical systems, and for software systems in general. As a concept, accountability goes back to the…

Software Engineering · Computer Science 2021-04-30 Severin Kacianka , Alexander Pretschner

A new workflow for software development (proof-driven development) is presented. An extension of test-driven development, the new workflow utilizes the paradigm of dependently typed programming. The differences in design, complexity and…

Software Engineering · Computer Science 2015-12-08 Ben Goodspeed

High Performance Computing is notorious for its long and expensive software development cycle. To address this challenge, we present Bind: a "partitioned global workflow" parallel programming model for C++ applications that enables quick…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-06-16 Alex Kosenkov , Matthias Troyer

Maintaining software packages imposes significant costs due to dependency management, bug fixes, and versioning. We show that rich method descriptions in scientific publications can serve as standalone specifications for modern large…

Software Engineering · Computer Science 2025-07-31 Cameron S. Movassaghi , Amanda Momenzadeh , Jesse G. Meyer

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

Cloud-based software has many advantages. When services are divided into many independent components, they are easier to update. Also, during peak demand, it is easier to scale cloud services (just hire more CPUs). Hence, many organizations…

Machine Learning · Computer Science 2022-06-29 Rahul Yedida , Rahul Krishna , Anup Kalia , Tim Menzies , Jin Xiao , Maja Vukovic

A product line approach can save valuable resources by reusing artifacts. Especially for software artifacts, the reuse of existing components is highly desirable. In recent literature, the creation of software product lines is mainly…

Software Engineering · Computer Science 2014-09-24 Christian Berger , Holger Rendel , Bernhard Rumpe

To mitigate the restrictive centralising and monopolistic tendencies of platformisation, we aim to empower local communities by democratising platforms for self-organised social coordination. Our approach is to develop an open-source,…

Networking and Internet Architecture · Computer Science 2025-07-03 Matthew Scott , Jeremy Pitt

Software systems are widely observed to grow in size, complexity, and interdependence over time, yet many large-scale systems remain stable despite persistent structural burden. This apparent tension suggests a limitation in one-dimensional…

Software Engineering · Computer Science 2026-04-09 Masaru Furukawa

While open-source software has enabled significant levels of reuse to speed up software development, it has also given rise to the dreadful dependency hell that all software practitioners face on a regular basis. This article provides a…

Software Engineering · Computer Science 2024-11-21 Tom Mens , Alexandre Decan

This paper presents the SPARE C++ library, an open source software tool conceived to build pattern recognition and soft computing systems. The library follows the requirement of the generality: most of the implemented algorithms are able to…

Computer Vision and Pattern Recognition · Computer Science 2015-02-23 Lorenzo Livi , Guido Del Vescovo , Antonello Rizzi , Fabio Massimo Frattale Mascioli

We study multi-type housing markets, where there are $p\ge 2$ types of items, each agent is initially endowed one item of each type, and the goal is to design mechanisms without monetary transfer to (re)allocate items to the agents based on…

Computer Science and Game Theory · Computer Science 2016-11-24 Sibel Adali , Sujoy Sikdar , Lirong Xia

This paper considers how a formal mathematically-based model can be used in support of evolutionary software development, and in particular how such a model can be kept consistent with the implementation as it changes to meet new…

Software Engineering · Computer Science 2011-11-14 A. Gravell , Y. Howard , J. C. Augusto , C. Ferreira , S. Gruner

To support junior and senior architects, I propose developing a new architecture creation method that leverages LLMs' evolving capabilities to support the architect. This method involves the architect's close collaboration with LLM-fueled…

Software Engineering · Computer Science 2025-05-27 Tobias Eisenreich

The adoption of the distributed paradigm has allowed applications to increase their scalability, robustness and fault tolerance, but it has also complicated their structure, leading to an exponential growth of the applications'…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-23 Ioannis Giannakopoulos , Dimitrios Tsoumakos , Nectarios Koziris

Software testing has received much attention over the last years and has reached such critical importance that agile software development practices put software testing at its core. Agile software development is successfully applied in…

Software Engineering · Computer Science 2020-10-09 Tom-Robin Teschner

Process patterns represent well-structured and successful recurring activities of Software Development Methodologies. They are able to form a library of reusable building blocks that can be utilized in Situational Method Engineering for…

Software Engineering · Computer Science 2020-05-12 Mahdi Fahmideh , Fereidoon Shams