Introducing an architectural conformance process in continuous integration

dc.creatorPinto, Arthur F.
dc.creatorTerra, Ricardo
dc.creatorGuerra, Eduardo
dc.creatorSabbas, Fernanda São
dc.date.accessioned2019-04-25T17:11:01Z
dc.date.available2019-04-25T17:11:01Z
dc.date.issued2017
dc.description.abstractAs software evolves, developers usually introduce deviations from the planned architecture, due to unawareness, conflicting requirements, technical difficulties, deadlines, etc. This occurs in systems with an explicit division of responsibility between groups of classes, such as modules and layers. Although there are architectural conformance tools to identify architectural violations, these tools are underused and detected violations are rarely corrected. To address these shortcomings, this article introduces an architectural conformance process into continuous integration. Thus, the conformance process is triggered by every code integration and, when no violations are detected, the code is integrated into the repository. The implemented tool, called ArchCI, supports the proposed solution using DCL (Dependency Constraint Language) as underlying conformance technique and Jenkins as the Continuous Integration server. We also evaluated the applicability of our proposed solution in a real-world Java project where we incrementally introduced 44 constraints through six releases. As the result, our process was able to detect 42 violations, which have always been fixed before the ensuing release.pt_BR
dc.description.provenanceSubmitted by André Calsavara (andre.calsavara@biblioteca.ufla.br) on 2019-04-25T17:08:20Z No. of bitstreams: 0en
dc.description.provenanceApproved for entry into archive by André Calsavara (andre.calsavara@biblioteca.ufla.br) on 2019-04-25T17:11:00Z (GMT) No. of bitstreams: 0en
dc.description.provenanceMade available in DSpace on 2019-04-25T17:11:01Z (GMT). No. of bitstreams: 0 Previous issue date: 2017en
dc.identifier.citationPINTO, A. F. et al. Introducing an architectural conformance process in continuous integration. Journal of Universal Computer Science, [S. l.], v. 23, n. 8, p. 769-805, 2017.pt_BR
dc.identifier.urihttps://repositorio.ufla.br/handle/1/56621878
dc.identifier.urihttp://www.jucs.org/jucs_23_8/introducing_an_architectural_conformancept_BR
dc.languageen_USpt_BR
dc.publisherJournal of Universal Computer Sciencept_BR
dc.rightsopenAccesspt_BR
dc.sourceJournal of Universal Computer Sciencept_BR
dc.subjectSoftware architecture erosionpt_BR
dc.subjectArchitectural conformancept_BR
dc.subjectContinuous integrationpt_BR
dc.subjectErosão de arquitetura de softwarept_BR
dc.subjectConformidade arquitetônicapt_BR
dc.subjectIntegração contínuapt_BR
dc.titleIntroducing an architectural conformance process in continuous integrationpt_BR
dc.typeArtigopt_BR

Arquivos

Licença do pacote

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
953 B
Formato:
Item-specific license agreed upon to submission
Descrição: