• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 4
  • Tagged with
  • 4
  • 4
  • 4
  • 4
  • 4
  • 3
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Avalia??o da contribui??o de desenvolvedores para projetos de software usando minera??o de reposit?rios de software e minera??o de processos

Costa, Daniel Alencar da 01 February 2013 (has links)
Made available in DSpace on 2014-12-17T15:48:07Z (GMT). No. of bitstreams: 1 DanielAC_DISSERT.pdf: 1379221 bytes, checksum: 4e8ab78d03e452eecd9c3eaa6906e4ee (MD5) Previous issue date: 2013-02-01 / Coordena??o de Aperfei?oamento de Pessoal de N?vel Superior / Software Repository Mining (MSR) is a research area that analyses software repositories in order to derive relevant information for the research and practice of software engineering. The main goal of repository mining is to extract static information from repositories (e.g. code repository or change requisition system) into valuable information providing a way to support the decision making of software projects. On the other hand, another research area called Process Mining (PM) aims to find the characteristics of the underlying process of business organizations, supporting the process improvement and documentation. Recent works have been doing several analyses through MSR and PM techniques: (i) to investigate the evolution of software projects; (ii) to understand the real underlying process of a project; and (iii) create defect prediction models. However, few research works have been focusing on analyzing the contributions of software developers by means of MSR and PM techniques. In this context, this dissertation proposes the development of two empirical studies of assessment of the contribution of software developers to an open-source and a commercial project using those techniques. The contributions of developers are assessed through three different perspectives: (i) buggy commits; (ii) the size of commits; and (iii) the most important bugs. For the opensource project 12.827 commits and 8.410 bugs have been analyzed while 4.663 commits and 1.898 bugs have been analyzed for the commercial project. Our results indicate that, for the open source project, the developers classified as core developers have contributed with more buggy commits (although they have contributed with the majority of commits), more code to the project (commit size) and more important bugs solved while the results could not indicate differences with statistical significance between developer groups for the commercial project / Minera??o de Reposit?rios de Software (MSR) ? uma ?rea que procura analisar reposit?rios de software em busca de informa??es relevantes para a pesquisa e para a pr?tica na engenharia de software. As minera??es buscam transformar informa??es est?ticas de reposit?rios de software (sistemas de ger?ncia de configura??o e mudan?as) em informa??es relevantes que auxiliam a tomada de decis?o dentro do contexto de projetos de software. Por outro lado, a ?rea de Minera??o de Processos (MP) busca descobrir caracter?sticas dos processos que s?o utilizados em organiza??es para auxiliar na melhoria e documenta??o destes processos. Trabalhos recentes t?m buscado utilizar as t?cnicas de MSR e de MP para realizar diversas an?lises na ?rea de Engenharia de Software, tais como: (i) estudar a evolu??o dos projetos de software (ii) entender o processo de software real utilizado em um determinado projeto; e (iii) criar modelos de predi??es de defeitos. Contudo, poucos destes trabalhos buscam utilizar as t?cnicas de MP e MSR com o objetivo de analisar a contribui??o de desenvolvedores na implementa??o de sistemas de software. Esta disserta??o de mestrado prop?e a condu??o de estudos experimentais que buscam avaliar a contribui??o de desenvolvedores de software para projetos, atrav?s da utiliza??o das t?cnicas de MSR e MP. A contribui??o dos desenvolvedores ? avaliada sob tr?s diferentes perspectivas: (i) commits defeituosos; (ii) tamanho dos commits; e (iii) resolu??o de bugs priorit?rios. Dois projetos de software (um open-source e outro privado) foram analisados sob estas tr?s perspectivas. Para o projeto open-souce, 12.827 commits e 8.410 bugs foram avaliados, enquanto que para o projeto privado, 4.663 commits e 1.898 bugs foram avaliados. Os resultados obtidos indicam que para o projeto open-source os desenvolvedores classificados como desenvolvedores core, s?o os que mais produzem commits defeituosos (embora tamb?m sejam os que mais produzem commits), s?o os que contribuem com commits de maior tamanho de c?digo e tamb?m contribuem com mais bugs priorit?rios solucionados. J? para o projeto privado, os resultados n?o indicaram uma diferen?a estatisticamente significativa entre os grupos de desenvolvedores
2

