• DocumentCode
    2578112
  • Title

    On the Evolutionary Nature of Architectural Violations

  • Author

    Brunet, João ; Bittencourt, Roberto Almeida ; Serey, Dalton ; Figueiredo, Jorge

  • Author_Institution
    Fed. Univ. of Campina Grande, Campina Grande, Brazil
  • fYear
    2012
  • fDate
    15-18 Oct. 2012
  • Firstpage
    257
  • Lastpage
    266
  • Abstract
    Architectural conformance checking is the process of verifying whether a given software implementation conforms to the rules and decisions in an architectural model. Different conformance checking techniques have been proposed, and both academic and commercial tools use them for architecture evaluation. In this paper, we present an exploratory and longitudinal study on architectural violations of software systems. As an exploratory study, our aim has been to reveal patterns, raise hypotheses and form an initial body of knowledge on architectural violations, rather than test specific hypotheses. We have studied the evolution of four widely known open source systems for which we have trusted architectural models. The study encompasses the analysis of 19 bi-weekly versions of each system. In total, we analyzed more than 3,000 violations. From our observations, we have derived a series of facts. Four of them, deserve attention: 1) development teams of all studied projects seem to be aware of the presence of architectural violations in the code and all of them do perform perfective maintenance aimed at eliminating such violations, 2) despite all effort, the number of architectural violations, in the long term, is continuously growing, 3) in all studied systems there is a critical core, i.e., just a few design entities are responsible for the majority of violations, and 4) some violations seem to be "respawning", i.e., they are eliminated, but are likely to be back in future versions of the system.
  • Keywords
    conformance testing; public domain software; security of data; software architecture; software maintenance; architectural conformance checking; architectural violations; architecture evaluation; evolutionary nature; open source systems; perfective maintenance; software implementation conforms; software systems; trusted architectural models; Computer architecture; Documentation; Educational institutions; Inspection; Java; Manuals; Software; architectural violations; conformance checking; empirical study; reflexion models;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Reverse Engineering (WCRE), 2012 19th Working Conference on
  • Conference_Location
    Kingston, ON
  • ISSN
    1095-1350
  • Print_ISBN
    978-1-4673-4536-1
  • Type

    conf

  • DOI
    10.1109/WCRE.2012.35
  • Filename
    6385121