English
Related papers

Related papers: Using Dependence Analysis to Support Software Arch…

200 papers

Dependency analysis is a program analysis that determines potential data flow between program points. While it is not a security analysis per se, it is a viable basis for investigating data integrity, for ensuring confidentiality, and for…

Programming Languages · Computer Science 2013-05-30 Matthias Keil , Peter Thiemann

Formal analysis to ensure adherence of software to defined architectural constraints is not yet broadly used within software development, due to the effort involved in defining formal architecture models. Within this paper, we outline…

Software Engineering · Computer Science 2025-03-21 Steffen Herbold , Christoph Knieke , Andreas Rausch , Christian Schindler

This article presents a model for describing the architecture of software-intensive systems, based on the use of multiple, concurrent views. This use of multiple views allows to address separately the concerns of the various stakeholders of…

Software Engineering · Computer Science 2020-06-11 Philippe Kruchten

For a software system, its architecture is typically defined as the fundamental organization of the system incorporated by its components, their relationships to one another and their environment, and the principles governing their design.…

Software Engineering · Computer Science 2011-03-22 Robert Dabrowski , Krzysztof Stencel , Grzegorz Timoszuk

Software systems endure many noteworthy changes throughout their life-cycle in order to follow the evolution of the problem domains. Generally, the software system architecture cannot follow the rapid evolution of a problem domain which…

Software Engineering · Computer Science 2011-11-30 Humaira Farid , Farooque Azam , M. Aqeel Iqbal

Software developers usually start coding an application with no formal architecture in mind and relying on intuition and experience instead of on well-known design patters. A different approach is recommended for the development of IoT…

Software Engineering · Computer Science 2020-03-18 Fabrizio Borelli , Gabriela Biondi , Flávio Horita , Carlos Kamienski

Software architectures are critical in the successful development and evolution of software-intensive systems. While formal and automated support for architectural descriptions has been widely addressed, their evolution is equally crucial,…

Software Engineering · Computer Science 2016-05-23 Dalila Tamzalit , Tom Mens

Software architecture often consists of interconnected components dispersed across source code and other development artifacts, making visualization difficult without costly additional documentation. Although some tools can automatically…

Software Engineering · Computer Science 2024-07-26 Filipe F. Correia , Ricardo Ferreira , Paulo G. G Queiroz , Henrique Nunes , Matilde Barra , Duarte Figueiredo

This paper presents a formal approach to modelling and analysis of data and control flow dependencies between services within remotely deployed distributed systems of services. Our work aims at elaborating for a concrete system, which parts…

Software Engineering · Computer Science 2014-12-12 Maria Spichkova , Heinrich Schmidt

Sustainability is increasingly recognized as an emerging quality property in software-intensive systems, yet architects lack structured guidance to address it effectively throughout the software design phase. Architectural perspectives-an…

Software Engineering · Computer Science 2025-08-29 Markus Funke , Patricia Lago

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

Microservices have been a key architectural approach for over a decade, transforming system design by promoting decentralization and allowing development teams to work independently on specific microservices. While loosely coupled…

Software Engineering · Computer Science 2025-01-22 Amr S. Abdelfattah , Kari E Cordes , Austin Medina , Tomas Cerny

Implementing large software, as software analyzers which aim to be used in industrial settings, requires a well-engineered software architecture in order to ease its daily development and its maintenance process during its lifecycle. If the…

Software Engineering · Computer Science 2015-08-18 Julien Signoles

Analysis and design phases are the most crucial part of the software development life-cycle. Reusing the artifacts of these early phases is very beneficial to improve the productivity and software quality. In this paper we analyze the…

Software Engineering · Computer Science 2014-01-22 Hamdi A. Al-Jamimi , Moataz Ahmed

Software Architecture, from definition to maintenance and evolution, is a complex aspect of software development and, consequently, a challenging subject when it comes to teaching it, and learning it. Many research efforts have been devoted…

Software Engineering · Computer Science 2023-03-01 Laura M. Castro

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

We introduce Causal Program Dependence Analysis (CPDA), a dynamic dependence analysis that applies causal inference to model the strength of program dependence relations in a continuous space. CPDA observes the association between program…

Software Engineering · Computer Science 2021-04-20 Seongmin Lee , Dave Binkley , Robert Feldt , Nicolas Gold , Shin Yoo

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-09-14 Damien Cassou , Emilie Balland , Charles Consel , Julia Lawall

In this tutorial I will present how a combination of linear and dependent type can be useful to describe different properties about higher order programs. Linear types have been proved particularly useful to express properties of functions;…

Programming Languages · Computer Science 2013-07-01 Marco Gaboardi

Sustainability has evolved from an emerging concern into a fundamental responsibility in software design, development, and operation. Research increasingly explores how sustainability can be systematically integrated into existing software…

Software Engineering · Computer Science 2025-12-02 Markus Funke , Patricia Lago