Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3267183.3267184acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbcarsConference Proceedingsconference-collections
research-article

Investigating the Relationship between Code Smell Agglomerations and Architectural Concerns: Similarities and Dissimilarities from Distributed, Service-Oriented, and Mobile Systems

Published: 17 September 2018 Publication History

Abstract

Context: software architects often decide on strategies before incorporating an asset (e.g., components) in software systems. At the same time, they are responsible for preventing code and architectural degradation caused by design problems. Problem: groups of code smells (a.k.a. agglomeration of code smells) have been recognized as a source of design problems, but no previous study has analyzed the relationship between such agglomerations and different types of software. Different types of software have different needs in terms of implementation of architectural concerns, which can lead to consequential variations in the way how code smells agglomerate. Goal: this study aims to understand how a varied set of projects and their respective architectural concerns relates to code smells agglomerations. Method: our study analyses the history of 15 Open Source Software (OSS) projects split as three groups of distributed, service-oriented, and mobile project types. It mines the projects for code smells and architectural concerns (identified from injected components). It agglomerates instances of code smells around these concerns, and analyzes them according to the grouped projects. Results/Discussion: the agglomerations of smells tend to follow a stratified pattern in which they group themselves through ramifications of similarities and dissimilarities of concerns and project types.

References

[1]
Majdi Abdellatief, Abu Bakar Md Sultan, Abdul Azim Abdul Ghani, and Marzanah A Jabar. 2013. A mapping study to investigate component-based software system metrics. Journal of systems and software (2013), 587--603.
[2]
M. AgÃijero and L. Ballejos. 2017. Dependency management in the cloud: An efficient proposal for Java. In 2017 XLIII Latin American Computer Conference (CLEI). 1--9.
[3]
Deepika Badampudi, Claes Wohlin, and Kai Petersen. 2016. Software component decision-making: In-house, OSS, COTS or outsourcing - A systematic literature review. Journal of Systems and Software (2016), 105--124.
[4]
Boyuan Chen and Zhen Ming Jack Jiang. 2017. Characterizing logging practices in Java-based open source software projects--a replication study in Apache Software Foundation. Empirical Software Engineering (2017), 330--374.
[5]
J Andrés Díaz-Pace, Christian Villavicencio, Silvia Schiaffino, Matías Nicoletti, and Hernán Vázquez. 2016. Producing Just Enough Documentation: An Optimization Approach Applied to the Software Architecture Domain. Journal on Data Semantics (2016), 37--53.
[6]
Marcos Dósea, Cláudio SantâĂŹAnna, and Bruno C da Silva. 2018. How do Design Decisions Affect the Distribution of Software Metrics? (2018).
[7]
Francesca Arcelli Fontana, Vincenzo Ferme, and Marco Zanoni. 2015. Towards Assessing Software Architecture Quality by Exploiting Code Smell Relations. In Proceedings of the 2015 IEEE/ACM 2Nd International Workshop on Software Architecture and Metrics. IEEE Computer Society, 1--7.
[8]
Martin Fowler and Kent Beck. 1999. Refactoring: improving the design of existing code. Addison-Wesley Professional.
[9]
Anubhuti Garg, Mugdha Gupta, Garvit Bansal, Bharavi Mishra, and Vikas Bajpai. 2016. Do bad smells follow some pattern?. In Proceedings of the International Congress on Information and Communication Technology. Springer, 39--46.
[10]
L. HernÃąndez and H. Costa. 2015. Identifying Similarity of Software in Apache Ecosystem -- An Exploratory Study. In 2015 12th International Conference on Information Technology - New Generations. 397--402.
[11]
Usha Kumari and Sucheta Bhasin. 2011. A Composite Complexity Measure for Component-based Systems. SIGSOFT Softw. Eng. Notes (2011), 1--5.
[12]
Michele Lanza and Radu Marinescu. 2010. Object-Oriented Metrics in Practice (1st ed.). Springer Publishing Company, Incorporated.
[13]
Isela Macia, Joshua Garcia, Daniel Popescu, Alessandro Garcia, Nenad Medvidovic, and Arndt von Staa. 2012. Are Automatically-detected Code Anomalies Relevant to Architectural Modularity?: An Exploratory Analysis of Evolving Systems. In Proceedings of the 11th Annual International Conference on Aspect-oriented Software Development. ACM, 167--178.
[14]
J. F. Maranzano, S. A. Rozsypal, G. H. Zimmerman, G. W. Warnken, P. E. Wirth, and D. M. Weiss. 2005. Architecture reviews: practice and experience. IEEE Software (March 2005), 34--43.
[15]
Thiago Mendes, Renato Novais, Manoel Mendonca, Luis Carvalho, and Felipe Gomes. 2017. RepositoryMiner - uma ferramenta extensivel de mineraÃğÃčo de repositorios de software para identificacao automatica de Divida Tecnica. In CBSoft 2017 - Sessao de Ferramentas.
[16]
Willian Oizumi, Alessandro Garcia, Leonardo da Silva Sousa, Bruno Cafeo, and Yixue Zhao. 2016. Code Anomalies Flock Together: Exploring Code Anomaly Agglomerations for Locating Design Problems. In Proceedings of the 38th International Conference on Software Engineering (ICSE '16). ACM, 440--451.
[17]
Willian N. Oizumi, Alessandro F. Garcia, Thelma E. Colanzi, Manuele Ferreira, and Arndt V. Staa. 2015. On the relationship of code-anomaly agglomerations and architectural problems. Journal of Software Engineering Research and Development (Jul 2015).
[18]
W. N. Oizumi, A. F. Garcia, T. E. Colanzi, M. Ferreira, and A. v. Staa. 2014. When Code-Anomaly Agglomerations Represent Architectural Problems? An Exploratory Study. In 2014 Brazilian Symposium on Software Engineering. 91--100.
[19]
Marc Palyart, Gail C Murphy, and Vaden Masrani. 2017. A Study of Social Interactions in Open Source Component Use. IEEE Transactions on Software Engineering (2017).
[20]
Efi Papatheocharous, Krzysztof Wnuk, Kai Petersen, SÃl'verine Sentilles, Antonio Cicchetti, Tony Gorschek, and Syed Shah. 2018. The GRADE taxonomy for supporting decision making asset selection in software-intensive system development. (04 2018).
[21]
G. Pedraza-Garcia, H. Astudillo, and D. Correal. 2014. Analysis of design meetings for understanding software architecture decisions. In 2014 XL Latin American Computing Conference (CLEI). 1--10.
[22]
V. S. Rekhav and H. Muccini. 2014. A Study on Group Decision-Making in Software Architecture. In 2014 IEEE/IFIP Conference on Software Architecture. 185--194.
[23]
Nael Salman. 2006. Complexity metrics as predictors of maintainability and integrability of software components. Cankaya University Journal of Arts and Sciences (2006).
[24]
Anas Shatnawi, Abdelhak-Djamel Seriai, Houari Sahraoui, and Zakarea Alshara. 2017. Reverse engineering reusable software components from object-oriented APIs. Journal of Systems and Software (2017), 442--460.
[25]
Clemens Szyperski. 2002. Component Software: Beyond Object-Oriented Programming (2nd ed.). Addison-Wesley Longman Publishing Co., Inc.
[26]
A. Tahmid, N. Nahar, and K. Sakib. 2016. Understanding the Evolution of Code Smells by Observing Code Smell Clusters. In 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER). 8--11.
[27]
S. Vidal, E. Guimaraes, W. Oizumi, A. Garcia, A. D. Pace, and C. Marcos. 2016. Identifying Architectural Problems through Prioritization of Code Smells. In 2016 X Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS). 41--50.
[28]
T. Wetchakorn and N. Prompoon. 2015. Method for mobile user interface design patterns creation for iOS platform. In 2015 12th International Joint Conference on Computer Science and Software Engineering (JCSSE). 150--155.

