English
Related papers

Related papers: AC2 -- Towards Understanding Architectural Changes…

200 papers

Agile teams juggle multiple tasks so professionals are often assigned to multiple projects, especially in service organizations that monitor and maintain a large suite of software for a large user base. If we could predict changes in…

Software Engineering · Computer Science 2018-09-07 Rahul Krishna , Amritanshu Agrawal , Akond Rahman , Alexander Sobran , Tim Menzies

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

The Open-Source Software community has become the center of attention for many researchers, who are investigating various aspects of collaboration in this extremely large ecosystem. Due to its size, it is difficult to grasp whether or not…

Software Engineering · Computer Science 2022-01-11 Elena Lyulina , Mahmoud Jahanshahi

Layered software architecture contains several intra-layer and inter-layer dependencies. Each layer depends on shared components making it difficult to release a code change, bug fix or feature without exhaustive testing and having to build…

Software Engineering · Computer Science 2016-06-28 Amol Patwardhan , Rahul Patwardhan , Sumalini Vartak

We propose a model to automatically describe changes introduced in the source code of a program using natural language. Our method receives as input a set of code commits, which contains both the modifications and message introduced by an…

Computation and Language · Computer Science 2017-04-18 Pablo Loyola , Edison Marrese-Taylor , Yutaka Matsuo

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

Code churn refers to the measure of the amount of code added, modified, or deleted in a project and is often used to assess codebase stability and maintainability. Program comprehension or how understandable the changes are, is equally…

Software Engineering · Computer Science 2024-10-10 Ani Hovhannisyan , Youmei Fan , Gema Rodriguez-Perez , Raula Gaikovina Kula

Although architecture instability has been studied and measured using a variety of metrics, a deeper analysis of which project parts are less stable and how such instability varies over time is still needed. While having more information on…

Software Engineering · Computer Science 2022-04-12 Alejandro Valdezate , Rafael Capilla , Gregorio Robles , Victor Salamanca

A crucial activity in software maintenance and evolution is the comprehension of the changes performed by developers, when they submit a pull request and/or perform a commit on the repository. Typically, code changes are represented in the…

Software Engineering · Computer Science 2025-02-26 Lei Chen , Michele Lanza , Shinpei Hayashi

Modern software development depends on APIs to reuse code and increase productivity. As most software systems, these libraries and frameworks also evolve, which may break existing clients. However, the main reasons to introduce breaking…

Software Engineering · Computer Science 2018-08-09 Aline Brito , Laerte Xavier , Andre Hora , Marco Tulio Valente

Developers are usually unaware of the impact of code changes to the performance of software systems. Although developers can analyze the performance of a system by executing, for instance, a performance test to compare the performance of…

Human-Computer Interaction · Computer Science 2019-04-16 Leonel Merino , Mario Hess , Alexandre Bergel , Oscar Nierstrasz , Daniel Weiskopf

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

Requirements volatility is a major issue in software development, causing problems such as higher defect density, project delays and cost overruns. Software architecture that guides the overall vision of software product, is one of the…

Software Engineering · Computer Science 2019-04-18 Sandun Dasanayake , Sanja Aaramaa , Jouni Markkula , Markku Oivo

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

AI code agents excel at isolated tasks yet struggle with multi-file software engineering requiring architectural understanding. We introduce Theory of Code Space (ToCS), a benchmark that evaluates whether agents can construct, maintain, and…

Software Engineering · Computer Science 2026-03-20 Grigory Sapunov

The growing availability of open source projects has facilitated developers to reuse existing software artifacts and leverage them to develop new software. However, it is hard to understand the notion of similarity as it varies from…

Software Engineering · Computer Science 2021-03-03 A Eashaan Rao , Sridhar Chimalakonda

Modern software development methodologies include reuse of open source code. Reuse can be facilitated by architectural knowledge of the software, not necessarily provided in the documentation of open source software. The effort required to…

Software Engineering · Computer Science 2011-10-11 Eleni Constantinou , George Kakarontzas , Ioannis Stamelos

We introduce a tool that supports continuous flow analysis in order to detect security problems as the user edits. The tool uses abstract interpretation over both byte codes and abstract syntax trees to trace the flow of both type…

Software Engineering · Computer Science 2019-10-01 Steven P. Reiss

Software development is inherently incremental. Nowadays, many software companies adopt an agile process and a shorter release cycle, where software needs to be delivered faster with quality assurances. On the other hand, the majority of…

Software Engineering · Computer Science 2020-07-01 Ashwin Kallingal Joshy , Wei Le

Software cost estimation based on multivariate data from completed projects requires the building of efficient models. These models essentially describe relations in the data, either on the basis of correlations between variables or of…

Software Engineering · Computer Science 2011-10-07 Makrina Viola Kosti , Sofia Lazaridou , Nikoleta Bourazani , Lefteris Angelis