• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 60
  • 20
  • 10
  • 4
  • 1
  • 1
  • Tagged with
  • 116
  • 116
  • 41
  • 39
  • 29
  • 24
  • 22
  • 19
  • 17
  • 17
  • 14
  • 14
  • 13
  • 12
  • 12
  • 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.
41

Inappropriate Software Changes: Rejection and Rework

Souza, Rodrigo Rocha Gomes e 17 July 2015 (has links)
Submitted by Rodrigo Souza (rodrigorgs@gmail.com) on 2015-08-10T11:52:14Z No. of bitstreams: 1 rodrigo-thesis-final.pdf: 3966742 bytes, checksum: a3ca54b041cfdc2f5dad0f568b6d3a61 (MD5) / Made available in DSpace on 2015-08-10T11:52:14Z (GMT). No. of bitstreams: 1 rodrigo-thesis-final.pdf: 3966742 bytes, checksum: a3ca54b041cfdc2f5dad0f568b6d3a61 (MD5) / Introdução: A escrita de mudanças no código-fonte para corrigir defeitos ou implementar novas funcionalidades é uma tarefa importante no desenvolvimento de software, uma vez que contribui para evoluir um sistema de software. Nem todas as mudanças, no entanto, são aceitas na primeira tentativa. Mudanças inadequadas podem ser rejeitadas por causa de problemas encontrados durante a revisão de código, durante o teste automatizado, ou durante o teste manual, possivelmente resultando em retrabalho. Nosso objetivo é entender melhor a associação estatística entre diferentes tipos de rejeição --- revisões de código negativas, commits suplementares, reversão de commits e reabertura de tíquetes ---, caracterizar seus impactos em um projeto e entender como elas são afetadas por certas mudanças de processo. Para este fim, esta tese apresenta uma análise de três grandes projetos de software livre desenvolvidos pela Mozilla Foundation, os quais sofreram mudanças significativas no seu processo, como a adoção de lançamentos frequentes. Métodos: Para perseguir nosso objetivo, nos baseamos em tíquetes e commits de um período de mais de quatro anos do histórico dos projetos. Computamos métricas sobre a ocorrência de diversos tipos de rejeição de mudanças e medimos o tempo que leva tanto para submeter uma mudança quanto para rejeitar mudanças inapropriadas. Além disso, validamos nossos resultados com desenvolvedores da Mozilla. Resultados: Descobrimos que técnicas usadas em estudos anteriores para detectar mudanças inadequadas são imprecisas; por isso, propusemos uma técnica alternativa. Determinamos que mudanças inadequadas são um problema relevante e diário, que afeta cerca de 18% de todos os tíquetes em um projeto. Também descobrimos que, quando a Mozilla adotou lançamentos frequentes, embora a proporção de commits revertidos tenha aumentado, as reversões foram realizadas mais cedo no processo. / Background: Writing source code changes to fix bugs or implement new features is an important software development task, as it contributes to evolve a software system. Not all changes are accepted in the first attempt, though. Inappropriate changes can be rejected because of problems found during code review, automated testing, or manual testing, possibly resulting in rework. Our objective is to better understand the statistical association between different types of rejection---negative code reviews, supplementary commits, reverts, and issue reopening---to characterize their impacts within a project, and to understand how they are affected by certain process changes. To this end, this thesis presents an analysis of three large open source projects developed by the Mozilla Foundation, which underwent significant changes in their process, such as the adoption of rapid releases. Methods: To pursue our objective, we analyzed issues and source code commits from over four years of the projects' history. We computed metrics on the occurrence of multiple types of change rejection and measured the time it takes both to submit a change and to reject inappropriate changes. Furthermore, we validated our findings by discussing them with Mozilla developers. Results: We found that techniques used in previous studies to detect inappropriate changes are imprecise; because of that, we proposed an alternative technique. We determined that inappropriate changes are a relevant, daily problem, that affects about 18% of all issues in a project. We also discovered that, under rapid releases, although the proportion of reverted commits at Mozilla increased, the reverts were performed earlier in the process.
42

Retrieval and Analysis of Software Systems from SCM Repositories

Müller, Michael January 2007 (has links)
One source of input data for software evolution research is data stored inside a software configuration management repository. The data includes different versions of a software system’s source code as well as version history metadata, such as check-in dates or log messages. Inherently, extracting this data manually is a time- and labor intensive task. The subsequent preprocessing step and the appropriate storage of the results, necessary to utilize the data for further analysis, is an additional effort for the researcher. The goal of this thesis is to design and implement a front-end plug-in for an existing software comprehension tool, the VizzAnalyzer, providing the capability to extract and analyze multiple versions and evolutional information of software systems from SCM repositories and to store the results. Thereby, the implemented solution provides the infrastructure for software evolution research.
43

