Abstract

Several projects have been discontinued in the history of the software industry due to the presence of software architecture problems. The identification of such problems in source code is often required in real project settings, but it is a time-consuming and challenging task. Some authors assume that architectural problems are reflected in source code through individual code anomalies. However, each architectural problem may be realized by multiple code anomalies, which are intertwined in several program elements. The relationships of these various code anomalies and their architecture problems' counterparts are hard to reveal and characterize. In fact, there is little knowledge about the manifestation of code-anomaly agglomerations in software projects and when they adversely impact (or not) the software architecture. To overcome this limitation, we propose studying the architecture impact of a wide range of code-anomaly agglomerations. An agglomeration is a group of code anomalies that are related to each other for some reason -- e.g. all of them affect syntactically-related code elements in the program. In our study, we analyzed a total of 5418 code anomalies and 2229 agglomerations within 7 systems. We observed that architectural problems are much more often reflected as anomaly agglomerations rather than individual anomalies in the source code. More importantly, we also revealed when code-anomaly agglomerations were (or not) good indicators of architectural problems. For instance, the result of our study suggests that certain topologies of code-anomaly agglomerations are better indicators than others.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.