Understanding, Analysis, and Handling of Software Architecture Erosion DOI Open Access
Ruiyin Li

Published: Nov. 21, 2023

Architecture erosion occurs when a software system's implemented architecture diverges from the intended over time. Studies show impacts development, maintenance, and evolution since it accumulates imperceptibly. Identifying early symptoms like architectural smells enables managing through refactoring. However, research lacks comprehensive understanding of erosion, unclear which are most common, detection methods. This thesis establishes an landscape, investigates symptoms, proposes identification approaches. A mapping study covers definitions, causes, consequences. Key findings: 1) "Architecture erosion" is used term, with four perspectives on definitions respective symptom types. 2) Technical non-technical reasons contribute to negatively impacting quality attributes. Practitioners can advocate addressing prevent failures. 3) Detection correction approaches categorized, consistency evolution-based commonly mentioned.An empirical explores practitioner communities, surveys, interviews. Findings reveal associated practices code review tools identify while collected measures address during implementation. Studying comments analyzes in practice. One reveals violations, duplicate functionality, cyclic dependencies frequent. Symptoms decreased time, indicating increased stability. Most were addressed after review. second violation projects, identifying 10 categories. Refactoring removing some disregarded.Machine learning classifiers using pre-trained word embeddings reviews. SVM word2vec achieved highest performance. fastText worked well. 200-dimensional outperformed 100/300-dimensional. 4) Ensemble classifier improved 5) found results valuable, confirming potential.An automated recommendation system identifies qualified reviewers for violations similarity file paths comments. Experiments common methods perform well, outperforming baseline approach. Sampling techniques impact

Language: Английский

Issues and Their Causes in WebAssembly Applications: An Empirical Study DOI
Muhammad Waseem, Teerath Das, Aakash Ahmad

et al.

Published: June 14, 2024

WebAssembly (Wasm) is a binary instruction format designed for secure and efficient execution within sandboxed environmentspredominantly web apps browsers -to facilitate performance, security, flexibility of programming languages.In recent years, Wasm has gained significant attention from the academic research community industrial development projects to engineer high-performance applications.Despite offered benefits, developers encounter multitude issues rooted in (e.g., faults, errors, failures) are often unaware their root causes that impact applications.To this end, we conducted an empirical study mines documents practitioners' knowledge expressed as 385 12 open-source deployed on GitHub 354 question-answer posts via Stack Overflow.Overall, identified 120 types issues, which were categorized into 19 subcategories 9 categories create taxonomical classification encountered Wasm-based applications.Furthermore, cause analysis helped us identify 278 causes, have been 29 10 taxonomy causes.Our led first-of-its-kind taxonomies faced by underlying applications.The issue-cause -identified SO, offering empirically derived guidelines -can guide researchers practitioners design, develop, refactor applications.

Language: Английский

Citations

2

Predicting Change-Proneness with a Deep Learning Model: Incorporating Structural Dependencies DOI
Yamin Hu, Hao Jiang

2022 IEEE 46th Annual Computers, Software, and Applications Conference (COMPSAC), Journal Year: 2024, Volume and Issue: unknown, P. 1218 - 1229

Published: July 2, 2024

Language: Английский

Citations

0

Understanding, Analysis, and Handling of Software Architecture Erosion DOI Open Access
Ruiyin Li

Published: Nov. 21, 2023

Architecture erosion occurs when a software system's implemented architecture diverges from the intended over time. Studies show impacts development, maintenance, and evolution since it accumulates imperceptibly. Identifying early symptoms like architectural smells enables managing through refactoring. However, research lacks comprehensive understanding of erosion, unclear which are most common, detection methods. This thesis establishes an landscape, investigates symptoms, proposes identification approaches. A mapping study covers definitions, causes, consequences. Key findings: 1) "Architecture erosion" is used term, with four perspectives on definitions respective symptom types. 2) Technical non-technical reasons contribute to negatively impacting quality attributes. Practitioners can advocate addressing prevent failures. 3) Detection correction approaches categorized, consistency evolution-based commonly mentioned.An empirical explores practitioner communities, surveys, interviews. Findings reveal associated practices code review tools identify while collected measures address during implementation. Studying comments analyzes in practice. One reveals violations, duplicate functionality, cyclic dependencies frequent. Symptoms decreased time, indicating increased stability. Most were addressed after review. second violation projects, identifying 10 categories. Refactoring removing some disregarded.Machine learning classifiers using pre-trained word embeddings reviews. SVM word2vec achieved highest performance. fastText worked well. 200-dimensional outperformed 100/300-dimensional. 4) Ensemble classifier improved 5) found results valuable, confirming potential.An automated recommendation system identifies qualified reviewers for violations similarity file paths comments. Experiments common methods perform well, outperforming baseline approach. Sampling techniques impact

Language: Английский

Citations

0