Análise de impacto em mudança de software: um guia de orientação

ARAÚJO, Joelson Isidro da Silva Araújo 04 September 2015 (has links)
Submitted by Fabio Sobreira Campos da Costa (fabio.sobreira@ufpe.br) on 2016-07-01T12:38:10Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertação-JoelsonIsidroDaSilvaAraújo.pdf: 1742206 bytes, checksum: c2b6f413666e50be58b963e8624a1386 (MD5) / Made available in DSpace on 2016-07-01T12:38:10Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertação-JoelsonIsidroDaSilvaAraújo.pdf: 1742206 bytes, checksum: c2b6f413666e50be58b963e8624a1386 (MD5) Previous issue date: 2015-09-04 / CAPEs / Contexto: a mudança faz parte da evolução e durante o ciclo de vida do software a maior parte dos custos está associada a esta tarefa. Poder fazer previsões sobre os potenciais efeitos causados através de uma mudança é uma forma de minimizar esses custos. Neste contexto, surge então a Análise de Impacto (AI) para medir o esforço que será necessário à mudança e para nortear como realizar a mesma da maneira mais adequada, entretanto o resultado gerado pode ser insuficiente, pois é possível existirem erros na identificação dos elementos possivelmente impactados, não contemplando todos os problemas existentes. Objetivo: este trabalho tem como objetivo investigar o que se tem feito para permitir um resultado mais preciso na AI, gerando um catálogo de benefícios e limitações e propondo um guia de boas práticas, respondendo as perguntas de pesquisa – O que se sabe atualmente sobre os benefícios e limitações da AI em mudança de software? O que se tem feito para minimizar os erros gerados na análise? Método: para a condução da pesquisa fez-se necessário a busca de dados na literatura, através de uma pesquisa exploratória, por meio de uma revisão sistemática com o intuito de investigar as técnicas de AI relatadas em pesquisas dos últimos anos. Resultados: de posse dos dados resultantes da extração e análise dos dados, os resultados são: (1) evidências de técnicas existentes que conseguiram minimizar imprecisões nos resultados da análise, (2) geração de catálogo de benefícios e limitações em seu uso e ainda, um guia de propostas de boas práticas a serem adotadas para permitir que a análise apresente melhores resultados. Conclusão: os resultados fornecem uma melhor visão dos fatores que precisam ser melhorados e, além disso, possibilitaram a criação de um guia de boas práticas. Com isto, pretendemos contribuir fornecendo uma melhor compreensão sobre as técnicas existentes, de que forma melhorias vêm sendo propostas e quais práticas permitem a maximização dos resultados gerados através da análise de impacto. / Context: Changing is part of the evolution and during the software lifecycle most cost is associated with this task. Being able to make predictions about the potential effects caused by a change is a way to minimize these costs. In this context, the Impact Analisys (IA) can be used to measure the effort it will take to change and to guide how to do the same in the most appropriate way, however the results generated may be insufficient, it is possible to detect errors on the elements identification possibly impacted, not including all the existing problems. Objective: This study has the objetive to investigate what has been done to allow more accurate result in IA , generating a catalog of benefits and limitations and proposing a guide of good practice by answering the research questions - What is currently known about the benefits and IA limitations on software changes? What has been done to minimize errors generated in the analysis? Methodology: To conduct this research it is necessary to search data in the literature, through an exploratory research using a systematic review that will allow an investigation about the most IA techniques used in the last years. Results: With the data generated through the extration and analisys of data, the results are: evidences of techniques which can be used to minimize inaccuracies in test results, (2) generation of catalog of benefits and limitations in its use and also a good practice guide to be adopted to allow the analysis present better results. Conclusion: the expected results will provide a better view of the factors that need to be improved and, besides, will enable the creation of a good practice guide. With this, we intend to contribute by providing a better understanding of existing techniques, how improvements have been proposed and what practices has been used to improve the results generated by impact analysis.
44

Uma infra-estrutura de suporte a evolução para repositorios de componentes / An infrastructure to support evolution in component repositories