Uma abordagem para evolu??o e reconcilia??o de linhas de produtos de software clonadas

Lima, Gleydson de Azevedo Ferreira 31 March 2014 (has links)
Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2015-11-27T13:12:56Z No. of bitstreams: 1 GleydsonDeAzevedoFerreiraLima_TESE.pdf: 3036609 bytes, checksum: d5ebbd6b69974b4e7bda113892450048 (MD5) / Approved for entry into archive by Elisangela Moura (lilaalves@gmail.com) on 2015-11-27T14:51:19Z (GMT) No. of bitstreams: 1 GleydsonDeAzevedoFerreiraLima_TESE.pdf: 3036609 bytes, checksum: d5ebbd6b69974b4e7bda113892450048 (MD5) / Made available in DSpace on 2015-11-27T14:51:19Z (GMT). No. of bitstreams: 1 GleydsonDeAzevedoFerreiraLima_TESE.pdf: 3036609 bytes, checksum: d5ebbd6b69974b4e7bda113892450048 (MD5) Previous issue date: 2014-03-31 / Linhas de produtos de software promovem a reutiliza??o em larga escala atrav?s do desenvolvimento de fam?lias de sistemas que: (i) compartilham um n?cleo comum de caracter?sticas previamente implementadas; e (ii) permitem a sele??o e customiza??o das caracter?sticas vari?veis, as quais determinam os comportamentos distintos de cada membro ou produto da fam?lia de sistema. Por raz?es de time-to-market e flexibilidade, a ind?stria de software tem adotado, com frequ?ncia, a t?cnica de clonagem como mecanismo de cria??o de produtos ou de novas linhas de produtos. Apesar das suas vantagens, a t?cnica de clonagem traz dificuldades para a evolu??o e reconcilia??o de caracter?sticas de linhas de produto de software devido aos poss?veis conflitos de integra??o das mudan?as realizadas no c?digo da linha de produto de software original, denominada Source, e a da linha de produto clonada, denominada Target. Esta tese de doutorado prop?e uma abordagem para evolu??o e reconcilia??o de produtos clonadas baseada na ado??o de t?cnicas de minera??o de reposit?rios de software. A abordagem promove a identifica??o de diferentes tipos de conflitos - l?xicos, estruturais e sem?nticos - que podem ocorrer durante a integra??o de caracter?sticas ou tarefas de desenvolvimento da linha de produto original para a linha de produto clonada. O trabalho apresenta os resultados de um estudo emp?rico de caracteriza??o dos tipos de conflitos de integra??o de c?digo em diferentes evolu??es de duas linhas de produto de software de sistemas de informa??o web. Os resultados do estudo demonstram o potencial da abordagem na resolu??o autom?tica ou semi-autom?tica de v?rios dos conflitos existentes, reduzindo assim os custos de evolu??o e reconcilia??o de linhas de produto de software clonadas. / Software product line engineering promotes large software reuse by developing a system family that shares a set of developed core features, and enables the selection and customization of a set of variabilities that distinguish each software product family from the others. In order to address the time-to-market, the software industry has been using the clone-and-own technique to create and manage new software products or product lines. Despite its advantages, the clone-and-own approach brings several difficulties for the evolution and reconciliation of the software product lines, especially because of the code conflicts generated by the simultaneous evolution of the original software product line, called Source, and its cloned products, called Target. This thesis proposes an approach to evolve and reconcile cloned products based on mining software repositories and code conflict analysis techniques. The approach provides support to the identification of different kinds of code conflicts ? lexical, structural and semantics ? that can occur during development task integration ? bug correction, enhancements and new use cases ? from the original evolved software product line to the cloned product line. We have also conducted an empirical study of characterization of the code conflicts produced during the evolution and merging of two large-scale web information system product lines. The results of our study demonstrate the approach potential to automatically or semi-automatically solve several existing code conflicts thus contributing to reduce the complexity and costs of the reconciliation of cloned software product lines.
3

