4.4 Article

Assessing architectural evolution: a case study

期刊

EMPIRICAL SOFTWARE ENGINEERING
卷 16, 期 5, 页码 623-666

出版社

SPRINGER
DOI: 10.1007/s10664-011-9164-x

关键词

Software architecture; Software evolution; Design principles; Structured design; Metrics; Eclipse

资金

  1. Institute for the encouragement of Scientific Research and Innovation of Brussels (ISRIB)
  2. Belgian State, Belgian Science Policy

向作者/读者索取更多资源

This paper proposes to use a historical perspective on generic laws, principles, and guidelines, like Lehman's software evolution laws and Martin's design principles, in order to achieve a multi-faceted process and structural assessment of a system's architectural evolution. We present a simple structural model with associated historical metrics and visualizations that could form part of an architect's dashboard. We perform such an assessment for the Eclipse SDK, as a case study of a large, complex, and long-lived system for which sustained effective architectural evolution is paramount. The twofold aim of checking generic principles on a well-know system is, on the one hand, to see whether there are certain lessons that could be learned for best practice of architectural evolution, and on the other hand to get more insights about the applicability of such principles. We find that while the Eclipse SDK does follow several of the laws and principles, there are some deviations, and we discuss areas of architectural improvement and limitations of the assessment approach.

作者

我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。

评论

主要评分

4.4
评分不足

次要评分

新颖性
-
重要性
-
科学严谨性
-
评价这篇论文

推荐

Article Computer Science, Artificial Intelligence

What makes the difference? An empirical comparison of fusion strategies for multimodal language analysis

Dimitris Gkoumas, Qiuchi Li, Christina Lioma, Yijun Yu, Dawei Song

Summary: The study compares eleven state-of-the-art modality fusion methods in video sentiment analysis and finds that attention mechanisms are effective but computationally expensive. Additional levels of crossmodal interaction decrease performance. Positive sentiment utterances are the most challenging cases for all approaches, and integrating linguistic modality as a pivot for non-verbal modalities improves performance.

INFORMATION FUSION (2021)

Article Computer Science, Software Engineering

Online adaptation for autonomous unmanned systems driven by requirements satisfaction model

Yixing Luo, Yuan Zhou, Haiyan Zhao, Zhi Jin, Tianwei Zhang, Yang Liu, Danny Barthaud, Yijun Yu

Summary: The article introduces an online adaptation approach named Captain for AUS control software, which optimizes adaptation by establishing a requirements satisfaction model, and has been successfully applied in both simulated scenarios and the real world.

SOFTWARE AND SYSTEMS MODELING (2022)

Article Computer Science, Software Engineering

Development effort estimation in free/open source software from activity in version control systems

Gregorio Robles, Andrea Capiluppi, Jesus M. Gonzalez-Barahona, Bjorn Lundell, Jonas Gamalielsson

Summary: Effort estimation models are essential for software management, providing forecasts for resources, constraints, and costs. However, estimating effort for Free/Open Source Software (FOSS) projects is particularly complex due to the mix of professional and volunteer developers. This study aims to develop a simple effort estimation model for FOSS projects, based on historic developer data and incorporating direct developer feedback.

EMPIRICAL SOFTWARE ENGINEERING (2022)

Article Computer Science, Software Engineering

Antipatterns in software classification taxonomies?

Cezar Sas, Andrea Capiluppi

Summary: Empirical results in software engineering have shown that findings are often not applicable to all software systems or any domain. This paper evaluates the quality of current software classifications and demonstrates how to create a classification of software types through a case study. The study identifies recurring issues, or "antipatterns," in software classification tasks and provides practical ways to avoid them.

JOURNAL OF SYSTEMS AND SOFTWARE (2022)

Editorial Material Business

Guest Editorial: Collaboration and Innovation Dynamics in Software Ecosystems

Chintan Amrit, Matthijs Den Besten, Andrea Capiluppi, Gregorio Robles

IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT (2022)

Article Computer Science, Information Systems

Burnout in software engineering: A systematic mapping study

Tien Rahayu Tulili, Andrea Capiluppi, Ayushi Rastogi

Summary: This paper is a systematic mapping study of burnout research in software engineering. The study shows that early research on burnout was qualitative, but has now moved towards quantitative and data-driven approaches. Machine learning methods have become a de-facto standard for detecting burnout in software developers. The study summarizes our understanding of burnout, how software artifacts indicate burnout, and how machine learning can aid in its early detection.

INFORMATION AND SOFTWARE TECHNOLOGY (2023)

Article Computer Science, Software Engineering

Applications of natural language processing in software traceability: A systematic mapping study?

Zaki Pauzi, Andrea Capiluppi

Summary: A key part of software evolution and maintenance is the continuous integration from collaborative efforts, often resulting in complex traceability challenges between software artifacts: features and modules remain scattered in the source code, and traceability links become harder to recover. In this paper, we perform a systematic mapping study dealing with recent research recovering these links through information retrieval, with a particular focus on natural language processing (NLP). Based on our study, we have identified key issues, barriers, and setbacks, as well as open challenges in achieving effective traceability and efforts in achieving interoperability and explainability in NLP models for traceability.