Tizzei, Leonardo Pondian, 1980- 03 February 2007 (has links)
Orientador: Cecilia Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas,Instituto de Computação / Made available in DSpace on 2018-08-08T19:35:35Z (GMT). No. of bitstreams: 1 Tizzei_LeonardoPondian_M.pdf: 1173368 bytes, checksum: dd09b9de9a47db9f4f82b8f63dcf35a7 (MD5) Previous issue date: 2007 / Resumo: No contexto do Desenvolvimento Baseado em Componentes(DBC), o elo de ligação entre desenvolvedores e consumidores de componentes de software são os repositórios de componentes, onde eles são adicionados por seus desenvolvedores e recuperados pelos integradores de sistemas. Considerando um cenário de evolução, onde componentes são modificados, são imprescindíveis modelos de evolução de componentes para definir uma abordagem sistemática de mudanças. Elas podem ocorrer, por exemplo, na especificação ou implementação de um componente e o repositório de componentes deve dar apoio à evolução uma vez que ela é parte inerente do processo de desenvolvimento de software. Contudo, assim como o software, modelos de evolução são modificados para acompanhar o desenvolvimento tecnológico e as necessidades de seus usuários. Além disso, diferentes produtores de componentes podem possuir modelos distintos. Este trabalho apresenta uma infra-estrutura de suporte à evolução em um repositório de componentes, para apoiar serviços de DBC, como a conversão de componentes para outros modelos de implementação, extração de metainformação de código-fonte de componentes, evolução de componentes e verificação de modelos de implementação de componentes. No caso particular desta dissertação, o repositório de componentes escolhido é o Rigel, que foi estendido para dar suporte à evolução de componentes. O repositório Rigel oferece as condições necessárias para adoção de um modelo de evolução de componentes, através da utilização de um padrão de metadados de componentes chamado RAS. Ferramentas de software ajudam a aumentar a produtividade de desenvolvedores e evitar tarefas repetitivas. Além disso, atividades de modificação são sujeitas a erros humanos. Portanto, foram desenvolvidas quatro ferramentas para dar suporte ao modelo de evolução SACE e ao modelo de implementação de componentes COSMOS. As ferramentas foram construÍdas com base em um framework de componentes baseado em regras que usa um motor de inferência chamado Drools. Este framework de componentes externaliza as regras da aplicação, garatindo uma maior modificabilidade, característica que é essencial para que as ferramentas possam evoluir em conformidade com os modelos apóiam / Abstract: In the Component-Based Development (CBD), the link between software component developers and consumers are component repositories where software components are checkedin by their developers and checked-out by their systems integrators. Considering an evolution scenario, when components are modified, it is essential component evolution models in order to define a systematic approach to component changes. These modifications can occur, for instance, in the component specification and implementation, and component repositories should support these kind of evolutions. However, component evolution models themselves can be modified to follow technological development and different user's needs. Furthermore, different component producers may also have distinct models. This work presents an infrastructure to support evolution in component repositories, to support various CBD services, such as component conversion to other implementation models, extraction of metainformation from the source code of components, component evolution and check implementation models. Particularly, in this work, the component reposítory chosen was Rigel (developed at IC-UNICAMP), which was extended to support component evolution. The Rigel repository provides necessary conditions to adopt a component evolution model, by using an extensibIe component metadata pattern called RAS specification. Software tools heIp to increase developer's productivity and to avoid repetitive tasks. Furthermore, human modification activities are error prone. Therefore, we have developed four tools to support the SACE evolution model and the COSMOS component implementation model. These tools were developed using a rule-based framework which is based on an inference engine called Drools. This component framework is important to externalize the application rules, to guarante a greater modifiability, which is essential for the evolution of the tools in conformity with the models they support / Mestrado / Mestre em Ciência da Computação
45

Evolução de componentes compartilhados por multiplas linhas de produto de software / Evolution of components shared by multiple software product lines

