English
Related papers

Related papers: Capturing Software Architecture Knowledge for Patt…

200 papers

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

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

Event sourced systems are increasing in popularity because they are reliable, flexible, and scalable. In this article, we point a microscope at a software architecture pattern that is rapidly gaining popularity in industry, but has not…

Software Engineering · Computer Science 2021-04-19 Michiel Overeem , Marten Spoor , Slinger Jansen , Sjaak Brinkkemper

Context: As the adoption of continuous delivery practices increases in software organizations, different scenarios struggle to make it scales for their products in long-term evolution. This study looks at the concrete software architecture…

Software Engineering · Computer Science 2021-08-24 Breno Bernard Nicolau de França , Paulo Sérgio Medeiros dos Santos , Santiago Matalonga

The architectural aspects of software systems are not always explicitly exposed to customers when a product is presented to them by software vendors. Therefore, customers might be put at a major risk if new emerging business needs come to…

Software Engineering · Computer Science 2012-10-16 Basem Y. Alkazemi

Software analytics is a data-driven approach to decision making, which allows software practitioners to leverage valuable insights from data about software to achieve higher development process productivity and improve different aspects of…

Software Engineering · Computer Science 2022-01-12 Duarte Oliveira , João Fidalgo , Joelma Choma , Eduardo Guerra , Filipe Correia

Large Language Models (LLMs) are used for many different software engineering tasks. In software architecture, they have been applied to tasks such as classification of design decisions, detection of design patterns, and generation of…

Software Engineering · Computer Science 2025-05-23 Larissa Schmid , Tobias Hey , Martin Armbruster , Sophie Corallo , Dominik Fuchß , Jan Keim , Haoyu Liu , Anne Koziolek

Software design patterns are standard solutions to common problems in software design and architecture. Knowing that a particular module implements a design pattern is a shortcut to design comprehension. Manually detecting design patterns…

Software Engineering · Computer Science 2021-12-03 Najam Nazar , Aldeida Aleti , Yaokun Zheng

Software architectures play a critical role in software quality assurance. However, small and medium companies (SMC) often suffer from the absence of professionals with skills and expertise in software architecture. That situation…

Software Engineering · Computer Science 2021-06-16 Breno Cruvinel Marinho , Renato Bulcão-Neto , Valdemar Vicente Graciano Neto

Performing dependability evaluation along with other analyses at architectural level allows both making architectural tradeoffs and predicting the effects of architectural decisions on the dependability of an application. This paper gives…

Software Engineering · Computer Science 2008-09-25 Ana-Elena Rugina , Peter H. Feiler , Karama Kanoun , Mohamed Kaaniche

Context: Software systems are in continuous evolution through source code changes to fixing bugs, adding new functionalities and improving the internal architecture. All these practices are recorded in the version history, which can be…

Software Engineering · Computer Science 2020-01-17 Leandro Ungari Cayres , Bruno Santos de Lima , Rogério Eduardo Garcia

Modern-day software development is often facilitated by the reuse of third-party software libraries. Despite the significant effort to understand the factors contributing to library selection, it is relatively unknown how the libraries are…

Software Engineering · Computer Science 2024-03-26 Minaoar Hossain Tanzil , Gias Uddin , Ann Barcomb

Enabling observability in software systems brings many benefits. It can, for example, ease the identification of issues or the implementation of improvements. It is especially critical to be able to observe sustainability-related dimensions…

Software Engineering · Computer Science 2026-04-13 Klervie Toczé , Andrei Dragomir , Vincenzo Stoico , Patricia Lago

Machine-learning (ML) techniques have become popular in the recent years. ML techniques rely on mathematics and on software engineering. Researchers and practitioners studying best practices for designing ML application systems and software…

Software Engineering · Computer Science 2019-10-14 Hironori Washizaki , Hiromu Uchida , Foutse Khomh , Yann-Gael Gueheneuc

Foundation model-enabled generative artificial intelligence facilitates the development and implementation of agents, which can leverage distinguished reasoning and language processing capabilities to takes a proactive, autonomous role to…

Artificial Intelligence · Computer Science 2024-11-07 Yue Liu , Sin Kit Lo , Qinghua Lu , Liming Zhu , Dehai Zhao , Xiwei Xu , Stefan Harrer , Jon Whittle

It has been a long time that computer architecture and systems are optimized for efficient execution of machine learning (ML) models. Now, it is time to reconsider the relationship between ML and systems, and let ML transform the way that…

Machine Learning · Computer Science 2022-02-25 Nan Wu , Yuan Xie

Architectural decay imposes real costs in terms of developer effort, system correctness, and performance. Over time, those problems are likely to be revealed as explicit implementation issues (defects, feature changes, etc.). Recent…

Software Engineering · Computer Science 2021-02-22 Duc Minh Le , Suhrid Karthik , Marcelo Schmitt Laser , Nenad Medvidovic

Software architecture has been a key research area in the software engineering community due to its significant role in creating high quality software. The trend of developing product lines rather than single products has made the software…

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

A software architect turns system requirements into a suitable software architecture through an architecture optimization process. However, how should the architect decide which quality improvement to prioritize, e.g., security or…

Software Engineering · Computer Science 2021-01-01 Ofir T. Erlich , David H. Lorenz

Increasing reuse opportunities is a well-known problem for software designers as well as for hardware designers. Nonetheless, current software and hardware engineering practices have embraced different approaches to this problem. Software…

Software Engineering · Computer Science 2011-11-09 Fernando Rincon , Francisco Moya , Jesus Barba , Juan Carlos Lopez