Skip navigation
Universidade Federal da Bahia |
Repositório Institucional da UFBA
Use este identificador para citar ou linkar para este item: https://repositorio.ufba.br/handle/ri/39102
Registro completo de metadados
Campo DCValorIdioma
dc.creatorMotta, Tiago Oliveira-
dc.date.accessioned2024-02-27T14:06:02Z-
dc.date.available2024-02-27T14:06:02Z-
dc.date.issued2021-04-26-
dc.identifier.citationMOTTA, Tiago Oliveira. Um estudo de caracterização de mudanças arquiteturais em projetos de software livre. 2021. 262 f. Tese (Doutorado em Ciência da Computação) Instituto de Computação, Universidade Federal da Bahia, Salvador, Ba, 2021.pt_BR
dc.identifier.urihttps://repositorio.ufba.br/handle/ri/39102-
dc.description.abstractContext. The literature background indicates that the scarcity of architectural documentation predominates in free software projects. In this sense, several techniques have been proposed to retrieve information about the architecture; most of them focus on structural aspects from the source code, an element that accompanies the evolution of the software product. Problem. However, these techniques do not recover other information about the architecture (nor its evolution), such as the goals, constraints, and motivations, non-functional requirements, data access mechanisms, or communication mechanisms used in the project. Goal. The purpose of this work is to characterize architectural changes in Free Software projects, presenting the impacts caused by them in the project's source code compared with other types of changes without architectural implication. The hypotheses are that the commits messages record information about changes in the architectural project. This type of change impacts the project code differently compared to changes that affect architecture. Methodology. Initially, we conducted a study where, from repository mining, we identified information about architectural changes contained in commit messages. From the data collected, we conducted an exploratory study that characterized such changes regarding (i) the moment in the project's evolution when they took place, (ii) who their authors are, (iii) which architectural topics are modified, besides (iv) the characteristics of these messages and (v) the group of modules affected by the change. After this study, we conducted a second empirical study involving the extraction of metrics from the source code of the versions of the project identified as having undergone modifications in its architecture. Finally, we conducted a study to evaluate the results obtained, considering the feedback of both developers and researchers in Architecture and Software Engineering regarding the characterization of architectural changes. Results. Among the results, we can highlight that periods encompassing the release of new versions are concentrators of architectural changes; the main collaborators of the project are also the collaborators who modify the architecture the most; all the architectural topics of the project are subject to modifications but at different scales. About the second study, we highlight three results. The size of the code tends to increase. The complexity and cohesion of the code tend to remain constant. The coupling of the code tends to increase for two metrics and to remain constant in three others. Finally, in the third study, we hear developers and researchers about the results of the previous two studies. They confirmed the hypothesis that architectural documentation is scarce in Open Source projects. They claim that the main strategy to retrieve information about architecture is by analyzing the source code in several ways. Most research participants agree with the results obtained by this study about the variation of code metrics. They believe that the variations are generalizable and are recurrent in the projects that they research and develop. Some developers showed slight disagreements from the variations of metrics obtained. Regarding commit messages as sources of information about architecture, most developers and researchers agree that it is a promising source of information, although the ideal scenario would be to combine them with other information from the project.pt_BR
dc.description.sponsorshipFundação de Amparo à Pesquisa do Estado da Bahia (Fapesb)pt_BR
dc.description.sponsorshipConselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq)pt_BR
dc.languageporpt_BR
dc.publisherUniversidade Federal da Bahiapt_BR
dc.subjectModificações arquiteturaispt_BR
dc.subjectTraços arquiteturaispt_BR
dc.subjectCompreensão de softwarept_BR
dc.subjectAnálise estática de códigopt_BR
dc.subjectEstudos empı́ricospt_BR
dc.subjectSoftware livrept_BR
dc.subjectArquitetura de softwarept_BR
dc.subject.otherArchitectural modificationspt_BR
dc.subject.otherArchitectural tracespt_BR
dc.subject.otherSoftware comprehensionpt_BR
dc.subject.otherStatic code analysispt_BR
dc.subject.otherEmpirical studiespt_BR
dc.subject.otherFree softwarept_BR
dc.subject.otherSoftware Architecturept_BR
dc.titleUm estudo de caracterização de mudanças arquiteturais em projetos de software livrept_BR
dc.title.alternativeA study of architectural changes characterization in free software projectspt_BR
dc.typeTesept_BR
dc.publisher.programDoutorado Multiinstitucional de Pós-graduação em Ciência da Computação (DMCC) pt_BR
dc.publisher.initialsUFBApt_BR
dc.publisher.countryBrasilpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWAREpt_BR
dc.contributor.advisor1Souza, Rodrigo Rocha Gomes e-
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/7697794806460975pt_BR
dc.contributor.advisor-co1Sant'Anna, Cláudio Nogueira-
dc.contributor.advisor-co1Latteshttp://lattes.cnpq.br/3228159608138969pt_BR
dc.contributor.referee1Souza, Rodrigo Rocha Gomes e-
dc.contributor.referee1Latteshttp://lattes.cnpq.br/7697794806460975pt_BR
dc.contributor.referee2Mendonça Neto, Manoel Gomes de-
dc.contributor.referee2Latteshttp://lattes.cnpq.br/1608062196337851pt_BR
dc.contributor.referee3Chavez, Christina von Flach Garcia-
dc.contributor.referee3Latteshttp://lattes.cnpq.br/1827829018668226pt_BR
dc.contributor.referee4Masiero, Paulo Cesar-
dc.contributor.referee4Latteshttp://lattes.cnpq.br/8903183021436431pt_BR
dc.contributor.referee5Meirelles, Paulo Roberto Miranda-
dc.contributor.referee5Latteshttp://lattes.cnpq.br/2193972715230641pt_BR
dc.creator.Latteshttp://lattes.cnpq.br/6923977651005774pt_BR
dc.description.resumoContexto. A literatura em vigor aponta que a escassez de documentação arquitetural predomina em projetos de software livre. Nesse sentido, diversas técnicas têm sido propostas para recuperar informações sobre a arquitetura, e a maioria delas se concentra em aspectos estruturais a partir do código-fonte, um elemento que acompanha a evolução do produto de software. Problema. No entanto, essas técnicas não recuperam outras informações sobre a arquitetura (tampouco a sua evolução), tais como os objetivos, restrições e motivações, requisitos não-funcionais, mecanismos de acesso a dados ou de comunicação utilizados no projeto. Objetivo. A proposta desse trabalho é caracterizar mudanças arquiteturais em projetos de Software Livre, apresentando os impactos por elas causadas no código-fonte do projeto em comparação com outros tipos de mudança em que a arquitetura não foi modificada. As hipóteses são que as mensagens de commit registram informações sobre mudanças na arquitetura do projeto e que esse tipo de mudança impacta o código do projeto de forma diferente em comparação com mudanças onde a arquitetura não foi modificada. Metodologia. Inicialmente, foi produzido um estudo empírico, a partir da mineração de repositórios, no qual identificaram-se informações arquiteturais em registros de informações sobre mudanças que constam em mensagens de commit. A partir dos dados coletados, foi realizado um estudo exploratório que caracterizou tais mudanças sobre em que momento da evolução do projeto ocorreram, quem são os seus autores, quais tópicos arquiteturais são modificados, além das características dessas mensagens e do grupo de módulos atingidos pela mudança. Após esse estudo, foi conduzido um segundo estudo empírico, envolvendo a extração de métricas de código-fonte das versões do projeto identificadas como tendo sofrido modificações em sua arquitetura. Por fim, foi realizado um estudo para avaliar os resultados obtidos, considerando as opiniões de pesquisadores da área de Arquitetura e Engenharia de Software, assim como de desenvolvedores frente à caracterização obtida perante as mudanças arquiteturais. Resultados. Dentre as descobertas realizadas, pode-se destacar que períodos de lançamento de novas releases são concentradores de mudanças arquiteturais, os principais colaboradores do projeto também são os colaboradores que mais modificam a arquitetura e todos os tópicos arquiteturais do projeto são alvo de modificações, porém em escalas diferentes. Outros aspectos importantes sobre as mudanças arquiteturais são que (i) o tamanho do código tende a aumentar; (ii) a complexidade e a coesão do código tendem a se manter; e (iii) o acoplamento verificado aumentou para duas métricas e manteve-se em outras três, quando comparadas à mudanças no projeto onde a arquitetura não foi atingida. Por fim, durante o terceiro estudo desta tese, desenvolvedores e pesquisadores confirmaram a hipótese que a documentação arquitetural é escassa em projetos de Software Livre, e a principal forma de recuperar informações sobre a arquitetura, até o momento, é analisando o código-fonte de diversas formas. A maioria dos participantes da pesquisa concordam com os resultados obtidos por este estudo em relação à variação das métricas de código, tanto como sendo generalizáveis, como sendo verificáveis nos projetos onde pesquisam e desenvolvem. Alguns desenvolvedores apresentaram pequenas discordâncias quanto às variações de métricas obtidas. Sobre as mensagens de commit como fontes de informação sobre a arquitetura, a maioria de desenvolvedores e pesquisadores afirmaram ser uma fonte promissora de informações, mas fizeram a ressalva de que um cenário ideal seria combiná-las com outras informações do projeto.pt_BR
dc.publisher.departmentInstituto de Computação - ICpt_BR
dc.relation.referencesABREU, F. B.; GOULÃO, M.; ESTEVES, R. Toward the design quality evaluation of object-oriented software systems. In: Proceedings of the 5th International Conference on Software Quality, Austin, Texas, USA. [S.l.: s.n.], 1995. p. 44–57. AGGARWAL, K. et al. Empirical study of object-oriented metrics. Journal of Object Technology, v. 5, n. 8, p. 149–173, 2006. ALKADHI, R. et al. Rationale in development chat messages: an exploratory study. In: IEEE PRESS. Proceedings of the 14th International Conference on Mining Software Repositories. [S.l.], 2017. p. 436–446. ALKADHI, R. et al. How do developers discuss rationale? In: IEEE. 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER). [S.l.], 2018. p. 357–369. ALSHAYEB, M. Refactoring effect on cohesion metrics. In: IEEE. 2009 International Conference on Computing, Engineering and Information. [S.l.], 2009. p. 3–7. ANTONIOL, G. et al. Recovering traceability links between code and documentation. IEEE transactions on software engineering, IEEE, v. 28, n. 10, p. 970–983, 2002. BACHMANN, F. et al. Designing software architectures to achieve quality attribute requirements. IEE Proceedings-Software, IET, v. 152, n. 4, p. 153–165, 2005. BALIEIRO, M. A. et al. Ossnetwork: Um ambiente para estudo de comunidades de software livre usando redes sociais. In: Experimental Software Engineering Latin America Workshop. [S.l.: s.n.], 2007. p. 33–424. BALUSHI, T. H. A. et al. Elicito: a quality ontology-guided nfr elicitation tool. In: SPRINGER. International Working Conference on Requirements Engineering: Foundation for Software Quality. [S.l.], 2007. p. 306–319. BASILI, V. R.; ROMBACH, H. D. TAME: Integrating measurement into software environments. [S.l.], 1987. BASS, L.; CLEMENTS, P.; KAZMAN, R. Software Architecture in Practice. [S.l.: s.n.], 1998. 998 p. BEHNAMGHADER, P. et al. A large-scale study of architectural evolution in open-source software systems. Empirical Software Engineering, Springer, v. 22, n. 3, p. 1146–1193, 2017. BENGTSSON, P. Towards maintainability metrics on software architecture: An adaptation of object-oriented metrics. In: First nordic workshop on software architecture, ronneby. [S.l.: s.n.], 1998. BHAT, M. et al. Automatic extraction of design decisions from issue management systems: A machine learning based approach. In: SPRINGER. European Conference on Software Architecture. [S.l.], 2017. p. 138–154. BIEGEL, B. et al. Comparison of similarity metrics for refactoring detection. In: Proceedings of the 8th working conference on mining software repositories. [S.l.: s.n.], 2011. p. 53–62. BLEI, D.; NG, A. Y.; JORDAN, M. I. Latent Dirichlet Allocation. Jmlr, v. 3, p. 993–1022, 2003. ISSN 1532-4435. BOEHM, B. W. Verifying and validating software requirements and design specifications. IEEE software, IEEE Computer Society, v. 1, n. 1, p. 75, 1984. BOJIC, D.; VELASEVIC, D. A use-case driven method of architecture recovery for program understanding and reuse reengineering. In: IEEE. csmr. [S.l.], 2000. p. 23. BRUNET, J. a. et al. Do developers discuss design? Proceedings of the 11th Working Conference on Mining Software Repositories - MSR 2014, p. 340–343, 2014. Disponı́vel em: ⟨http://dl.acm.org.prox.lib.ncsu.edu/citation.cfm?id=2597073.2597115⟩. BURGE, J. E.; BROWN, D. C. Software engineering using rationale. Journal of Systems and Software, Elsevier, v. 81, n. 3, p. 395–413, 2008. BUSCHMANN, F.; HENNEY, K.; SCHIMDT, D. Pattern-Oriented Software Architecture: On Patterns And Pattern Language, Volume 5. [S.l.]: John wiley & sons, 2007. BUSCHMANN, F. et al. A system of patterns: Pattern-oriented software architecture. [S.l.]: Wiley New York, 1996. CAI, Y. et al. Design rule spaces: A new model for representing and analyzing software architecture. IEEE Transactions on Software Engineering, IEEE, v. 45, n. 7, p. 657–682, 2018. CAPILLA, R. et al. 10 years of software architecture knowledge management: Practice and future. Journal of Systems and Software, Elsevier, v. 116, p. 191–205, 2016. CAPRA, E. et al. A survey on firms’ participation in open source community projects. In: SPRINGER. IFIP International Conference on Open Source Systems. [S.l.], 2009. p. 225–236. CHARMAZ, K. Constructing grounded theory: A practical guide through qualitative analysis. [S.l.]: sage, 2006. CHIDAMBER, S. R.; KEMERER, C. F. A metrics suite for object oriented design. IEEE Transactions on software engineering, IEEE, v. 20, n. 6, p. 476–493, 1994. CHUNG, L. et al. Non-functional requirements. Software Engineering, Kluwer Academic, 2000. CINNÉIDE, M. Ó. et al. Experimental assessment of software metrics using automated refactoring. In: Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement. [S.l.: s.n.], 2012. p. 49–58. CLEARY, B.; EXTON, C. Facilitating architectural recovery, description & reuse through cognitive mapping. STEP 2005, p. 122–126, 2005. CLEMENTS, P. A survey of architecture description languages. Proceedings of the 8th International Workshop on Software Specification and Design, n. March, p. 16–25, 1996. Disponı́vel em: ⟨http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm? arnumber=501143⟩. CLEMENTS, P. et al. Documenting Software Architectures. [S.l.: s.n.], 2010. 592 p. ISBN 0201703726. CLEMENTS, P. et al. Documenting software architectures: views and beyond. In: IEEE. 25th International Conference on Software Engineering, 2003. Proceedings. [S.l.], 2003. p. 740–741. CODD, E. F. Recent Investigations in Relational Data Base Systems. [S.l.]: IBM Thomas J. Watson Research Division, 1974. COHEN, J. Weighted kappa: Nominal scale agreement provision for scaled disagreement or partial credit. Psychological Bulletin, v. 70, n. 4, p. 213–220, 1968. ISSN 1939-1455. CORAZZA, A.; MARTINO, S. D.; SCANNIELLO, G. A probabilistic based approach towards software system clustering. In: IEEE. Software Maintenance and Reengineering (CSMR), 2010 14th European Conference on. [S.l.], 2010. p. 88–96. CORBIN, J.; STRAUSS, A. Basics of qualitative research: Techniques and procedures for developing grounded theory. Sage Publications, Inc, 2008. CUNNINGHAM, H. Gate, a general architecture for text engineering. Computers and the Humanities, Springer, v. 36, n. 2, p. 223–254, 2002. DAGPINAR, M.; JAHNKE, J. H. Predicting maintainability with object-oriented metrics-an empirical comparison. In: IEEE. 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings. [S.l.], 2003. p. 155–164. DARCY, D. P. et al. The structural complexity of software an experimental test. IEEE Transactions on Software Engineering, IEEE, v. 31, n. 11, p. 982–995, 2005. DEURSEN, A. V. et al. Symphony: View-driven software architecture reconstruction. In: IEEE. Software Architecture, 2004. WICSA 2004. Proceedings. Fourth Working IEEE/IFIP Conference on. [S.l.], 2004. p. 122–132. DÍAZ-PACE, J. A. et al. Producing just enough documentation: An optimization approach applied to the software architecture domain. Journal on Data Semantics, Springer, v. 5, n. 1, p. 37–53, 2016. DING, L.; MEDVIDOVIC, N. Focus: A light-weight, incremental approach to software architecture recovery and evolution. In: IEEE. Software Architecture, 2001. Proceedings. Working IEEE/IFIP Conference on. [S.l.], 2001. p. 191–200. DING, W. et al. How do open source communities document software architecture: An exploratory survey. In: IEEE. 2014 19th International conference on engineering of complex computer systems. [S.l.], 2014. p. 136–145. DUTOIT, A. H.; PAECH, B. Rationale management in software engineering. In: Handbook of Software Engineering and Knowledge Engineering: Volume I: Fundamentals. [S.l.]: World Scientific, 2001. p. 787–815. EADDY, M. et al. Do crosscutting concerns cause defects? Software Engineering, IEEE Transactions on, IEEE, v. 34, n. 4, p. 497–515, 2008. EBERT, C. Dealing with nonfunctional requirements in large software systems. Annals of Software Engineering, Springer, v. 3, n. 1, p. 367–395, 1997. EBERT, J. et al. Gupro-generic understanding of programs an overview. Electronic Notes in Theoretical Computer Science, Elsevier, v. 72, n. 2, p. 47–56, 2002. EIXELSBERGER, W. et al. Software architecture recovery of a program family. In: IEEE. Software Engineering, 1998. Proceedings of the 1998 International Conference on. [S.l.], 1998. p. 508–511. FARID, H.; AZAM, F.; IQBAL, M. A. Minimizing the risk of architectural decay by using architecture-centric evolution process. International Journal of Computer Science, Engineering and Applications, Academy & Industry Research Collaboration Center (AIRCC), v. 1, n. 5, p. 1, 2011. FAVRE, J.-M. Cacophony: Metamodel-driven software architecture reconstruction. In: IEEE. Reverse Engineering, 2004. Proceedings. 11th Working Conference on. [S.l.], 2004. p. 204–213. FENTON, N.; BIEMAN, J. Software metrics: a rigorous and practical approach. [S.l.]: CRC press, 2014. FIUTEM, R. et al. Art: an architectural reverse engineering environment. Journal of Software Maintenance, Citeseer, v. 11, n. 5, p. 339–364, 1999. FREITAS, E. P. et al. Using aspect-oriented concepts in the requirements analysis of distributed real-time embedded systems. In: Embedded system design: Topics, techniques and trends. [S.l.]: Springer, 2007. p. 221–230. GARCIA, J. et al. A framework for obtaining the ground-truth in architectural recovery. Proceedings of the 2012 Joint Working Conference on Software Architecture and 6th European Conference on Software Architecture, WICSA/ECSA 2012, p. 292–296, 2012. GARLAN, D. Software architecture: a travelogue. In: Proceedings of the on Future of Software Engineering. [S.l.: s.n.], 2014. p. 29–39. GARLAN, D.; SHAW, M. An introduction to software architecture. In: Advances in software engineering and knowledge engineering. [S.l.]: World Scientific, 1993. p. 1–39. GLASER, B. G. Theoretical sensitivity. mill valley. [S.l.]: CA: Sociology Press, 1978. GRAAF, K. A. de et al. An exploratory study on ontology engineering for software architecture documentation. Computers in Industry, Elsevier, v. 65, n. 7, p. 1053–1064, 2014. GUAN, T.; WONG, K.-F. Kps: a web information mining algorithm. Computer Networks, Elsevier, v. 31, n. 11-16, p. 1495–1507, 1999. GUO, G. Y.; ATLEE, J. M.; KAZMAN, R. A software architecture reconstruction method. [S.l.]: Springer, 1999. GURP, J. V.; BOSCH, J. Design erosion: problems and causes. Journal of systems and software, Elsevier, v. 61, n. 2, p. 105–119, 2002. HAITZER, T.; NAVARRO, E.; ZDUN, U. Reconciling software architecture and source code in support of software evolution. Journal of Systems and Software, Elsevier, v. 123, p. 119–144, 2017. HALL, M. et al. The weka data mining software: an update. ACM SIGKDD explorations newsletter, ACM New York, NY, USA, v. 11, n. 1, p. 10–18, 2009. HARRIS, D. R.; REUBENSTEIN, H. B.; YEH, A. S. Reverse engineering to the architectural level. In: ACM. Proceedings of the 17th international conference on Software engineering. [S.l.], 1995. p. 186–195. HARRISON, R.; COUNSELL, S.; NITHI, R. An overview of object-oriented design metrics. In: IEEE. Proceedings Eighth IEEE International Workshop on Software Technology and Engineering Practice incorporating Computer Aided Software Engineering. [S.l.], 1997. p. 230–235. HASSAN, A. E. The road ahead for mining software repositories. In: IEEE. Frontiers of Software Maintenance, 2008. FoSM 2008. [S.l.], 2008. p. 48–57. HASSAN, A. E.; HOLT, R. C. Using development history sticky notes to understand software architecture. In: IEEE. Program Comprehension, 2004. Proceedings. 12th IEEE International Workshop on. [S.l.], 2004. p. 183–192. HATCH, A. Software Architecture Visualisation. Tese (Doutorado) — Durham University, 2004. HEESCH, U. V.; AVGERIOU, P.; HILLIARD, R. A documentation framework for architecture decisions. Journal of Systems and Software, Elsevier, v. 85, n. 4, p. 795– 820, 2012. HENDERSON-SELLERS, B. Object-oriented metrics: measures of complexity. [S.l.]: Prentice-Hall, Inc., 1995. HESSE, T.-M. et al. Documented decision-making strategies and decision knowledge in open source projects: An empirical study on firefox issue reports. Information and Software Technology, Elsevier, v. 79, p. 36–51, 2016. HINDLE, A.; GERMAN, D. M.; HOLT, R. What do large commits tell us?: a taxonomical study of large commits. In: ACM. Proceedings of the 2008 international working conference on Mining software repositories (MSR 2008). [S.l.], 2008. p. 99–108. HIRATA, Y.; MIZUNO, O. Do Comments Explain Codes Adequately? Investigation by Text Filtering. Proceedings of the 8th Working Conference on Mining Software Repositories, p. 242–245, 2011. HITZ, M.; MONTAZERI, B. Measuring coupling and cohesion in object-oriented systems. [S.l.]: Citeseer, 1995. HOLT, R. C. Structural manipulations of software architecture using tarski relational algebra. In: IEEE. Reverse Engineering, 1998. Proceedings. Fifth Working Conference on. [S.l.], 1998. p. 210–219. HOTELLING, H. Analysis of a complex of statistical variables into principal components. Journal of educational psychology, Warwick & York, v. 24, n. 6, p. 417, 1933. HUYNH, S. et al. Automatic Modularity Conformance Checking. In: . [S.l.: s.n.], 2008. v. 1, p. 411–420. ISBN 9781605580791. INCE, D.; SHEPPARD, M. System design metrics: a review and perspective. In: IET. Second IEE/BCS Conference: Software Engineering, 1988 Software Engineering 88. [S.l.], 1988. p. 23–27. IYER, S. S. An analytical study of metrics and refactoring. Tese (Doutorado) — Citeseer, 2009. JIN, C.; LIU, J.-A. Applications of support vector mathine and unsupervised learning for predicting maintainability using object-oriented metrics. In: IEEE. 2010 Second International Conference on Multimedia and Information Technology. [S.l.], 2010. v. 1, p. 24–27. JURECZKO, M.; SPINELLIS, D. Using object-oriented design metrics to predict software defects. Models and Methods of System Dependability. Oficyna Wydawnicza Politechniki Wroclawskiej, p. 69–81, 2010. KAGDI, H.; COLLARD, M. L.; MALETIC, J. I. A survey and taxonomy of approaches for mining software repositories in the context of software evolution. Journal of software maintenance and evolution: Research and practice, Wiley Online Library, v. 19, n. 2, p. 77–131, 2007. KASUNIC, M. The state of software measurement practice: results of 2006 survey. [S.l.], 2006. KAUR, H.; VERMA, G. N. A case study upon non-functional requirements of online banking system. Int. J. Comput. Appl. Technol. Res, v. 4, p. 220–225, 2015. KAZMAN, R.; CARRIÈRE, S. J. Playing detective: Reconstructing software architecture from available evidence. Automated Software Engineering, Springer, v. 6, n. 2, p. 107–138, 1999. KAZMAN, R.; O’BRIEN, L.; VERHOEF, C. Architecture Reconstruction Guidelines Third Edition. [S.l.], 2003. KIM, S. et al. Predicting faults from cached history. In: IEEE COMPUTER SOCIETY. Proceedings of the 29th international conference on Software Engineering. [S.l.], 2007. p. 489–498. KITCHENHAM, B. A.; PFLEEGER, S. L. Principles of survey research part 2: designing a survey. ACM SIGSOFT Software Engineering Notes, ACM New York, NY, USA, v. 27, n. 1, p. 18–20, 2002. KITCHENHAM, B. A.; PFLEEGER, S. L. Principles of survey research: part 3: constructing a survey instrument. ACM SIGSOFT Software Engineering Notes, ACM New York, NY, USA, v. 27, n. 2, p. 20–24, 2002. KLEEBAUM, A. et al. Tool support for decision and usage knowledge in continuous software engineering. CEUR-WS. org, 2018. KNODEL, J. et al. Static evaluation of software architectures. In: IEEE. Software Maintenance and Reengineering, 2006. CSMR 2006. Proceedings of the 10th European Conference on. [S.l.], 2006. p. 10–pp. KO, A. J.; DELINE, R.; VENOLIA, G. Information needs in collocated software development teams. In: IEEE. Software Engineering, 2007. ICSE 2007. 29th International Conference on. [S.l.], 2007. p. 344–353. KOGUT, P.; CLEMENTS, P. Features of Architecture Description Languages. Proceedings of the Eighth International Workshop on Software Specification and Design, n. April, p. 1–13, 1995. KRIKHAAR, R. L. Software Architecture Reconstruction. 148 p. Tese (Doutorado) — Universiteit van Amsterdam, june 1999. KUHN, A.; DUCASSE, S.; GÍRBA, T. Semantic clustering: Identifying topics in source code. Information and Software Technology, Elsevier, v. 49, n. 3, p. 230–243, 2007. KURTANOVIĆ, Z.; MAALEJ, W. Mining user rationale from software reviews. In: IEEE. 2017 IEEE 25th International Requirements Engineering Conference (RE). [S.l.], 2017. p. 61–70. LAMSWEERDE, A. V. Elaborating security requirements by construction of intentional anti-models. In: IEEE. Proceedings. 26th International Conference on Software Engineering. [S.l.], 2004. p. 148–157. LANDIS, J. R.; KOCK, G. G. The Measurement of Observer Agreement for Categorical Data. Biometrics, v. 33, n. 1, p. 159–174, 1977. Disponı́vel em: ⟨http://doi.wiley.com/ 10.1002/9780470057339.vai016⟩. LARMAN, C. Applying UML and patterns: an introduction to object oriented analysis and design and interative development. [S.l.]: Pearson Education India, 2012. LEHMAN, M. M. et al. Metrics and laws of software evolution-the nineties view. In: IEEE. Proceedings Fourth International Software Metrics Symposium. [S.l.], 1997. p. 20– 32. LI, W.; HENRY, S. Object-oriented metrics that predict maintainability. Journal of systems and software, Elsevier, v. 23, n. 2, p. 111–122, 1993. LINDERS, B. Cmmi for development, guidelines for process integration and product improvement, third edition. Software Quality Professional, v. 13, n. 3, p. 33–34, 06 2011. Copyright - Copyright American Society for Quality Jun 2011; Pessoas - Chrissis, Mary Beth; Konrad, Mike; Shrum, Sandy; Última atualização em - 2011-06- 21; SubjectsTermNotLitGenreText - Chrissis, Mary Beth; Konrad, Mike; Shrum, Sandy. Disponı́vel em: ⟨https://search.proquest.com/docview/873045040?accountid=14536⟩. LORENZ, M.; KIDD, J. Object-oriented software metrics: a practical guide. [S.l.]: Prentice-Hall, Inc., 1994. LUNGU, M.; LANZA, M.; GÎRBA, T. Package patterns for visual architecture recovery. In: IEEE. Software Maintenance and Reengineering, 2006. CSMR 2006. Proceedings of the 10th European Conference on. [S.l.], 2006. p. 10–pp. MAALEJ, W.; HAPPEL, H.-J. Can Development Work Describe Itself? 7th IEEE Working Conference on Mining Software Repositories (MSR 2010), p. 191– 200, 2010. Disponı́vel em: ⟨http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm? arnumber=5463344⟩. MAFFORT, C. et al. Mining architectural violations from version history. Empirical Software Engineering, Springer, v. 21, n. 3, p. 854–895, 2016. MAIER, M. W.; EMERY, D.; HILLIARD, R. Software architecture: introducing ieee standard 1471. Computer, IEEE, v. 34, n. 4, p. 107–109, 2001. MALTON, A. J. Recovering general layering and subsystems in dependency graphs. STEP 2005, p. 136–141, 2005. MANCORIDIS, S. et al. Bunch: A clustering tool for the recovery and maintenance of software system structures. In: IEEE. Software Maintenance, 1999.(ICSM’99) Proceedings. IEEE International Conference on. [S.l.], 1999. p. 50–59. MANN, H. B.; WHITNEY, D. R. On a test of whether one of two random variables is stochastically larger than the other. The annals of mathematical statistics, JSTOR, p. 50–60, 1947. MAQBOOL, O.; BABRI, H. A. The weighted combined algorithm: A linkage algorithm for software clustering. In: IEEE. Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings. Eighth European Conference on. [S.l.], 2004. p. 15–24. MAQBOOL, O.; BABRI, H. A. Hierarchical clustering for software architecture recovery. Software Engineering, IEEE Transactions on, IEEE, v. 33, n. 11, p. 759–780, 2007. MARCUS, A.; MALETIC, J. I. Recovering documentation-to-source-code traceability links using latent semantic indexing. In: IEEE COMPUTER SOCIETY. Proceedings of the 25th international conference on software engineering. [S.l.], 2003. p. 125–135. MARTIN, R. Oo design quality metrics-an analysis of dependencies. In: Proc. Workshop Pragmatic and Theoretical Directions in Object-Oriented Software Metrics, OOPSLA’94. [S.l.: s.n.], 1994. MASKERI, G.; SARKAR, S.; HEAFIELD, K. Mining business topics in source code using latent dirichlet allocation. In: ACM. Proceedings of the 1st India software engineering conference. [S.l.], 2008. p. 113–120. MCCABE, T. J. A complexity measure. IEEE Transactions on software Engineering, IEEE, n. 4, p. 308–320, 1976. MEIRELLES, P. et al. A study of the relationships between source code metrics and attractiveness in free software projects. In: IEEE. 2010 Brazilian Symposium on Software Engineering. [S.l.], 2010. p. 11–20. MEIRELLES, P. R. M. Monitoramento de métricas de código-fonte em projetos de software livre. Tese (Doutorado) — Universidade de São Paulo, 2013. MELO, I. et al. Perceptions of 395 developers on software architecture’s documentation and conformance. In: IEEE. 2016 X Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS). [S.l.], 2016. p. 81–90. MENDONÇA, N. C.; KRAMER, J. An approach for recovering distributed system architectures. Automated Software Engineering, Springer, v. 8, n. 3-4, p. 311–354, 2001. MENS, K. et al. Co-evolving code and design with intensional views: A case study. Computer Languages, Systems & Structures, Elsevier, v. 32, n. 2, p. 140–156, 2006. MERTEN, T.; MAGER, B.; PAECH, B. Classifying Unstructured Data into Natural Language Text and Technical Information. Proceedings of the 11th Working Conference on Mining Software Repositories, v. 1, p. 300–303, 2014. MIODONSKI, P. et al. Evaluation of software architectures with eclipse. Institute for Empirical Software Engineering (IESE)-Report, v. 107, 2004. MISRA, S. C.; BHAVSAR, V. C. Relationships between selected software measures and latent bug-density: Guidelines for improving quality. In: SPRINGER. International Conference on Computational Science and Its Applications. [S.l.], 2003. p. 724–732. MIZUNO, O. et al. Spam filter based approach for finding fault-prone software modules. Proceedings - ICSE 2007 Workshops: Fourth International Workshop on Mining Software Repositories, MSR 2007, p. 7–10, 2007. MOSER, R.; PEDRYCZ, W.; SUCCI, G. A comparative analysis of the efficiency of change metrics and static code attributes for defect prediction. In: IEEE. 2008 ACM/IEEE 30th International Conference on Software Engineering. [S.l.], 2008. p. 181– 190. MOTTA, T. O.; SOUZA, R. R. Gomes e; SANT’ANNA, C. Characterizing architectural information in commit messages: an exploratory study. In: ACM. Proceedings of the XXXII Brazilian Symposium on Software Engineering. [S.l.], 2018. p. 12–21. MURPHY, G. C. Lightweight Structural Summarization As an Aid to Software Evolution. Tese (Doutorado) — University of Washington, 1996. AAI9704521. MUTHANNA, S. et al. A maintainability model for industrial software systems using design level metrics. In: IEEE. Proceedings Seventh Working Conference on Reverse Engineering. [S.l.], 2000. p. 248–256. NEU, S. et al. Telling stories about gnome with complicity. In: IEEE. 2011 6th International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT). [S.l.], 2011. p. 1–8. NUÑEZ-VARELA, A. S. et al. Source code metrics: A systematic mapping study. Journal of Systems and Software, Elsevier, v. 128, p. 164–197, 2017. O’BRIEN, L.; SMITH, D.; LEWIS, G. Supporting migration to services using software architecture reconstruction. In: IEEE. Software Technology and Engineering Practice, 2005. 13th IEEE International Workshop on. [S.l.], 2005. p. 81–91. OHBA, M.; GONDOW, K. Toward mining concept keywords from identifiers in large software projects. In: ACM. ACM SIGSOFT Software Engineering Notes. [S.l.], 2005. v. 30, n. 4, p. 1–5. OLAGUE, H. M.; ETZKORN, L. H.; COX, G. W. An entropy-based approach to assessing object-oriented software maintainability and degradation-a method and case study. In: Software Engineering Research and Practice. [S.l.: s.n.], 2006. p. 442–452. OREIZY, P.; MEDVIDOVIC, N.; TAYLOR, R. N. Architecture-based runtime software evolution. In: IEEE. Proceedings of the 20th international conference on Software engineering. [S.l.], 1998. p. 177–186. OZKAYA, M. What is software architecture to practitioners: A survey. In: IEEE. 2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD). [S.l.], 2016. p. 677–686. PANICHELLA, S. et al. How developers’ collaborations identified from different sources tell us about code changes. In: IEEE. 2014 IEEE International Conference on Software Maintenance and Evolution. [S.l.], 2014. p. 251–260. PATTISON, D. S.; BIRD, C. a.; DEVANBU, P. T. Talk and work: A preliminary report. Proceedings - International Conference on Software Engineering, p. 113–116, 2008. ISSN 02705257. Disponı́vel em: ⟨http://www.scopus.com/inward/record.url?eid= 2-s2.0-57049135108\&partnerID=tZOtx3y1⟩. PEARSON, K. X. on the criterion that a given system of deviations from the probable in the case of a correlated system of variables is such that it can be reasonably supposed to have arisen from random sampling. The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science, Taylor & Francis, v. 50, n. 302, p. 157–175, 1900. PERRY, D. E.; WOLF, A. L. Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes, ACM, v. 17, n. 4, p. 40–52, 1992. PINZGER, M. ArchView - Analyzing Evolutionary Aspects of Complex Software Systems. Tese (Doutorado) — Vienna Univ. of Technology, 2005. PINZGER, M. et al. Revealer: A lexical pattern matcher for architecture recovery. In: IEEE. Reverse Engineering, 2002. Proceedings. Ninth Working Conference on. [S.l.], 2002. p. 170–178. PORTER, M. F. An algorithm for suffix stripping. Program, MCB UP Ltd, v. 14, n. 3, p. 130–137, 1980. PRESSMAN, R.; MAXIM, B. Engenharia de Software-8ª Edição. [S.l.]: McGraw Hill Brasil, 2016. PUNTER, T. et al. Conducting on-line surveys in software engineering. In: IEEE. 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings. [S.l.], 2003. p. 80–88. REAL, R.; VARGAS, J. M. The probabilistic basis of jaccard’s index of similarity. Systematic biology, Society of Systematic Biologists, v. 45, n. 3, p. 380–385, 1996. RIEDIGER, J. E. B. K. V.; WINTER, A. Gupro-generic understanding of programs. Electronic Notes in Theoretical Computer Science, v. 72, n. 2, 2002. RIVA, C. View-Based Software Architecture Reconstruction. Tese (Doutorado) — Technical University of Vienna, 2004. RIVA, C. et al. Establishing a software architecting environment. Proceedings - Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004), p. 188–197, 2004. ROGERS, B. et al. Using text mining techniques to extract rationale from existing documentation. In: Design Computing and Cognition’14. [S.l.]: Springer, 2015. p. 457– 474. ROMANO, J. et al. Appropriate statistics for ordinal level data: Should we really be using t-test and cohen’sd for evaluating group differences on the nsse and other surveys. In: annual meeting of the Florida Association of Institutional Research. [S.l.: s.n.], 2006. p. 1–33. ROST, D. et al. Software architecture documentation for developers: a survey. In: SPRINGER. European Conference on Software Architecture. [S.l.], 2013. p. 72–88. SARTIPI, K. Software architecture recovery based on pattern matching. Software Maintenance, 2003. ICSM 2003., p. 293–296, 2003. Disponı́vel em: ⟨http://ieeexplore. ieee.org/xpls/abs\\ all.jsp?arnumber=1235434⟩. SEAMAN, C. B. Qualitative methods in empirical studies of software engineering. IEEE Transactions on software engineering, IEEE, v. 25, n. 4, p. 557–572, 1999. ISSN 0098- 5589. SHAHBAZIAN, A. et al. Recovering architectural design decisions. In: IEEE. 2018 IEEE International Conference on Software Architecture (ICSA). [S.l.], 2018. p. 95–9509. SHANNON, C. E. A mathematical theory of communication. ACM SIGMOBILE mobile computing and communications review, ACM New York, NY, USA, v. 5, n. 1, p. 3–55, 2001. SHARMA, M. et al. A comparative study of static object oriented metrics. International Journal of Advancements in Technology, v. 3, n. 1, p. 25–34, 2012. SHEPPERD, M. Design metrics: an empirical analysis. Software Engineering Journal, IET, v. 5, n. 1, p. 3–10, 1990. SHIHAB, E.; ZHEN, M. J.; HASSAN, A. E. On the use of internet relay chat (IRC) meetings by developers of the GNOME GTK+ project. Proceedings of the 2009 6th IEEE International Working Conference on Mining Software Repositories, MSR 2009, p. 107– 110, 2009. SIMON, F.; STEINBRUCKNER, F.; LEWERENTZ, C. Metrics based refactoring. In: IEEE. Proceedings Fifth European Conference on Software Maintenance and Reengineering. [S.l.], 2001. p. 30–38. SIMONS, C.; SINGER, J.; WHITE, D. R. Search-based refactoring: Metrics are not enough. In: SPRINGER. International Symposium on Search Based Software Engineering. [S.l.], 2015. p. 47–61. ŚLIWERSKI, J.; ZIMMERMANN, T.; ZELLER, A. When do changes induce fixes? In: ACM. ACM sigsoft software engineering notes. [S.l.], 2005. v. 30, n. 4, p. 1–5. SMITH, E. et al. Improving developer participation rates in surveys. In: IEEE. Cooperative and Human Aspects of Software Engineering (CHASE), 2013 6th International Workshop on. [S.l.], 2013. p. 89–92. SOMMERVILLE, I. Engenharia de Software. 9o Edição. [S.l.]: Pearson Education-BR, 2011. Classics STEVENS, W.; MYERS, G.; CONSTANTINE, L. Structured design. In: in Software Engineering. USA: Yourdon Press, 1979. p. 205–232. ISBN 0917072146. STOERMER, C.; O’BRIEN, L. Map-mining architectures for product line evaluations. In: IEEE. Software Architecture, 2001. Proceedings. Working IEEE/IFIP Conference on. [S.l.], 2001. p. 35–44. STOERMER, C.; O’BRIEN, L.; VERHOEF, C. Moving towards quality attribute driven software architecture reconstruction. In: IEEE. null. [S.l.], 2003. p. 46. STOERMER, C. et al. Model-centric software architecture reconstruction. Software: Practice and Experience, Wiley Online Library, v. 36, n. 4, p. 333–363, 2006. STOREY, M.-A. et al. The (r) evolution of social media in software engineering. In: ACM. Proceedings of the on Future of Software Engineering. [S.l.], 2014. p. 100–116. SUTCLIFFE, A. G.; MINOCHA, S. Scenario-based analysis of non-functional requirements. In: REFSQ. [S.l.: s.n.], 1998. v. 98, p. 219–234. TANG, A. et al. Human aspects in software architecture decision making: a literature review. In: IEEE. 2017 IEEE International Conference on Software Architecture (ICSA). [S.l.], 2017. p. 107–116. TANG, M.-H.; KAO, M.-H.; CHEN, M.-H. An empirical study on object-oriented metrics. In: IEEE. Proceedings sixth international software metrics symposium (Cat. No. PR00403). [S.l.], 1999. p. 242–249. TERCEIRO, A. et al. Analizo: an extensible multi-language source code analysis and visualization toolkit. In: Brazilian conference on software: theory and practice (Tools Session). [S.l.: s.n.], 2010. THWIN, M. M. T.; QUAH, T.-S. Application of neural networks for software quality prediction using object-oriented metrics. Journal of systems and software, Elsevier, v. 76, n. 2, p. 147–156, 2005. TZERPOS, V.; HOLT, R. C. Acdc: An algorithm for comprehension-driven clustering. In: IEEE. wcre. [S.l.], 2000. p. 258. WEINREICH, R.; GROHER, I. Software architecture knowledge management approaches and their support for knowledge management activities: A systematic literature review. Information and Software Technology, Elsevier, v. 80, p. 265–286, 2016. WILCOXON, F. Individual comparisons by ranking methods. In: Breakthroughs in statistics. [S.l.]: Springer, 1992. p. 196–202. WOHLIN, C. et al. Experimentation in software engineering. [S.l.]: Springer Science & Business Media, 2012. XENOS, M. et al. Object-oriented metrics-a survey. In: Proceedings of the FESMA. [S.l.: s.n.], 2000. p. 1–10. YAN, H. et al. Discotect: A system for discovering architectures from running systems. In: IEEE COMPUTER SOCIETY. Proceedings of the 26th International Conference on Software Engineering. [S.l.], 2004. p. 470–479. YING, A. T.; WRIGHT, J. L.; ABRAMS, S. Source code that talks: an exploration of eclipse task comments and their implication to repository mining. In: Proceedings of 2nd International Workshop on Mining Software Repositories (MSR 2005). [S.l.]: ACM, 2005. p. 53–57.pt_BR
dc.type.degreeDoutoradopt_BR
Aparece nas coleções:Tese (PGCOMP)

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
teseTiagoMotta.pdfTese de Doutorado em Ciência da Computação - Tiago Oliveira Motta6,3 MBAdobe PDFVisualizar/Abrir
Mostrar registro simples do item Visualizar estatísticas


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.