English
Related papers

Related papers: An Exploratory Study on Architectural Knowledge in…

200 papers

The activity of design involves the decomposition of problems into subproblems and the development and evaluation of solutions. In many cases, solution development is not done from scratch. Designers often evoke and adapt solutions…

Software Engineering · Computer Science 2007-05-23 Françoise Detienne

Traces of user interactions with a software system, captured in production, are commonly used as an input source for user experience testing. In this paper, we present an alternative use, introducing a novel approach of modeling user…

Software Engineering · Computer Science 2019-07-24 Hui Chen , Kostadin Damevski , David Shepherd , Nicholas A. Kraft

Documenting software architecture is essential to preserve architecture knowledge, even though it is frequently costly. Architecture pattern instances, including microservice pattern instances, provide important structural software…

Software Engineering · Computer Science 2026-03-25 Carlos Eduardo Duarte

The concept of traceability between artifacts is considered an enabler for software project success. This concept has received plenty of attention from the research community and is by many perceived to always be available in an industrial…

Software Engineering · Computer Science 2022-06-10 Davide Fucci , Emil Alégroth , Thomas Axelsson

Context: Technical Debt needs to be managed to avoid disastrous consequences, and investigating developers' habits concerning technical debt management is invaluable information in software development. Objective: This study aims to…

Software Engineering · Computer Science 2020-09-10 Zadia Codabux , Christopher Dutchyn

This paper explores the concepts of modelling a software development project as a process that results in the creation of a continuous stream of data. In terms of the Jazz repository used in this research, one aspect of that stream of data…

Software Engineering · Computer Science 2014-07-24 Andy M. Connor , Jacqui Finlay , Russel Pears

Open source projects often maintain open bug repositories during development and maintenance, and the reporters often point out straightly or implicitly the reasons why bugs occur when they submit them. The comments about a bug are very…

Software Engineering · Computer Science 2011-03-21 Deqing Wang , Mengxiang Lin , Hui Zhang , Hongping Hu

This paper presents a forward-looking vision for artificial intelligence-driven software architecture that addresses longstanding challenges in design and evolution. Although artificial intelligence has achieved notable success in software…

Software Engineering · Computer Science 2025-04-08 Alessio Bucaioni , Martin Weyssow , Junda He , Yunbo Lyu , David Lo

The main problems of Software Engineering appear as a result of incompatibilities. For example, the quality of organization of the production process depends on correspondence with existent resources and on a common understanding of project…

Software Engineering · Computer Science 2009-03-13 Kirill A Sorudeykin

Version control systems are integral to software development, with GitHub emerging as a popular online platform due to its comprehensive project management tools, including issue tracking and pull requests. However, GitHub lacks a direct…

Software Engineering · Computer Science 2024-07-31 Rifat Ara Proma , Paul Rosen

Architectural debt is a form of technical debt that derives from the gap between the architectural design of the system as it "should be" compared to "as it is". We measured architecture debt in two ways: 1) in terms of system-wide coupling…

Software Engineering · Computer Science 2018-12-03 Maleknaz Nayebi , Yuanfang Cai , Rick Kazman , Guenther Ruhe , Qiong Feng , Chris Carlson , Francis Chew

Many software systems fail to meet the needs of the diverse end-users in society and are prone to pose problems, such as accessibility and usability issues. Some of these problems (partially) stem from the failure to consider the…

Software Engineering · Computer Science 2022-01-19 Hourieh Khalajzadeh , Mojtaba Shahin , Humphrey O. Obie , John Grundy

Starting from the pioneering works on software architecture precious guidelines have emerged to indicate how computer programs should be organized. For example the "separation of concerns" suggests to split a program into modules that…

Software Engineering · Computer Science 2010-03-30 A. D. Chepelianskii

Recent research provides evidence that effective communication in collaborative software development has significant impact on the software development lifecycle. Although related qualitative and quantitative studies point out textual…

Software Engineering · Computer Science 2018-03-07 Vasiliki Efstathiou , Diomidis Spinellis

The way developers collaborate inside and particularly across teams often escapes management's attention, despite a formal organization with designated teams being defined. Observability of the actual, organically formed engineering…

Software Engineering · Computer Science 2019-05-17 Waren Long , Vadim Markovtsev , Hugo Mougard , Egor Bulychev , Jan Hula

Humans often rely on underlying structural patterns-schemas-to create, whether by writing stories, designing software, or composing music. Schemas help organize ideas and guide exploration, but they are often difficult to discover and…

Human-Computer Interaction · Computer Science 2025-08-08 Sitong Wang

The architecture of a system captures important design decisions for the system. Over time, changes in a system's implementation may lead to violations of specific design decisions. This problem is common in industry and known as…

Software Engineering · Computer Science 2019-09-16 Diego Marmsoler , Ana Petrovska

The problem of using structured methods to represent knowledge is well-known in conceptual modeling and has been studied for many years. It has been proven that adopting modeling patterns represents an effective structural method. Patterns…

Identifiers make up a majority of the text in code. They are one of the most basic mediums through which developers describe the code they create and understand the code that others create. Therefore, understanding the patterns latent in…

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