English
Related papers

Related papers: APR: Architectural Pattern Recommender

200 papers

Modern software systems are guided by hierarchical architectural concepts -- software architectures, reference architectures, and architectural frameworks -- each operating at a distinct level of abstraction. These artifacts promote reuse,…

Software Engineering · Computer Science 2025-05-02 Amine Ben Hassouna

Architecture decision making is considered one of the most challenging cognitive tasks in software development. The objective of this study is to explore the state of the practice of architecture decision making in software teams, including…

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

Natural questions are crucial to shaping key architectural decisions and preserving architectural knowledge. They arise organically during the architectural design process, often resulting from the existing architectural experience of the…

Software Engineering · Computer Science 2025-07-01 Diogo Lemos , Ademar Aguiar , Neil B. Harrison

Architecture erosion (AEr) can adversely affect software development and has received significant attention in the last decade. However, there is an absence of a comprehensive understanding of the state of research about the reasons and…

Software Engineering · Computer Science 2022-02-14 Ruiyin Li , Peng Liang , Mohamed Soliman , Paris Avgeriou

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

Automated Program Repair (APR) is a fast growing area with numerous new techniques being developed to tackle one of the most challenging software engineering problems. APR techniques have shown promising results, giving us hope that one day…

Software Engineering · Computer Science 2021-06-09 Aldeida Aleti , Matias Martinez

The architecture of a neural network (NN) plays a critical role in determining its performance. However, there is no general closed-form function that maps between network structure and accuracy, making the process of architecture design…

Machine Learning · Computer Science 2025-07-29 Jinwook Hong

With the rapid development and large-scale popularity of program software, modern society increasingly relies on software systems. However, the problems exposed by software have also come to the fore. Software defect has become an important…

Software Engineering · Computer Science 2023-05-16 Kai Huang , Zhengzi Xu , Su Yang , Hongyu Sun , Xuejun Li , Zheng Yan , Yuqing Zhang

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

In the pull-based development model, code contributions are submitted as pull requests (PRs) to undergo reviews and approval by other developers with the goal of being merged into the code base. A PR can be supported by a description, whose…

Software Engineering · Computer Science 2026-02-17 Shirin Pirouzkhah , Pavlína Wurzel Gonçalves , Alberto Bacchelli

Architectural decision-making is a crucial concern for researchers and practitioners alike. There is a rationale behind every architectural decision that motivates an architect to choose one architectural solution out of a set of options.…

Software Engineering · Computer Science 2023-09-26 Klara Borowa , Rafał Lewanczyk , Klaudia Stpiczyńska , Patryk Stradomski , Andrzej Zalewski

Currently, there starts a research trend to leverage neural architecture for recommendation systems. Though several deep recommender models are proposed, most methods are too simple to characterize users' complex preference. In this paper,…

Information Retrieval · Computer Science 2018-07-26 Han Xiao , Yidong Chen , Xiaodong Shi

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

Context: Documenting Architectural Design Decisions (ADDs) is a critical factor in the software lifecycle, essential for efficient system maintenance, developer onboarding, and preventing knowledge vaporization. Although various templates…

Software Engineering · Computer Science 2026-05-01 Fernando Nogueira , Nabson Silva , Tayana Conte

Many engineering processes exist in the industry, text books and international standards. However, in practice rarely any of the processes are followed consistently and literally. It is observed across industries the processes are altered…

Software Engineering · Computer Science 2017-06-07 Nitish M. Devadiga

Understanding the architecture is vital for effectively maintaining and managing large software systems. However, as software systems evolve over time, their architectures inevitably change. To keep up with the change, architects need to…

Software Engineering · Computer Science 2023-11-09 Yiran Zhang , Zhengzi Xu , Chengwei Liu , Hongxu Chen , Jianwen Sun , Dong Qiu , Yang Liu

Architecture patterns capture architectural design experience and provide abstract solutions to recurring architectural design problems. They consist of a description of component types and restrict component connection and activation.…

Software Engineering · Computer Science 2017-03-22 Diego Marmsoler , Silvio Degenhardt

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

AI-assisted development tools enable rapid prototyping of services but often lack awareness of architectural constraints, infrastructure dependencies, and organizational standards required in production environments. Consequently, generated…

Pattern-Oriented Analysis and Design (POAD) is the practice of building complex software by applying proven designs to specific problem domains. Although a great deal of research and practice has been devoted to formalizing existing design…

Software Engineering · Computer Science 2008-02-27 Jerry Overton