English
Related papers

Related papers: Archify: A Recommender System of Architectural Des…

200 papers

What is Software Architecture? The rules, paradigmen, pattern that help to construct, build and test a serious piece of software. It is the practical experience boiled down to abstract level. Software Architecture builds on System…

Software Engineering · Computer Science 2007-05-23 Andre Adrian

Decision support tools enable improved decision-making for challenging decision problems by empowering stakeholders to process, analyze, visualize, and otherwise make sense of a variety of key factors. Their intentional design is a critical…

Computers and Society · Computer Science 2021-11-12 Narges Ahani , Andrew C. Trapp

Software architecture design is a fundamental part of creating every software system. Despite its importance, producing a C4 software architecture model, the preferred notation for such architecture, remains manual and time-consuming. We…

Software Engineering · Computer Science 2025-10-28 Kamil Szczepanik , Jarosław A. Chudziak

Computer systems are so complex, so they are usually designed and analyzed in terms of layers of abstraction. Complexity is still a challenge facing logical reasoning tools that are used to find software design flaws and implementation…

Software Engineering · Computer Science 2021-06-18 Ramy Shahin

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

Unbiased and objective architectural design decisions are crucial for the success of a software development project. Stakeholder inputs play an important role in arriving at such design decisions. However, the stakeholders may act in a…

Software Engineering · Computer Science 2019-05-28 Shipra Sharma , Balwinder Sodhi

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

Documentation is an important mechanism for disseminating software architecture knowledge. Software project teams can employ vastly different formats for documenting software architecture, from unstructured narratives to standardized…

Software Engineering · Computer Science 2023-05-30 Neil A. Ernst , Martin P. Robillard

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

The promise of increased agility, autonomy, scalability, and reusability has made the microservices architecture a \textit{de facto} standard for the development of large-scale and cloud-native commercial applications. Software patterns are…

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

Designing domain models and software architectures represents a significant challenge in software development, as the resulting architectures play a vital role in fulfilling the system's quality of service. Due to time pressure, architects…

Software Engineering · Computer Science 2024-02-02 Tobias Eisenreich , Sandro Speth , Stefan Wagner

Designing effective software architectures is a complex, iterative process that traditionally relies on expert judgment. This paper proposes an approach for Large Language Model (LLM)-assisted software architecture design using the…

Software Engineering · Computer Science 2025-07-01 Humberto Cervantes , Rick Kazman , Yuanfang Cai

The size of a software artifact influences the software quality and impacts the development process. In industry, when software size exceeds certain thresholds, memory errors accumulate and development tools might not be able to cope…

Software Engineering · Computer Science 2017-08-10 Jan Schroeder , Christian Berger , Alessia Knauss , Harri Preenja , Mohammad Ali , Miroslaw Staron , Thomas Herpel

Attribute-driven software architecture design aims to provide decision support by taking into account the quality attributes of softwares. A central question in this process is: What architecture design best fulfills the desirable software…

Computer Science and Game Theory · Computer Science 2015-08-13 Jiamou Liu , Ziheng Wei

Game development is a complex task involving multiple disciplines and technologies. Developers and researchers alike have suggested that AI-driven game design assistants may improve developer workflow. We present a recommender system for…

Artificial Intelligence · Computer Science 2019-08-14 Tiago Machado , Daniel Gopstein , Oded Nov , Angela Wang , Andy Nealen , Julian Togelius

Software projects rely on what we call project archetypes, i.e., pre-existing mental images of how projects work. They guide distribution of responsibilities, planning, or expectations. However, with the technological progress, project…

Software Engineering · Computer Science 2024-08-09 Mateusz Dolata , Kevin Crowston , Gerhard Schwabe

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

The whiteboard plays a crucial role in the day-to-day lives of software architects, as they frequently will organize meetings at the whiteboard to discuss a new architecture, some proposed changes to the architecture, a mismatch between the…

Software Engineering · Computer Science 2022-10-31 Eduardo Santana de Almeida , Iftekhar Ahmed , Andre van der Hoek

Recommender systems are a valuable tool for software engineers. For example, they can provide developers with a ranked list of files likely to contain a bug, or multiple auto-complete suggestions for a given method stub. However, the way…

Software Engineering · Computer Science 2022-08-02 Christoph Treude