CodeTrack: uma ferramenta para an?lise cont?nua de conflitos indiretos de software

Oliveira Neto, Jo?o Victor de 31 August 2017 (has links)
Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2018-02-15T13:38:34Z No. of bitstreams: 1 JoaoVictorDeOliveiraNeto_DISSERT.pdf: 2906470 bytes, checksum: 5e5f0824ff4be1201d9af45aac2ed119 (MD5) / Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 2018-02-20T21:02:12Z (GMT) No. of bitstreams: 1 JoaoVictorDeOliveiraNeto_DISSERT.pdf: 2906470 bytes, checksum: 5e5f0824ff4be1201d9af45aac2ed119 (MD5) / Made available in DSpace on 2018-02-20T21:02:12Z (GMT). No. of bitstreams: 1 JoaoVictorDeOliveiraNeto_DISSERT.pdf: 2906470 bytes, checksum: 5e5f0824ff4be1201d9af45aac2ed119 (MD5) Previous issue date: 2017-08-31 / A necessidade de evolu??o nos softwares tornou-se cada vez mais frequente e a engenharia de software precisou se adaptar para entregar produtos de qualidade em prazos cada vez menores. Para que o software continue sendo ?til ao longo do tempo, para o prop?sito ao qual foi desenvolvido, ? necess?rio que sejam realizadas mudan?as ou inclu?das novas funcionalidades para que este acompanhe as mudan?as no contexto do neg?cio. Com essas mudan?as, ? inevit?vel que o software passe a aumentar de tamanho e, consequentemente, em complexidade. Essa expans?o do software cria relacionamentos de depend?ncia entre componentes do c?digo-fonte e essas depend?ncias se propagam em uma cadeia de depend?ncias ? medida que a aplica??o cresce. Reescrever o mesmo trecho de c?digo ? uma pr?tica n?o recomendada no desenvolvimento de software, pois implica em replicar c?digo de forma distribu?da e desordenada. Ao fazer o reuso, o mesmo trecho j? escrito ? referenciado em diferentes funcionalidades do sistema atrav?s da cadeia de depend?ncia e chamadas de m?todos, fazendo com que diferentes partes do c?digo que estejam associadas a diferentes funcionalidades passem a depender de um mesmo componente. Altera??es de trechos de c?digo que possuem rela??o direta ou indireta com diferentes casos de uso podem levar a falhas imprevistas da aplica??o, pois dependendo do n?mero de artefatos envolvidos e da extens?o da cadeia de depend?ncias relacionada ao c?digo alterado, uma mudan?a pode impactar um outro caso de uso que aparentemente n?o tem rela??o com o trecho de c?digo modificado. Prever impactos decorrentes de altera??es em um artefato ? uma tarefa que exige tempo para an?lise, profundo conhecimento do c?digo-fonte e esfor?o de teste. Este trabalho apresenta uma abordagem para automatizar a identifica??o de poss?veis conflitos indiretos atrav?s de uma ferramenta, capaz de determinar quais casos de uso possuem maior probabilidade de serem impactados por mudan?as no c?digo-fonte, podendo assim direcionar os esfor?os de testes de forma mais eficaz. Foi elaborado um estudo para avaliar um projeto real de dimens?o extensa que n?o possui uma su?te de testes automatizados e a ferramenta desenvolvida mostrou-se eficiente para detectar conflitos indiretos em diferentes cen?rios e tamb?m provou, atrav?s de um experimento emp?rico, que a maior parte das falhas decorrentes de conflitos indiretos teriam sido evitadas caso a ferramenta tivesse sido utilizada ainda na fase de desenvolvimento. / The necessity of software evolution for those which solve daily problems became even more frequent and the software engineering had to be adapted in order to be able to delivery products with good quality in tight dead lines. In order to the software continues being useful during its life cycle, to the main purpose whose was developed, its necessary to apply changes or include new features due to changes which happens in the business. Rewrite the same block of code is not a recommended approach on software development, because it spreads code in a distributed and disordered way. Applying the code reuse, the same block of code already wrote is referenced by different use cases through the dependency chain and method calls, where different parts of the code, which are being relate to differents funcionalitys, going to depend to the same component. Changes applyed to a block of code which has direct or indirect relation with differents use cases may lead to umpredictable fails, depending on the number of different artifacts related and the extension of dependency chain related to the artifact which was modified, this change may cause a impact on another use case which, by a first look, does not have any relation which the modified block of code. Predict impacts from in a specific artifact is a task which demands time to analysis, deep knowledge of the source-code and test effort. This paper presents an approach to automatize the identification of possible indirect conflicts using the developed tool, whose can determinate which use cases are more defect prone by source-code changes, providing a more effective direction to the test?s efforts. A Study Case was elaborated, assessing a real project of extensive dimension whose doesn?t have a automatized test case suite, and the developed tool was able to identify the indirect conflicts on differents cenarios and besides, the tool was able to proof in a empiric experiment which the major failures, caused by indirect conflicts could be avoided if the tool were be used during the development fase.
4

