English
Related papers

Related papers: Software is a directed multigraph (and so is softw…

200 papers

Software architecture is the foundation of a system's ability to achieve various quality attributes, including software performance. However, there lacks comprehensive and in-depth understanding of why and how software architecture and…

Software Engineering · Computer Science 2024-10-24 Yutong Zhao , Lu Xiao , Chenhao Wei , Rick Kazman , Ye Yang

We revisit a concept that has been central in some early stages of computer science, that of structured programming: a set of rules that an algorithm must follow in order to acquire a structure that is desirable in many aspects. While much…

A software architecture is the result of multiple decisions made by a software architect. These decisions are called architectural decisions, as they bring solutions to architectural problems. Relations between decisions can be captured in…

Software Engineering · Computer Science 2018-07-10 Marcin Szlenk

Today, data guides the decision-making process of most companies. Effectively analyzing and manipulating data at scale to extract and exploit relevant knowledge is a challenging task, due to data characteristics such as its size, the rate…

Software Engineering · Computer Science 2025-03-24 Arianna Dragoni , Alessandro Margara

The Internet of Things (IoT) envisions the integration of physical objects into software systems for automating crucial aspects of our lives, such as healthcare, security, agriculture, and city management. Although the vision is promising,…

Software Engineering · Computer Science 2021-06-17 Damian Arellanes

The continuous software engineering paradigm is gaining popularity in modern development practices, where the interleaving of design and runtime activities is induced by the continuous evolution of software systems. In this context,…

Software Engineering · Computer Science 2024-01-31 Romina Eramo , Michele Tucci , Daniele Di Pompeo , Vittorio Cortellessa , Antinisca Di Marco , Davide Taibi

Software Engineering and the implementation of software has become a challenging task as many tools, frameworks and languages must be orchestrated into one functioning piece. This complexity increases the need for testing and analysis…

Software Engineering · Computer Science 2018-06-27 Hannes Thaller

Software architecture is receiving increasingly attention as a critical design level for software systems. As software architecture design resources (in the form of architectural descriptions) are going to be accumulated, the development of…

Software Engineering · Computer Science 2007-05-23 Jianjun Zhao

The complexity of IoT, owing to the inherent distributed and dynamic nature of such systems, brings more challenges to the software development process. A vast number of devices with different communication protocols and data formats is…

Software Engineering · Computer Science 2024-11-19 Yousef Abuseta

Sustainability is an increasingly-studied topic in software engineering in general, and in software architecture in particular. There are already a number of secondary studies addressing sustainability in software engineering, but no such…

Software Engineering · Computer Science 2022-04-26 Vasilios Andrikopoulos , Rares-Dorian Boza , Carlos Perales , Patricia Lago

A software architecture describes the structure of a computing system by specifying software components and their interactions. Mapping a software architecture to an implementation is a well known challenge. A key element of this mapping is…

Programming Languages · Computer Science 2011-06-22 Damien Cassou , Charles Consel , Emilie Balland , Julia Lawall

The development and maintenance of cloud software is complicated by complex but crucial technological requirements that are tightly coupled with each other and with the softwares actual business functionality. Consequently, the complexity…

Software Engineering · Computer Science 2014-08-26 Antonio Navarro Perez , Bernhard Rumpe

The increasing usage of machine learning (ML) coupled with the software architectural challenges of the modern era has resulted in two broad research areas: i) software architecture for ML-based systems, which focuses on developing…

Software Engineering · Computer Science 2021-03-17 Henry Muccini , Karthik Vaidhyanathan

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

Over the past three decades, considerable effort has been devoted to the study of software architecture. A major portion of this effort has focused on the originally proposed view of four "C"s---components, connectors, configurations, and…

Software Engineering · Computer Science 2017-04-18 Arman Shahbazian , Youn Kyu Lee , Duc Le , Nenad Medvidovic

Artefacts play a vital role in software and systems development processes. Other terms like documents, deliverables, or work products are widely used in software development communities instead of the term artefact. In the following, we use…

Software Engineering · Computer Science 2021-04-08 D. Méndez Fernández , W. Böhm , A. Vogelsang , J. Mund , M. Broy , M. Kuhrmann , T. Weyer

Software development has steadily embraced agile software development methodology/method (ASDM) and has been moving away from the plan driven software development methodology (PDM) approaches like waterfall. Given the iterative nature of…

Software Engineering · Computer Science 2021-03-02 Vinod Menon , Roopak Sinha , Stephen MacDonell

Software architecture has been an active research field for nearly four decades, in which previous studies make significant progress such as creating methods and techniques and building tools to support software architecture practice.…

Software Engineering · Computer Science 2023-08-23 Zhiyuan Wan , Yun Zhang , Xin Xia , Yi Jiang , David Lo

A graph is a data structure composed of dots (i.e. vertices) and lines (i.e. edges). The dots and lines of a graph can be organized into intricate arrangements. The ability for a graph to denote objects and their relationships to one…

Data Structures and Algorithms · Computer Science 2010-09-07 Marko A. Rodriguez , Peter Neubauer

This paper describes a set of tools for automating and controlling the development and maintenance of software systems. The mental model is a software assembly line. Program design and construction take place at individual programmer…

Software Engineering · Computer Science 2010-06-14 Martin J. McGowan , William L. Anderson