Deductive Software Architecture Recovery via Chain-of-thought Prompting
Without proper maintenance, software evolution can deteriorate a system, including its architecture. As a reactive approach to assess the state of a system’s design, diverse techniques have been proposed for recovering software architecture from the system’s implementation. However, these approaches are inductive (bottom-up); the system’s architecture is reconstructed only from facts specified at the source-code level. For combating system’s deterioration by identifying architectural deviations, architects need a reference model of the current architecture. To this end, we envision a deductive (top-down) approach, which uses an architectural model as a high-level blueprint to classify source code units into architectural components. We showcase a proof of concept of our approach, which relies on transformer-based language models to emulate deductive reasoning via chain-of-thought prompting. The preliminary results shed light on the feasibility and usefulness of deductive software architecture recovery, and open doors to reach the overarching objective of generating software architecture explanations.
Fri 19 AprDisplayed time zone: Lisbon change
16:00 - 17:30 | Evolution 6New Ideas and Emerging Results / Research Track / Demonstrations / Software Engineering Education and Training at Glicínia Quartin Chair(s): Kiev Gama Federal University of Pernambuco (UFPE) | ||
16:00 15mTalk | Cneps: A Precise Approach for Examining Dependencies among Third-Party C/C++ Open-Source Components Research Track Yoonjong Na Korea University, Seunghoon Woo Korea University, Joomyeong Lee Korea University, Heejo Lee Korea University | ||
16:15 15mTalk | A Study on the Pythonic Functional Constructs' Understandability Research Track Cyrine Zid École Polytechnique de Montréal, Fiorella Zampetti University of Sannio, Italy, Giulio Antoniol Ecole Polytechnique de Montreal, Massimiliano Di Penta University of Sannio, Italy Pre-print | ||
16:30 15mTalk | Introducing Computer Science Undergraduate Students to DevOps Technologies from Software Engineering Fundamentals Software Engineering Education and Training Edgar Sarmiento-Calisaya , Alvaro Mamani-Aliaga Universidad Nacional de San Agustín de Arequipa, Julio Cesar Leite Federal University of Bahia (UFBA) DOI | ||
16:45 15mTalk | Bridging the Theory-Practice Gap in a Maintenance Programming Course: An Experience Report Software Engineering Education and Training Sofia Ouhbi Uppsala University | ||
17:00 7mTalk | Deductive Software Architecture Recovery via Chain-of-thought Prompting New Ideas and Emerging Results Satrio Adi Rukmono , Lina Ochoa Eindhoven University of Technology, Michel Chaudron Eindhoven University of Technology, The Netherlands | ||
17:07 7mTalk | Reproducibility of Build Environments through Space and Time New Ideas and Emerging Results Julien Malka LTCI, Télécom Paris, Institut Polytechnique de Paris, France, Stefano Zacchiroli Télécom Paris, Polytechnic Institute of Paris, Théo Zimmermann Télécom Paris, Polytechnic Institute of Paris Pre-print | ||
17:14 7mTalk | APICIA: An API Change Impact Analyzer for Android Apps Demonstrations Tarek Mahmud Texas State University, Meiru Che Central Queensland University, Jihan Rouijel Texas State University, Mujahid Khan Texas State University, Guowei Yang University of Queensland | ||
17:21 7mTalk | RAT: A Refactoring-Aware Tool for Tracking Code History Demonstrations Feifei Niu University of Ottawa, Junqian Shao Nanjing University, Chaofan Xu Nanjing University, Christoph Mayr-Dorn JOHANNES KEPLER UNIVERSITY LINZ, Wesley Assunção North Carolina State University, Liguo Huang Southern Methodist University, Chuanyi Li Nanjing University, Jidong Ge Nanjing University, Bin Luo Nanjing University, Alexander Egyed Johannes Kepler University Linz |