Cited By

View all
  • (2024)An exploratory evaluation of code smell agglomerationsSoftware Quality Journal10.1007/s11219-024-09680-632:4(1375-1412)Online publication date: 11-Jul-2024
  • (2022)Code Smell Co-occurrences: A Systematic MappingProceedings of the XXXVI Brazilian Symposium on Software Engineering10.1145/3555228.3555268(331-336)Online publication date: 5-Oct-2022
  • (2022)Characterizing the Architectural Erosion Metrics: A Systematic Mapping StudyIEEE Access10.1109/ACCESS.2022.315084710(22915-22940)Online publication date: 2022
  • Show More Cited By

Index Terms

  1. Investigating the Relationship between Code Smell Agglomerations and Architectural Concerns: Similarities and Dissimilarities from Distributed, Service-Oriented, and Mobile Systems

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Other conferences
      SBCARS '18: Proceedings of the VII Brazilian Symposium on Software Components, Architectures, and Reuse
      September 2018
      123 pages
      ISBN:9781450365543
      DOI:10.1145/3267183
      • Program Chair:
      • Ingrid Nunes
      © 2018 Association for Computing Machinery. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

      In-Cooperation

      • SBC: Brazilian Computer Society
      • UFSCar: Federal University of São Carlos
      • IFSP: Federal Institute of São Paulo

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 17 September 2018

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. Agglomeration
      2. Architecture
      3. Code Smell
      4. Component
      5. Concern

      Qualifiers

      • Research-article
      • Research
      • Refereed limited

      Conference

      SBCARS '18

      Acceptance Rates

      SBCARS '18 Paper Acceptance Rate 11 of 40 submissions, 28%;
      Overall Acceptance Rate 23 of 79 submissions, 29%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)3
      • Downloads (Last 6 weeks)1
      Reflects downloads up to 22 Nov 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)An exploratory evaluation of code smell agglomerationsSoftware Quality Journal10.1007/s11219-024-09680-632:4(1375-1412)Online publication date: 11-Jul-2024
      • (2022)Code Smell Co-occurrences: A Systematic MappingProceedings of the XXXVI Brazilian Symposium on Software Engineering10.1145/3555228.3555268(331-336)Online publication date: 5-Oct-2022
      • (2022)Characterizing the Architectural Erosion Metrics: A Systematic Mapping StudyIEEE Access10.1109/ACCESS.2022.315084710(22915-22940)Online publication date: 2022
      • (2022)Prioritization of god class design smell: A multi-criteria based approachJournal of King Saud University - Computer and Information Sciences10.1016/j.jksuci.2022.09.01134:10(9332-9342)Online publication date: Nov-2022

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media