Assis, Wendel Malta de 15 August 2018 (has links)
Orientador: Cecilia Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-15T07:02:41Z (GMT). No. of bitstreams: 1 Assis_WendelMaltade_M.pdf: 3475428 bytes, checksum: a93eaa26b089299962c102e6c3a037c5 (MD5) Previous issue date: 2009 / Resumo: O uso de Linhas de Produto de Software é uma prática comum entre as empresas de software, tendo como objetivo promover o desenvolvimento de um conjunto de produtos de software relacionados através da reutilização de um núcleo comum de ativos de software. Dentre estas empresas, podemos mencionar a Motorola, cujo ambiente de desenvolvimento em que múltiplas linhas de produto são mantidas em paralelo serviu de motivação para este trabalho. Na prática, a complexidade de alguns tipos de negócios apoiados por linhas de produto implica em mudanças na forma como a adoção da abordagem é sugerida pela literatura. Em particular na Motorola, as linhas de produto são baseadas em componentes e a arquitetura da linha de produto possui diversos pontos de variação, onde variantes de componentes representando diversas alternativas de projeto podem ser escolhidas. Além disso, várias linhas de produto são mantidas em paralelo e os componentes e suas variantes podem ser compartilhados entre elas. Neste contexto, a evolução de componentes é uma tarefa complexa, pois a inclusão de novas características nas variantes dos componentes pode impactar não somente a arquitetura e os ativos de uma única linha de produto, mas também das diversas linhas que as utilizam. A principal contribuição deste trabalho é a documentação de uma família de padrões de evolução de componentes compartilhados por múltiplas linhas de produto de software. Além desta família de padrões, também é apresentado um processo para auxiliar na análise do padrão de evolução a ser adotado para implementar uma determinada requisição de mudança / Abstract: The Software Product Line approach is becoming widely used by software companies, whose goal is to promote the development of a set of related software products through the reuse of a common core of software assets. Among these companies, we can mention Motorola, whose development environment where multiple software product lines are maintained in parallel served as the motivation for this work. In practice, the complexity of some types of businesses supported by product lines involves changes in how the adoption of the approach is suggested by the literature. At Motorola, the product lines are based on components and the product line architecture has many variation points, where variants of components representing various design alternatives can be chosen. In addition, several product lines are maintained in parallel and the components and their variants can be shared among them. In this context, the evolution of components is a complex task, because the inclusion of new features in variants of the components can impact not only the architecture and assets in a single product line but also on many products lines that are using them. The main contribution of this work is the documentation of a family of component evolution patterns that are shared between multiple software product lines. Besides that, a process to assist in analyzing the evolution pattern to be taken to implement a specific change request is presented / Mestrado / Engenharia de Software / Mestre em Ciência da Computação
46

Impact of Software Comprehension in Software Maintenance and Evolution

Akhlaq, Usman, Yousaf, Muhammad Usman January 2010 (has links)
The need of change is essential for a software system to reside longer in the market. Change implementation is only done through the maintenance and successful software maintenance gives birth to a new software release that is a refined form of the previous one. This phenomenon is known as the evolution of the software. To transfer software from lower to upper or better form, maintainers have to get familiar with the particular aspects of software i.e. source code and documentation. Due to the poor quality of documentation maintainers often have to rely on source code. So, thorough understanding of source code is necessary for effective change implementation. This study explores the code comprehension problems discussed in the literature and prioritizes them according to their severity level given by maintenance personnel in the industry. Along with prioritizing the problems, study also presents the maintenance personnel suggested methodologies for improving code comprehension. Consideration of these suggestions in development might help in shortening the maintenance and evolution time. / Usman Akhlaq Mirpur, Azad Kashmir, Pakistan Muhammad Usman Yousaf Bhimber, Azad Kashmir, Pakistan
47

Software Evolvability Measurement Framework during an Open Source Software Evolution

Zhang, Jianhao, Chen, Xuxiao January 2017 (has links)
Context: Software evolution comes with the increasing growth of software applications both in size and complexity. Unlike the software maintenance, software evolution addresses more on the adaption of the new fast-changing requirements. Then the term of “software evolvability” comes with its importance for evaluating the evolution status of the software. However, it is not clearly identified especially in the context of open source software (OSS). Besides the most studies are about the description of software evolvability as a quality attribute, and very few research have done on the measurement of software evolvability during the software evolution process. Objectives: In this study we perform an in-depth investigation on identification of the OSS evolvability, and figure out the appropriate metrics used for measuring the OSS evolvability. Based on that we finally proposed the open source software evolvability measurement framework (OSEM) which could be used for measuring the software evolvability generally in an OSS context. Methods: At first, we conducted a literature review by combining backward snowballing search with systematic database search. Two research questions which are RQ1 and RQ2 are proposed for helping us to retrieve the key information for building the needed framework. Then we performed a case study on VLC media player (an OSS project) to validate the processes of the proposed framework. Results: Based on literature we could explicitly identify the OSS evolvability, and figure out the differences of software evolvability addressed in OSS context and non OSS context (e.g, the traceability refers to documentation in non OSS context, however in OSS context it refers to the release version of OSS project). Besides we also fulfill the evolvability measuring method by addressing the process of prioritization of evolvability sub-characteristics. In the end we implement the OSEM framework on VLC media player and get the well documented results which are clearly presented and easy to understand. Such results could be taken by the VLC developers as an input for the design and development of the VLC. Conclusions: We conclude that the open source software measurement framework (OSEM) is applicable, based on the time we spent on the case of VLC media player it is quite fast and efficient to use such framework. The results from the conduction of this framework are documented well and very clear for OSS users/developers to follow.
48

Mobile Applications Evolution / Mobile Applications Evolution