JOURNAL OF SYSTEMS AND SOFTWARE (2023)

Article Computer Science, Software Engineering

GitRanking: A ranking of GitHub topics for software classification using active sampling

Cezar Sas, Andrea Capiluppi, Claudio Di Sipio, Juri Di Rocco, Davide Di Ruscio

Summary: This paper introduces a new taxonomy in the GitHub ecosystem called GitRanking. By collecting 121K topics and using GitRanking, a taxonomy of 301 ranked application domains was created. The results show that GitRanking can effectively rank terms in a hierarchy. The objective of the article is to improve software classification methods for better labeling and categorization of software projects.

SOFTWARE-PRACTICE & EXPERIENCE (2023)

Proceedings Paper Computer Science, Software Engineering

Accounting for socio-technical resilience in software engineering

Tamara Lopez, Helen Sharp, Michel Wermelinger, Melanie Langer, Mark Levine, Caroline Jay, Yijun Yu, Bashar Nuseibeh

Summary: Resilience engineering (RE) is commonly used in safety-critical industries, but this paper explores its application in software engineering. Through a secondary analysis of ethnographic studies of commercial software practice, the authors present a preliminary study using an RE framework. They discuss three important episodes of software practice that demonstrate the application of RE principles, and propose how this kind of analysis can benefit software engineering. The authors also highlight challenges and opportunities based on their experience, and suggest future research directions.

2023 IEEE/ACM 16TH INTERNATIONAL CONFERENCE ON COOPERATIVE AND HUMAN ASPECTS OF SOFTWARE ENGINEERING, CHASE (2023)

Proceedings Paper Computer Science, Software Engineering

Weak Labelling for File -level Source Code Classification

Cezar Sas, Andrea Capiluppi

Summary: Software repository hosting services, such as GitHub, contain a vast amount of open-source software projects. Existing approaches to automatically classify these repositories often rely on artifacts like README files, neglecting the information in source code and file interaction, and focusing mainly on the project-level instead of decomposing into components. This work proposes a weak labelling approach using keyword extraction to annotate source files and aims to classify and identify semantic components in software projects.

2023 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING, SANER (2023)

Proceedings Paper Automation & Control Systems

Towards Robust Models of Code via Energy-Based Learning on Auxiliary Datasets

Nghi D. Q. Bui, Yijun Yu

Summary: This study proposes a method using an auxiliary dataset to enhance the robustness of source code models, achieving better results in OOD detection and adversarial sample detection.

PROCEEDINGS OF THE 37TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE 2022 (2022)

Proceedings Paper Computer Science, Software Engineering

In Rust We Trust - A Transpiler from Unsafe C to Safer Rust

Michael Ling, Yijun Yu, Haitao Wu, Yuan Wang, James R. Cordy, Ahmed E. Hassan

Summary: This study presents a source-to-source transformation approach to auto-refactor C programs into Rust, improving code safety and idiomaticness. Compared to existing tools, our method reduces the preservation of unsafe semantics in the transformation and increases opportunities for safe Rust refactoring by relaxing the semantics-preserving constraints. Experimental results demonstrate significant improvement in safe code ratios in both open-source and commercial projects.

2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2022) (2022)

Article Computer Science, Information Systems

The case for Zero Trust Digital Forensics

Christopher Neale, Ian Kennedy, Blaine Price, Yijun Yu, Bashar Nuseibeh

Summary: Reliable results in digital forensics investigations are crucial for the pursuit of justice, but current approaches relying on trust are vulnerable to accusations. This paper introduces a new approach based on the concept of Zero Trust, emphasizing the importance of dynamic and multifaceted verification of digital artifacts.

FORENSIC SCIENCE INTERNATIONAL-DIGITAL INVESTIGATION (2022)

Proceedings Paper Computer Science, Information Systems

Self-Supervised Contrastive Learning for Code Retrieval and Summarization via Semantic-Preserving Transformations

Nghi D. Q. Bui, Yijun Yu, Lingxiao Jiang

Summary: Corder is a self-supervised contrastive learning framework designed for source code models, eliminating the need for labeled data in code retrieval and summarization tasks. By training the source code model to recognize similar and dissimilar code snippets through contrastive learning, Corder's pre-trained models have shown superior performance in code-to-code retrieval, text-to-code retrieval, and code-to-text summarization tasks compared to other baseline models.

SIGIR '21 - PROCEEDINGS OF THE 44TH INTERNATIONAL ACM SIGIR CONFERENCE ON RESEARCH AND DEVELOPMENT IN INFORMATION RETRIEVAL (2021)

Proceedings Paper Computer Science, Software Engineering

InferCode: Self-Supervised Learning of Code Representations by Predicting Subtrees

Nghi D. Q. Bui, Yijun Yu, Lingxiao Jiang

Summary: This paper introduces InferCode, which applies self-supervised learning to abstract syntax trees of code to train code representations. Compared to prior techniques, using the pre-trained InferCode model achieves higher performance in most tasks, including those involving different programming languages.

2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2021) (2021)

暂无数据