An automated approach for performance deviation analysis of evolving software systems

Pinto, Felipe Alves Pereira 18 November 2015 (has links)
Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2016-08-09T22:42:29Z No. of bitstreams: 1 FelipeAlvesPereiraPinto_TESE.pdf: 3382982 bytes, checksum: 85ac4517804b6893a9d66c8dc3ea1c78 (MD5) / Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 2016-08-10T21:37:28Z (GMT) No. of bitstreams: 1 FelipeAlvesPereiraPinto_TESE.pdf: 3382982 bytes, checksum: 85ac4517804b6893a9d66c8dc3ea1c78 (MD5) / Made available in DSpace on 2016-08-10T21:37:28Z (GMT). No. of bitstreams: 1 FelipeAlvesPereiraPinto_TESE.pdf: 3382982 bytes, checksum: 85ac4517804b6893a9d66c8dc3ea1c78 (MD5) Previous issue date: 2015-11-18 / The maintenance and evolution of software systems have become a critical task over the last years due to the diversity and high demand of features, devices and users. The ability to understand and analyze how newly introduced changes impact the quality attributes of the architecture of those software systems is an essential prerequisite for avoiding the deterioration of the engineering quality of them during their evolution. This thesis proposes an automated approach for the deviation analysis of the quality attribute of performance in terms of execution time (response time). It is implemented by a framework that adopts dynamic analysis and mining software repository techniques to provide an automated way to revel potential sources - commits and issues - of performance deviation in scenarios of an evolving software system. The approach defines four phases: (i) preparation - choosing the scenarios and preparing the target releases; (ii) dynamic analysis - determining the performance of scenarios and methods by calculating their execution time; (iii) deviation analysis - processing and comparing the results of the dynamic analysis for different releases; and (iv) repository mining - identifying development issues and commits associated with performance deviation. Several empirical studies have been developed to assess the approach from different perspectives. An initial study shows the feasibility of the approach to support traceability of quality attributes with static analysis. An exploratory study analyzed the usefulness and domain independence of the proposal in automatically identifying source code assets with performance deviation and the changes that have affected them during an evolution. This study was performed using three systems: (i) SIGAA - a web academic management system; (ii) ArgoUML - an UML modeling tool; and (iii) Netty - a network application framework. A third study has performed an evolutionary analysis of applying the approach to multiple releases of Netty, and the web frameworks Wicket and Jetty. It has analyzed twenty-one releases (seven releases of each system) and addressed a total of 57 scenarios. Overall, we have found 14 scenarios with significant performance deviation for Netty, 13 for Wicket, and 9 for Jetty. In addition, the feedback obtained from an online survey with eight developers of Netty, Wicket and Jetty is also discussed. Finally, in our last study, we built a performance regression model in order to indicate the properties of code changes that are more likely to cause performance degradation. We mined a total of 997 commits, of which 103 were retrieved from degraded code assets, 19 from optimized, while 875 had no impact on execution time. Number of days before release and day of week were the most relevant variables of commits that cause performance degradation in our model. The receiver operating characteristic (ROC) area of our regression model is 60%, which means that deciding if a commit will cause performance degradation or not by using the model is 10% better than a random guess. / A manuten??o e evolu??o de sistemas de software tornou-se uma tarefa bastante cr?tica ao longo dos ?ltimos anos devido ? diversidade e alta demanda de funcionalidades, dispositivos e usu?rios. Entender e analisar como novas mudan?as impactam os atributos de qualidade da arquitetura de tais sistemas ? um pr?-requisito essencial para evitar a deteriora??o de sua qualidade durante sua evolu??o. Esta tese prop?e uma abordagem automatizada para a an?lise de varia??o do atributo de qualidade de desempenho em termos de tempo de execu??o (tempo de resposta). Ela ? implementada por um framework que adota t?cnicas de an?lise din?mica e minera??o de reposit?rio de software para fornecer uma forma automatizada de revelar fontes potenciais ? commits e issues ? de varia??o de desempenho em cen?rios durante a evolu??o de sistemas de software. A abordagem define quatro fases: (i) prepara??o ? escolher os cen?rios e preparar os releases alvos? (ii) an?lise din?mica ? determinar o desempenho de cen?rios e m?todos calculando seus tempos de execu??o? (iii) an?lise de varia??o ? processar e comparar os resultados da an?lise din?mica para releases diferentes? e (iv) minera??o de reposit?rio ? identificar issues e commits associados com a varia??o de desempenho detectada. Estudos emp?ricos foram realizados para avaliar a abordagem de diferentes perspectivas. Um estudo explorat?rio analisou a viabilidade de se aplicar a abordagem em sistemas de diferentes dom?nios para identificar automaticamente elementos de c?digo fonte com varia??o de desempenho e as mudan?as que afetaram tais elementos durante uma evolu??o. Esse estudo analisou tr?s sistemas: (i) SIGAA ? um sistema web para ger?ncia acad?mica? (ii) ArgoUML ? uma ferramenta de modelagem UML? e (iii) Netty ? um framework para aplica??es de rede. Outro estudo realizou uma an?lise evolucion?ria ao aplicar a abordagem em m?ltiplos releases do Netty, e dos frameworks web Wicket e Jetty. Nesse estudo foram analisados 21 releases (sete de cada sistema), totalizando 57 cen?rios. Em resumo, foram encontrados 14 cen?rios com varia??o significante de desempenho para Netty, 13 para Wicket e 9 para Jetty. Adicionalmente, foi obtido feedback de oito desenvolvedores desses sistemas atrav?s de um formul?rio online. Finalmente, no ?ltimo estudo, um modelo de regress?o para desempenho foi desenvolvido visando indicar propriedades de commits que s?o mais prov?veis a causar degrada??o de desempenho. No geral, 997 commits foram minerados, sendo 103 recuperados de elementos de c?digo fonte degradados e 19 de otimizados, enquanto 875 n?o tiveram impacto no tempo de execu??o. O n?mero de dias antes de disponibilizar o release e o dia da semana se mostraram como as vari?veis mais relevantes dos commits que degradam desempenho no nosso modelo. A ?rea de caracter?stica de opera??o do receptor (ROC ? Receiver Operating Characteristic) do modelo de regress?o ? 60%, o que significa que usar o modelo para decidir se um commit causar? degrada??o ou n?o ? 10% melhor do que uma decis?o aleat?ria.

Page generated in 0.102 seconds