Article
Computer Science, Software Engineering
Ran Mo, Yuanfang Cai, Rick Kazman, Lu Xiao, Qiong Feng
Summary: This paper discusses the architecture anti-patterns that occur in all large-scale software systems and contribute to high maintenance costs, impacting files' bug-proneness and change-proneness. Among all defined architecture anti-patterns, Unstable Interface and Crossing have the most significant impact on files' error-proneness and change-proneness.
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
(2021)
Article
Computer Science, Software Engineering
Uwe Zdun, Pierre-Jean Queval, Georg Simhandl, Riccardo Scandariato, Somik Chakravarty, Marjan Jelic, Aleksandar Jovanovic
Summary: This article presents an approach to avoid the manual validation of security architecture tactics in microservice systems before each continuous evolution step. The authors demonstrate the effectiveness of the approach using three widely used categories of security tactics and propose novel detectors and formally defined metrics to measure a system's conformance to different options. They applied the approach to a case study data set of 10 open source microservice systems and assessed the validity of the metrics through statistical methods.
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY
(2023)
Article
Computer Science, Information Systems
Ahmed Baabad, Hazura Binti Zulzalil, Sa'adah Hassan, Salmi Binti Baharom
Summary: Software architecture plays a crucial role in determining success or failure in various software development and design fields. However, as a system evolves, software architecture tends to deteriorate, known as architectural erosion. This study conducted a systematic mapping and classification of architectural erosion metrics, identifying nearly 100 such metrics. The findings are significant for both researchers and practitioners, although further research is needed to address several ambiguous aspects.
Article
Biochemistry & Molecular Biology
Chun Lum Andy Ho, Robert Zimmermann, Juan Daniel Florez Weidinger, Mario Prsa, Manuel Schottdorf, Sam Merlin, Tsuyoshi Okamoto, Koji Ikezoe, Fabien Pifferi, Fabienne Aujard, Alessandra Angelucci, Fred Wolf, Daniel Huber
Summary: Orientation preference maps are a prominent feature found in the primary visual cortex organization of many primates and carnivores, but not in rodents. By studying the V1 of the small prosimian mouse lemur, it was discovered that the organization of orientation columns in mouse lemurs is similar to that of macaques, indicating a possible size limitation on the primate-type visual cortical circuit organization.
Article
Computer Science, Information Systems
Shouki A. Ebad
Summary: This paper attempts to bridge the gap between software designers' lack of familiarity with secure design principles (SDPs) and their implementation in the design stage. By applying SDPs to a real-world software project, electronic promotion system (ePS), the results show that most of the principles were applied to a great extent, but some had limited application. Integrating SDPs with other enterprise systems was also considered important.
Article
Computer Science, Software Engineering
Tong Wang, Bixin Li
Summary: Software architecture erosion has a negative impact on software quality, performance, and evolution cost. This paper proposes an approach called EsArCost to locate the causes of architecture erosion and estimate the repair cost of each erosion problem. Experimental results show that EsArCost can effectively and efficiently estimate repair costs.
JOURNAL OF SYSTEMS AND SOFTWARE
(2024)
Article
Computer Science, Information Systems
Di Cui, Lingling Fan, Sen Chen, Yuanfang Cai, Qinghua Zheng, Yang Liu, Ting Liu
Summary: This paper presents the first attempt to understand bug fixes from the perspective of dependencies. A systematic study on bug fixes collected from 157 Apache open source projects is conducted, revealing a relatively high proportion of bug fixes introducing dependency-level changes. These fixes are strongly correlated with high priority, large fixing churn, long fixing time, frequent bug reopening, and bug inducing. In addition, patched files with dependency-level changes consume much more maintenance costs compared to those without these changes.
SCIENCE CHINA-INFORMATION SCIENCES
(2022)
Article
Chemistry, Multidisciplinary
Mamdouh Alenezi
Summary: The evolution of software systems and understanding their internal quality is crucial in software engineering. This study analyzed the evolution of object-oriented open-source software systems in terms of size, internal quality metrics, showing significant differences among systems in LOC, significant correlations between internal quality metrics, and positive effects of complexity and inheritance on LOC. Coupling and Cohesion did not show significant effects on LOC.
APPLIED SCIENCES-BASEL
(2021)
Article
Computer Science, Software Engineering
Wesley K. G. Assuncao, Jacob Kruger, Sebastien Mosser, Sofiane Selaoui
Summary: Microservice architectures are widely used in the industry for developing scalable software systems. However, their design and maintenance present challenges to software engineers. To gain insights into the evolution of microservices, a large-scale empirical study was conducted on 11 open-source systems, revealing recurring patterns of evolution and analyzing the dependence between microservices.
JOURNAL OF SYSTEMS AND SOFTWARE
(2023)
Article
Green & Sustainable Science & Technology
Thomas Karanikiotis, Michail D. Papamichail, Andreas L. Symeonidis
Summary: This research emphasizes that software component maintainability is a continuous process rather than a one-time fix for technical debt. By evaluating the changing behavior of static analysis metrics, non-maintainable components could be identified around 50% ahead of the software life cycle.
Article
Computer Science, Software Engineering
Diomidis Spinellis, Paris Avgeriou
Summary: Unix, as an operating system, has evolved over the course of almost five decades, shaping modern operating systems, key software technologies, and development practices. Studying the evolution of Unix from an architectural perspective can provide insights on how to manage the growth of large, complex, and long-lived software systems.
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
(2021)
Article
Computer Science, Interdisciplinary Applications
Maarten van Geest, Bedir Tekinerdogan, Cagatay Catal
Summary: Smart warehousing focuses on enhancing service quality, productivity, and efficiency while reducing costs and failures. Domain analysis is conducted to identify key concerns shaping the architecture, followed by architecture design.
COMPUTERS IN INDUSTRY
(2021)
Article
Computer Science, Information Systems
Gonca Canan Oztekin, Gonca Gokce Menekse Dalveren
Summary: The purpose of this study is to propose a quality assessment model for Software Requirements Specification (SRS) in Turkish language for e-Government applications. The proposed model aims to reduce errors and standardize the use of natural language by creating a model based on Rupp's boilerplate that allows accurate input of requirements statements and matching them with common text templates. The usability of the model was validated by requirement engineers and it was concluded that the proposed model is applicable and improves the quality of SRS in Turkish language for e-Government applications.
Review
Computer Science, Artificial Intelligence
Yan Kang, Wentao Xie, Xiaopeng Wang, Haining Wang, Xinchao Wang, Jinyuan Li
Summary: The software module clustering problem aims to improve software quality and facilitate software maintenance. However, current methods often fail to consider modular stability and topological properties, resulting in subpar decompositions. Therefore, we propose a collaborative multi-objective information-sharing differential evolution algorithm that introduces global stability and path complexity as new objectives. Through population-sharing and information-sharing strategies, our algorithm achieves better search performance and provides decomposition results closer to expert opinions.
EXPERT SYSTEMS WITH APPLICATIONS
(2023)
Article
Computer Science, Software Engineering
Alexander Trautsch, Steffen Herbold, Jens Grabowski
Summary: Automated Static Analysis Tools (ASATs) are an integral part of software development and can warn developers about potential code problems. However, ASATs often have false positive warnings that need to be inspected and ignored by developers. This article examines the measurable impact of ASATs on external software quality using the example of PMD for Java. The research finds that there is little difference in the warning density between bug inducing files and other files.
EMPIRICAL SOFTWARE ENGINEERING
(2023)
Article
Computer Science, Artificial Intelligence
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
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
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
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
Chintan Amrit, Matthijs Den Besten, Andrea Capiluppi, Gregorio Robles
IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT
(2022)
Article
Computer Science, Information Systems
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
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
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
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
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
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
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
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
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
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)