• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 75
  • 20
  • 10
  • 5
  • 1
  • 1
  • Tagged with
  • 132
  • 132
  • 49
  • 47
  • 31
  • 28
  • 22
  • 21
  • 17
  • 17
  • 17
  • 15
  • 14
  • 14
  • 14
  • 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.
51

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.
52

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.
53

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
54

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
55

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
56

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.
57

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.
58

Software Evolution in the context of .Net Framework

Walid, Rohaimi January 2007 (has links)
This paper discusses the process of software evolution and especially software migration in the context of .NET Technologies. Actually most of the companies that uses legacy systems implemented with procedural languages as C, Visual Basic and so on, meet some problems when new requirement specifications have to be integrated. One possibility to deal with this situation is to choose a good migration strategy from these legacy systems towards new Object Oriented design. There are some migration processes that enable the fulfilment of this task but most of the time theses processes cannot be applied directly without any modification. This report presents a migration strategy and migration process applied for a real case of an application in a company. The New Object Oriented design of the application and the result are discussed in the following sections of this document.
59

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.
60

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