• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 4
  • Tagged with
  • 4
  • 4
  • 4
  • 4
  • 4
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 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

Um m?todo para extra??o e evolu??o de linhas de produto de software a partir de sistemas Web existentes

Pontes, Erick Sharlls Ramos de 25 August 2017 (has links)
Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2018-03-12T21:07:03Z No. of bitstreams: 1 ErickSharllsRamosDePontes_DISSERT.pdf: 5142026 bytes, checksum: c5d7c498155fa9693ffcb28bbc0c9c56 (MD5) / Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 2018-03-19T12:35:22Z (GMT) No. of bitstreams: 1 ErickSharllsRamosDePontes_DISSERT.pdf: 5142026 bytes, checksum: c5d7c498155fa9693ffcb28bbc0c9c56 (MD5) / Made available in DSpace on 2018-03-19T12:35:22Z (GMT). No. of bitstreams: 1 ErickSharllsRamosDePontes_DISSERT.pdf: 5142026 bytes, checksum: c5d7c498155fa9693ffcb28bbc0c9c56 (MD5) Previous issue date: 2017-08-25 / Uma Linha de produto de software (LPS) representa uma fam?lia de sistemas relacionados que compartilham similaridades e variabilidades visando atender ?s necessidades de um segmento de mercado espec?fico. A ado??o de LPS tem sido aplicada em diversas ?reas na ind?stria de software devido aos benef?cios alcan?ados, tais como, redu??o dos custos no desenvolvimento, aumento da qualidade e redu??o do tempo de comercializa??o. No entanto, cen?rios distintos podem ser encontrados para implementa??o de uma linha de produtos, caracterizando 3 abordagens para ado??o de LPS: (1) abordagem proativa: n?o existe softwares em produ??o, e uma LPS ? desenvolvida do zero; (2) abordagem reativa: j? existe uma LPS em produ??o que vai sofrer incremento para atender novos requisitos; (3) abordagem extrativa: a LPS ? desenvolvida a partir dos artefatos de um sistema ou conjunto de sistemas relacionados que j? est?o em produ??o. No contexto de abordagens extrativa e reativa, este trabalho prop?e um m?todo de extra??o e evolu??o de LPSs a partir de sistemas existentes implementados na linguagem Java. O m?todo foi extra?do a partir da condu??o de um estudo emp?rico de desenvolvimento de uma LPS para o dom?nio de sistemas de controle de espa?os f?sicos utilizados em diferentes centros da Universidade Federal do Rio Grande do Norte (UFRN) e define tr?s atividades que apresentam um conjunto de diretrizes para refatora??o e modulariza??o de features em sistemas implementados em Java: (i) Modelar features da LPS, (ii) Projetar e implementar LPS atrav?s da refatora??o de um sistema existente, e (iii) Realizar testes para cada um dos produtos atuais existentes. Em seguida, o m?todo foi avaliado por meio da sua aplica??o durante evolu??es da LPS para atender novos requisitos demandados pelos clientes. Por fim, foi constatado um aumento de linhas de c?digo dos produtos da LPS, no entanto, o n?cleo da LPS possui uma quantidade de linhas de c?digo menor que qualquer produto antes e depois da extra??o da LPS. Com isso, os artefatos da LPS ficaram melhor modularizados em termos de features, o que pode facilitar a evolu??o tanto do c?digo do n?cleo quanto dos artefatos variantes de cada aplica??o. / A software product line (SPL) represents a family of related systems that share commonalities and variabilities to address the needs of a specific market or mission. The adoption of SPL has been applied in several areas in the software industry due to the benefits achieved, such as reduction of development costs, quality improvement and reduction of time to market. However, distinct scenarios can be found when developing a SPL, which lead to 3 approaches for adopting a SPL: (1) proactive approach: there are no previous software implementation and a SPL is developed from scratch; (2) reactive approach: there is a SPL available which is evolved to address new features and products; (3) extractive approach: SPL is developed from the assets of a system or a set of related systems that already exists. In the scenarios of the extractive and reactive approaches, this dissertation proposes a method of extraction and evolution of SPLs from existing systems implemented in the Java language. The method was extracted from an empirical study of an LPS for the domain of systems that manage physical spaces from different Federal University of Rio Grande do Norte (UFRN) departments and defined three activities that present a set of guidelines for refactoring and modularizing features in systems implemented in Java: (i) Model SPL features, (ii) Design and Implement LPS by refactoring an existing system, and (iii) Perform tests for each of the existing products. The method is evaluated through its application during SPL evolutions to address new requirements demanded by the customers. As a result of the study, we found an increase in the number of lines of code of the products of the products, however, the SPL core had lower lines of code than any product before and after the LPS extraction. Thus, the SPL assets have become better modularized in terms of features, which may facilitate the evolution of core and variant implementations of each application.
2