Timsina, Achyuta, Prajapati, Shree Dimna January 2013 (has links)
Due to improved computing power, connectivity and interaction capability of mobile devices, their popularity and general acceptance in mass population has increased in recent years. Mobile applications are software systems running on mobile hand-held devices such as smart phones and tablets. Due to obvious differences in mobile applications, the evolution studies on them is of high importance. The primary objective is to study and compare the mobile applications evolution with the Lehman's laws of software evolution. Next is to identify and report how the software development team size influences mobile applications evolution. The study is conducted on 9 different open source mobile applications among which 5 were developed by single core developer and 4 were developed by multiple core developers. The selected projects' code repository is cloned into local copy and a number of tools are used on those repositories for extraction of relevant metrics from the artifacts. The Lehman laws are tested graphically, analytically and in some cases statistically. Six of the Lehman's laws are tested for validation in sample mobile applications. Among the six laws, I-Continuing Change is found supportive, III-Self Regulation and VI-Continuing Growth are found partial supportive in mobile applications. The II-Increasing complexity and V-Conservation of Familiarity are inconclusive. The IV-Conservation of Organizational Stability is not supportive in our sample mobile applications. Moreover, mobile applications are developed by a single or a few developers. Small team mobile projects have less time between releases compared to large team projects. The growth pattern of mobile applications is different than that predicted by Lehman laws.
49

Evolvability Analysis Method for Open Source Software Systems

Chauhan, Muhammad Aufeef January 2011 (has links)
Software systems evolve over the life span to accommodate changes in order to meet technical and business requirements. Evolution of open source software (OSS) is challenging because of involvement from a large number of independent teams and developers who make modifications in the systems according to their own requirements. It is required to evaluate these changes as these are being incorporated into the system against the long term evolvability objectives. This paper presents the analysis of the Hackystat, an OSS framework; against analyzability, changeability, extensibility, testability domain specific quality attributes. The analysis of the processes used during the development of the OSS systems is also discussed. On the basis of the analysis and the early research conducted to evaluate software evolvability, an evolvability analysis method for OSS evolution is presented in this report. Guidelines of the model suggest that the requirements identification and analysis, identification of the system components that are to be affected as a result of the change, identification and prioritization of the potential solutions, evaluation of the potential solutions with respect to evolvability characteristics, use of test driven development and automated build tools are the important steps that should be performed to evaluate system changes. Evolvability analysis model also suggests that the team which is responsible to for system overall architecture (project control group) should also evaluate changes submitted by different teams. A case study to modify a service oriented architecture bases system into software as a service cloud model following the guidelines of evolvability analysis model is also presented.
50

Bridging the Gap between Development and Use : Support of Tailorability in Software Evolution / Brygga gapet mellan utveckling och användning

Eriksson, Jeanette January 2005 (has links)
The intention of tailorable systems is to make it possible for end users to evolve an application to better fit altered requirements and tasks, and to make the system more endurable. This thesis discusses tailorable systems in the context of a rapidly changing business environment. The objective was to determine what is necessary for a tailorable business system to continuously adapt to expanding requirements and thereby live up to the intention of the system. The thesis includes five different studies, of which one is a literature study. The other four studies were conducted in three projects; one technical project exploring the possibility to use Metaobject Protocol in tailorable systems, one project in an explorative environment concerned with physical interfaces and one project, that also embraced user participation and user evaluation, regarded the possibility for end users to manage system infrastructure. The projects began with field studies (including participant observations and interviews) and workshops with users and developers. In each project, based on the outcome, an end-user tailorable prototype was developed. The prototypes were used for evaluating possibilities and problems with tailorable systems. Taken together the evaluations revealed what was required to make a tailorable system work as intended in a rapidly changing business environment. It could be concluded that tailoring is a good way to evolve a system to meet altered needs, because people who already possess the required domain knowledge can make changes quickly. Tailoring is not however enough, because the tailoring capabilities are always limited, meaning that tailoring cannot support completely unanticipated changes. In such cases the tailoring capabilities must be extended. Since such changes are only concerned with the system itself, and not the business task, it is hard to motivate even skilled users to make these types of changes. Tailoring activities must therefore be coordinated with software evolution activities performed by professional developers. This allows the system to adapt continuously to a rapidly changing business environment and thereby live up to the intention of the system. The final conclusion is that there is a need for close collaboration between end users, tailors and developers to make tailorable information systems adaptable to rapid changes in the business environment as well as being endurable. The collaboration has to be supported in the structure of the system by providing support for the work of users, tailors and developers.

Page generated in 0.0564 seconds