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: Английский

A fine-grained taxonomy of code review feedback in TypeScript projects DOI
Nicole Davila, Ingrid Nunes, Igor Wiese

et al.

Empirical Software Engineering, Journal Year: 2025, Volume and Issue: 30(2)

Published: Jan. 14, 2025

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

Citations

0

SmellDSL: A domain-specific language to assist developers in specifying code smell patterns DOI
Robson Keemps Silva, Kleinner Farias, Rafael Kunst

et al.

Information and Software Technology, Journal Year: 2025, Volume and Issue: unknown, P. 107760 - 107760

Published: May 1, 2025

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

Citations

0

D-ACT: Towards Diff-Aware Code Transformation for Code Review Under a Time-Wise Evaluation DOI
Chanathip Pornprasit, Chakkrit Tantithamthavorn, Patanamon Thongtanunam

et al.

2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), Journal Year: 2023, Volume and Issue: unknown

Published: March 1, 2023

Code review is a software quality assurance practice, yet remains time-consuming (e.g., due to slow feedback from reviewers). Recent Neural Machine Translation (NMT)-based code transformation approaches were proposed automatically generate an approved version of changed methods for given submitted patch. The existing could change tokens in any area method. However, not all need be changed. Intuitively, the method should paid more attention than others as they are prone defective. In this paper, we present NMT-based Diff-Aware Transformation approach (DACT) by leveraging token-level information enable NMT models better focus on We evaluate our D-ACT and baseline based time-wise evaluation (that ignored work) with 5,758 methods. Under scenario, results show that (1) can correctly transform 107 - 245 methods, which at least 62% higher approaches; (2) performance drops 57% 94% when ignored; (3) improved 17% 82% average 29% considering information. Our suggest evaluated under evaluation; substantially improve NMTbased review.

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

Citations

6

Do code reviews lead to fewer code smells? DOI
Erdem Tuna, Carolyn Seaman, Eray Tüzün

et al.

Journal of Systems and Software, Journal Year: 2024, Volume and Issue: 215, P. 112101 - 112101

Published: May 20, 2024

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

Citations

1

How social interactions can affect Modern Code Review DOI Creative Commons
Paolo Ciancarini,

Artem Kruglov,

Aygul Malikova

et al.

Frontiers in Computer Science, Journal Year: 2023, Volume and Issue: 5

Published: May 11, 2023

Introduction Modern Code Review (MCR) is a multistage process where developers evaluate source code written by others to enhance the software quality. Despite numerous studies conducted on effects of MCR quality, non-technical issues in have not been extensively studied. This study aims investigate social problems and find possible ways prevent them improve overall quality process. Methodology To achieve research objectives, we applied grounded theory shaped GQM approach collect data attitudes from different teams toward MCR. We interviews with 25 13 companies obtain information necessary how interactions affect reviewing Results Our findings show that interpersonal relationships within team can significant consequences also received list strategies overcome these problems. Discussion provides new perspective process, which has studied before. The this help development address their products. Conclusion valuable insights into them. Future could explore effectiveness identified addressing

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

Citations

3

Security Defect Detection via Code Review: A Study of the OpenStack and Qt Communities DOI
Jiaxin Yu, Liming Fu, Peng Liang

et al.

Published: Oct. 26, 2023

Background: Despite the widespread use of automated security defect detection tools, software projects still contain many defects that could result in serious damage. Such tools are largely context-insensitive and may not cover all possible scenarios testing potential issues, which makes them susceptible to missing complex defects. Hence, thorough entails a synergistic cooperation between these human-intensive techniques, including code review. Code review is widely recognized as crucial effective practice for identifying Aim: This work aims empirically investigate through Method: To this end, we conducted an empirical study by analyzing comments derived from four OpenStack Qt communities. Through manually checking 20,995 obtained keyword-based search, identified 614 security-related. Results: Our results show (1) prevalently discussed review, (2) more than half reviewers provided explicit fixing strategies/solutions help developers fix defects, (3) tend follow reviewers' suggestions action changes, (4) Not worth now Disagreement developer reviewer main causes resolving Conclusions: research demonstrate practices should combine manual with achieving comprehensive coverage addressing promoting appropriate standardization practitioners' behaviors during remains necessary enhancing security.

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

Citations

2

Do Code Reviews Lead to Fewer Code Smells? DOI
Erdem Tuna, Carolyn Seaman, Eray Tüzün

et al.

Published: Jan. 1, 2024

Context: The code review process is conducted by software teams with various motivations. Among other goals, reviews act as a gatekeeper for quality. Objective: In this study, we explore whether have an impact on one specific aspect of quality, maintainability. We further extend our investigation analyzing quality influences Method: investigate smells in the are related to that was reviewed using correlation analysis. augment quantitative analysis focus group study learn practitioners' opinions. Results: Our investigations revealed level neither increases nor decreases 8 out 10 reviews, regardless Contrary intuition, found little no smells. identified potential reasons behind counter-intuitive results data. Furthermore, practitioners still believe help improving Conclusion: imply community should update goals practices and reevaluate those align them more relevant modern realities.

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

Citations

0

Experimental evaluation and comparison of anti-pattern detection tools by the gold standard DOI

Somayeh Kalhor,

Mohammad Reza Keyvanpour, Afshin Salajegheh

et al.

Published: Nov. 17, 2022

Every symptom in the source code or design of software that violates object-oriented principles such as maintainability, reusability, and integrity is called an anti-pattern. Poor programming development process can lead to anti-patterns may cause further problems maintenance, so they should be removed by refactoring. The first most crucial step refactoring anti-pattern detection. Different approaches tools have been proposed do this, which provide different results same program due informal definition anti-patterns. In this paper, four antipattern detection compared, namely Checkstyle, PMD, iPlasma, Jspirit. These are implemented on opensource systems presented a gold standard previous studies field. three compared: Large Class, Long Method, Feature Envy. By comparing output standard, we sure our calculated precision recall values correct.

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

Citations

2

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