PerfMiner Visualizer: uma ferramenta para an?lise da evolu??o do atributo de qualidade de desempenho em sistemas de software / PerfMiner Visualizer: a tool for the analysis of performance quality attribute evolution in software systems

Silva, Leo Moreira 26 July 2017 (has links)
Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2017-11-01T21:17:51Z No. of bitstreams: 1 LeoMoreiraSilva_DISSERT.pdf: 4274864 bytes, checksum: ba5d7987907f47bb678e8a7cb507ff0c (MD5) / Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 2017-11-07T22:32:56Z (GMT) No. of bitstreams: 1 LeoMoreiraSilva_DISSERT.pdf: 4274864 bytes, checksum: ba5d7987907f47bb678e8a7cb507ff0c (MD5) / Made available in DSpace on 2017-11-07T22:32:56Z (GMT). No. of bitstreams: 1 LeoMoreiraSilva_DISSERT.pdf: 4274864 bytes, checksum: ba5d7987907f47bb678e8a7cb507ff0c (MD5) Previous issue date: 2017-07-26 / A manuten??o e a evolu??o dos sistemas de software podem trazer v?rias mudan?as de c?digo que podem potencialmente reduzir sua qualidade e aumentar sua complexidade. Um atributo de qualidade cr?tico que ? afetado ao longo do tempo ? o desempenho do sistema. Assim, sem o devido acompanhamento, esse atributo de qualidade pode deixar de ser atendido adequadamente. A ?rea de visualiza??o de software prop?e o uso de t?cnicas cujo objetivo ? melhorar o entendimento do software e tornar mais produtivo o seu processo de desenvolvimento. Neste contexto, este trabalho apresenta o PerfMiner Visualizer - uma ferramenta para visualizar e analisar desvios de desempenho em evolu??es subsequentes de um sistema de software. Atrav?s de visualiza??es de grafos de chamadas e sumariza??o de cen?rios, a ferramenta permite que desenvolvedores e arquitetos possam identificar cen?rios e m?todos que tiveram varia??es no seu desempenho, inclusive as potenciais causas desses desvios atrav?s dos commits. O trabalho tamb?m apresenta um estudo emp?rico que avalia o uso da ferramenta aplicando-a em 10 vers?es de evolu??o de 2 sistemas open source de dom?nios diferentes e submetendo question?rios online para obter feedback dos seus desenvolvedores e arquitetos. Os resultados do estudo conduzido trazem evid?ncias preliminares da efic?cia das visualiza??es providas pela ferramenta em compara??o com dados tabulares. Al?m disso, o algoritmo de supress?o de n?s da visualiza??o do grafo de chamadas foi capaz de reduzir entre 73,77% e 99,83% a quantidade de n?s a serem exibidos para o usu?rio, permitindo que ele possa identificar mais facilmente as poss?veis causas das varia??es. / The maintenance and evolution of software systems can bring several code changes that can potentially reduce their quality and increase their complexity. One critical quality attribute that be affected over time is the system performance. Thus, without due monitoring, the performance quality attribute may no longer be adequately addressed. The software visualization area proposes the use of techniques whose objective is to improve the understanding of the software and to make its development process more productive. In this context, this work presents PerfMiner Visualizer - a tool to visualize and analyze the performance deviations from subsequent evolutions of a software system. Through call graph and scenario summarization visualizations, the tool allows developers and architects identifying scenarios and methods that have variations in their performance, including the potential causes of such deviations through commits. This work also presents an empirical study that evaluates the use of the tool by applying it to 10 evolutionary versions of 2 open source systems from different domains and by submitting online questionnaires to obtain feedback from their developers and architects. The results of the conducted study bring preliminary evidence of the effectiveness of visualizations provided by the tool compared to tabular data. In addition, the nodes suppression algorithm of the call graph visualization was able to reduce between 73.77% and 99.83% the number of nodes to be displayed to the user, allowing him to be able to identify more easily the possible causes of variations.
3

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.
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.0869 seconds