Spelling suggestions: "subject:"[een] SOFTWARE MAINTENANCE"" "subject:"[enn] SOFTWARE MAINTENANCE""
71 |
Uma ferramenta para predição de mudanças conjuntas baseadas em informações de repositórios de software / A tool for predicting joint changes based on information from software repositoriesKuroda, Rodrigo Takashi 01 August 2017 (has links)
A manutenção é uma fase do ciclo de vida do software reconhecida por demandar uma grande quantidade de esforço em comparação às outras, como o desenvolvimento. As tarefas da manutenção envolvem a modificação do software, mais especificamente os artefatos que o compõe. O fato de modificar um determinado artefato pode afetar outras partes do software, cujo fenômeno é conhecido como impacto de mudança. Técnicas e ferramentas para apoiar a análise de impacto de mudança geralmente são baseadas em tipos de acoplamentos e têm sido propostas por diversos trabalhos na literatura, como as Regras de Associação e Aprendizado de Máquina usando Classificação. No entanto, essas técnicas não foram avaliadas do ponto de vista prático. Motivado pela falta de uma avaliação dessa perspectiva, esse trabalho realizou um experimento com uma ferramenta que implementa tais técnicas. Para tanto, foi desenvolvida uma ferramenta para automatizar a execução dessas técnicas para realizar predição de mudanças conjuntas de artefatos e apresentá-las ao desenvolvedor, além de coletar o feedback dos desenvolvedores na ferramenta. Com a ferramenta desenvolvida, foi realizada uma prova de conceito com o uso da ferramenta em tarefas de manutenção (defeitos) do projeto de software livre da Apache denominado CXF, por colaboradores novatos representados pelos alunos do curso de Ciência da Computação. Apesar de depender do desempenho das técnicas de predição de mudanças conjuntas, os resultados mostraram evidências que a ferramenta pode apoiar colaboradores novatos e, também, diminuir o esforço para realizar uma tarefa de manutenção de software, comparando quando nenhuma técnica é usada. / Maintenance is a stage of the software life cycle recognized by demanding a lot of effort in comparison to others, such as development. The maintenance tasks involve software modification, specifically the artifacts that compose it. Modifying a particular artifact can affect other parts of the software. This phenomenon is known as change impact. Techniques and tools to support the change impact analysis are usually based on types of couplings and have been proposed by several studies in the literature, such as the Association Rules and Machine Learning using Classification. However, these techniques have not been evaluated from the practical point of view. Therefore, a tool was developed to automate the execution of these techniques to predict joint changes of artifacts and present them to the developer, as well as collecting developers’ feedback on the tool. With the developed tool, a proof of concept was performed using the tool in maintenance tasks (bugs) of the Apache free software project called CXF, by novice collaborators represented by the students of the Computer Science course. Although it depends on the performance of joint change prediction techniques, the results showed evidence that the tool can support novice collaborators and also decrease the effort to perform a software maintenance task, comparing when no technique is used.
|
72 |
Contributions à l’usage des détecteurs de clones pour des tâches de maintenance logicielle / Contributions to the use of code clone detectors in software maintenance tasksCharpentier, Alan 17 October 2016 (has links)
L’existence de plusieurs copies d’un même fragment de code (nommées des clones dans lalittérature) dans un logiciel peut compliquer sa maintenance et son évolution. La duplication decode peut poser des problèmes de consistance, notamment lors de la propagation de correction debogues. La détection de clones est par conséquent un enjeu important pour préserver et améliorerla qualité logicielle, propriété primordiale pour le succès d’un logiciel.L’objectif général de cette thèse est de contribuer à l’usage des détecteurs de clones dans destâches de maintenance logicielle. Nous avons centré nos contributions sur deux axes de recherche.Premièrement, la méthodologie pour comparer et évaluer les détecteurs de clones, i.e. les benchmarksde clones. Nous avons empiriquement évalué un benchmark de clones et avons montré queles résultats dérivés de ce dernier n’étaient pas fiables. Nous avons également identifié des recommandationspour fiabiliser la construction de benchmarks de clones. Deuxièmement, la spécialisationdes détecteurs de clones dans des tâches de maintenance logicielle.Nous avons développé uneapproche spécialisée dans un langage et une tâche (la réingénierie) qui permet aux développeursd’identifier et de supprimer la duplication de code de leurs logiciels. Nous avons mené des étudesde cas avec des experts du domaine pour évaluer notre approche. / The existence of several copies of a same code fragment—called code clones in the literature—in a software can complicate its maintenance and evolution. Code duplication can lead to consistencyproblems, especially during bug fixes propagation. Code clone detection is therefore a majorconcern to maintain and improve software quality, which is an essential property for a software’ssuccess.The general objective of this thesis is to contribute to the use of code clone detection in softwaremaintenance tasks. We chose to focus our contributions on two research topics. Firstly, themethodology to compare and assess code clone detectors, i.e. clone benchmarks. We perform anempirical assessment of a clone benchmark and we found that results derived from this latter arenot reliable. We also identified recommendations to construct more reliable clone benchmarks.Secondly, the adaptation of code clone detectors in software maintenance tasks. We developed aspecialized approach in one language and one task—refactoring—allowing developers to identifyand remove code duplication in their softwares. We conducted case studies with domain experts toevaluate our approach.
|
73 |
Swarm debugging : the collective debugging intelligence of the crowd / Depuração em enxame : a inteligência coletiva na depuração pela multidãoPetrillo, Fábio dos Santos January 2016 (has links)
As formigas são criaturas fascinantes que, além dos avanços na biologia também inspiraram pesquisas sobre teoria da informação. Em particular, o estudo resultou na criação da Teoria da Forragem de Informação, que descreve como os agentes de buscam informações em seu ambiente. Esta teoria também explica fenômenos recentes e bem-sucedidos, como crowd sourcing. Crowdsourcing tem sido aplicado a muitas atividades em engenharia de software, incluindo desenvolvimento, tradução e testes, mas uma atividade parece resistir: depuração. No entanto, os desenvolvedores sabem que a depuração pode exigir dedicação, esforço, longas horas de trabalho, por vezes, para mudar uma linha de código único. Nós introduzimos o conceito de Depuração em Enxame, para trazer crowd sourcing para a atividade de depuração. Através de crowd sourcing, pretendemos ajudar os desenvolvedores, capitalizando a sua dedicação, esforço e longas horas de trabalho para facilitar atividades de depuração. Mostramos que a depuração enxame requer uma abordagem específica para recolher informações relevantes, e descrevemos sua infra-estrutura. Mostramos também que a depuração em enxame pode reduzir o esforço desenvolvedores. Concluímos com as vantagens e limitações atuais de depuração enxame, e sugerir caminhos para superar estas limitações e ainda mais a adoção de crowd sourcing para atividades de depuração. / Ants are fascinating creatures that beyond the advances in biology have also inspired research on information theory. In particular, their study resulted in the creation of the Information Foraging Theory, which describes how agents forages for information in their environment. This theory also explains recent and fruitful phenomena, such as crowdsourcing. Many activities in software engineering have applied crowdsourcing, including development, translation, and testing, but one action seems to resist: debugging. Developers know that debugging can require dedication, effort, long hours of work, sometimes for changing one line of code only. We introduce the concept of Swarm Debugging, to bring crowdsourcing to the activity of debugging. Through crowdsourcing, we aim at helping developers by capitalizing on their dedication, effort, and long hours of work to ease debugging activities of their peers or theirs, on other bugs. We show that swarm debugging requires a particular approach to collect relevant information, and we describe the Swarm Debugging Infrastructure. We also show that swarm debugging minimizes developers effort. We conclude with the advantages and current limitations of swarm debugging and suggest directions to overcome these limitations and further the adoption of crowdsourcing for debugging activities.
|
74 |
A framework for software patch management in a multi-vendor environmentHughes, Grant Douglas January 2016 (has links)
Thesis (MTech (Information Technology))--Cape Peninsula University of Technology, 2016. / Software often requires patches to be installed post-implementation for a variety of reasons. Organisations and individuals, however, do not always promptly install these patches as and when they are released. This study investigated the reasons for the delay or hesitation, identified the challenges, and proposed a model that could assist organisations in overcoming the identified challenges. The research investigated the extent to which the integration of software patch management and enterprise data security is an important management responsibility, by reviewing relevant documents and interviewing key role players currently involved in the patch management process. The current challenges and complexities involved in patch management at an enterprise level could place organisations at risk by compromising their enterprise-data security.
This research primarily sought to identify the challenges causing the management of software patches to be complex, and further attempted to establish how organisations currently implement patch management. The aim of the study was to explore the complexities of software patch management in order to enhance enterprise data security within organisations. A single case study was used, and data were obtained from primary sources and literature. The study considered both technological and human factors, and found that both factors play an equally important role with regard to the successful implementation of a patch management program within an organisation.
|
75 |
Swarm debugging : the collective debugging intelligence of the crowd / Depuração em enxame : a inteligência coletiva na depuração pela multidãoPetrillo, Fábio dos Santos January 2016 (has links)
As formigas são criaturas fascinantes que, além dos avanços na biologia também inspiraram pesquisas sobre teoria da informação. Em particular, o estudo resultou na criação da Teoria da Forragem de Informação, que descreve como os agentes de buscam informações em seu ambiente. Esta teoria também explica fenômenos recentes e bem-sucedidos, como crowd sourcing. Crowdsourcing tem sido aplicado a muitas atividades em engenharia de software, incluindo desenvolvimento, tradução e testes, mas uma atividade parece resistir: depuração. No entanto, os desenvolvedores sabem que a depuração pode exigir dedicação, esforço, longas horas de trabalho, por vezes, para mudar uma linha de código único. Nós introduzimos o conceito de Depuração em Enxame, para trazer crowd sourcing para a atividade de depuração. Através de crowd sourcing, pretendemos ajudar os desenvolvedores, capitalizando a sua dedicação, esforço e longas horas de trabalho para facilitar atividades de depuração. Mostramos que a depuração enxame requer uma abordagem específica para recolher informações relevantes, e descrevemos sua infra-estrutura. Mostramos também que a depuração em enxame pode reduzir o esforço desenvolvedores. Concluímos com as vantagens e limitações atuais de depuração enxame, e sugerir caminhos para superar estas limitações e ainda mais a adoção de crowd sourcing para atividades de depuração. / Ants are fascinating creatures that beyond the advances in biology have also inspired research on information theory. In particular, their study resulted in the creation of the Information Foraging Theory, which describes how agents forages for information in their environment. This theory also explains recent and fruitful phenomena, such as crowdsourcing. Many activities in software engineering have applied crowdsourcing, including development, translation, and testing, but one action seems to resist: debugging. Developers know that debugging can require dedication, effort, long hours of work, sometimes for changing one line of code only. We introduce the concept of Swarm Debugging, to bring crowdsourcing to the activity of debugging. Through crowdsourcing, we aim at helping developers by capitalizing on their dedication, effort, and long hours of work to ease debugging activities of their peers or theirs, on other bugs. We show that swarm debugging requires a particular approach to collect relevant information, and we describe the Swarm Debugging Infrastructure. We also show that swarm debugging minimizes developers effort. We conclude with the advantages and current limitations of swarm debugging and suggest directions to overcome these limitations and further the adoption of crowdsourcing for debugging activities.
|
76 |
Investigating Architecture Description Languages (ADLs) A Systematic Literature ReviewHussain, Sajjad January 2013 (has links)
Context: Over the last two decades, software architecture has introduced a new trend insoftware development. This new trend has completely changed the normal methods andpractices of software engineering. The focus has become the architectural elements ratherthan code and sub-routines. Architecture description languages (ADLs) have been proposedfor this kind of architecture based software development. There are a number of differentADLs both in academia and industry; they are not totally adopted by the software engineeringcommunity, but they are not avoided either. In this research work, an investigation has beenperformed based on the ADLs evaluation in practice. Objectives: The main aim of this study is to investigate evaluation of ADLs in academia andindustry. To explore the benefits and drawbacks of ADLs in practice. The study also exploresthe different quality factors improved by ADLs. Further different methods used to buildarchitecture with ADLs and then how to use architecture described with an ADL in softwaredevelopment and maintenance have also been reported. Methods: This research study has been carried out using the systematic literature reviewmethod. The systematic literature review follows the guidelines suggested by Kitchenham[21]. Results: This research review has resulted in total of 102 different ADLs. It has been foundthat out of the 102 different ADLs, 69 ADLs have been evaluated in academia and only 33ADLs have been evaluated in industry. ADLs have also been classified based on theirindustrial and academia evaluation. There are total 31 different benefits and 19 differentdrawbacks of ADLs have been identified. This review also extracted 20 different qualityfactors from literature that are improved by using ADLs in practice. Further 13 differentmethods used to build architecture with ADL have also been reported. Finally 9 differentmethods of ADLs used in software development and maintenance have been identified. Conclusions: The Large number of ADLs with little evaluation in industry suggests thatmore work needs to be done in order to improve ADLs evaluation in practice. ADLs providemore benefits compared to their drawbacks which suggests that ADLs can be very beneficial.Knowledge gained during this research study, suggests that ADLs are mostly unrecognized.More awareness about ADLs should be provided in education and practice.
|
77 |
Impact of Software Comprehension in Software Maintenance and EvolutionAkhlaq, 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
|
78 |
An Evaluation of a Maintenance Model : A comparison with theory and results from case studies / En utvärdering av en systemförvaltningsmodellBjörling, Erik, Hoff, Anna January 2002 (has links)
This master thesis was performed in cooperation with SchlumbergerSema. During the project we identified several maintenance methodologies and studied the characteristics of both the ISO and IEEE standard. The base for our evaluation of the CURE maintenance model (developed by SchlumbergerSema) were both the result of our case study that comprised interviews from five maintenance projects as well as maintenance literature available. Both the interviews and the literature studies resulted in lists of requirements that each area make on a maintenance model. We compare the CURE model to the requirements found within these two areas. Based on the result of the comparison we give our recommendations for maintenance in general, maintenance within SchlumbergerSema as well as specific recommendations for the CURE development team. Our conclusions drawn from our work were mostly positive about CURE. However we have suggested several issues for further development such as e.g. certification to a standard. Other conclusions are that no matter what model you choose as a maintenance model, make sure that you implement the model fully. A major pitfall is to allow it to become "just a fancy book on the shelf". / Erik Björling - erik@bjorling.com Anna Hoff - pt97hol@student.bth.se
|
79 |
Total Quality Maintenance (TQMain) A predictive and proactive maintenance concept for softwareWilliamsson, Ia January 2006 (has links)
This thesis describes an investigation of the possibility to apply a maintenance concept originally developed for the industry, on software maintenance. Today a large amount of software development models exist but not many of them treat maintenance as a part of the software life cycle. In most cases maintenance is depicted as an activity towards the end of the software life cycle. The high cost ascribed to software maintenance motivates for improvements. The maintenance concept TQMain proposed in this thesis distinguishes from other maintenance concepts by its use of preventive, predictive and proactive maintenance strategies. TQMain uses a common database to store real-time data from various departments and uses it for analyse and assessment to track the development of deviations in the condition of the production process and product quality at an early stage. A continuous cyclic improvement of the maintenance strategy is reached by comparing the data from the real-time measurements with data from the database. The ISO/IEC Software engineering – Product qualities is used as a source of empiric data to conclude that the correct quality characteristics are used for identifying software product quality and its characteristics and compare them with the characteristics of industrial product quality. The results presented are that in the conceptual outline of TQMain measures are obviously not the same as in software maintenance, but the aspect of product quality is common for both. The continuous cyclic improvement of the product quality that TQMain features together with the aspect of detecting potential failures before they occur would, judging from the conceptual outline of TQMain be applicable on software maintenance.
|
80 |
Challenges and Mitigation Strategies in Global Software Maintenance / Challenges and Mitigation Strategies in Global Software MaintenanceUlziit, Bayarbuyan, Warraich, Zeeshan Akhtar January 2011 (has links)
Context. Global software development (GSD) has become a significant practice in software industry due to rapid globalization processes and technological advances. In GSD, software development activities are carried at geographically distributed locations by collaboration of people with different background and culture. In this study, we studied an area of global software maintenance from both of state of the art and state of practice in order to understand which challenges are hampering the effectiveness of distributed maintenance team as well as which mitigation strategies can appease their impact. Objectives. The study unravels challenges of global software maintenance and alleviation strategies to address to those challenges by methodically reviewing relevant studies and industrial practitioners’ experiences. It also explores the convergence and divergence between the outcome from scientific studies and industrial settings Methods. Data collection processes are done through systematic literature review and industrial interviews. In the systematic review a variety of article sources are queried, including Compendex, Inspec, IEEE Xplore, ACM Digital Library, Wiley Inter Science, Scopus, Science Direct, ISI WOS and Springer Link. Interviews are conducted with five practitioners from 4 different multinational organizations. As data analysis methods, grounded theory and qualitative comparative analysis are applied. Results. Totally, 90 different challenges and 73 strategies were revealed. Unlike most of similar studies in GSD which used 3C categorization (Communication, Control and Coordination), we come up with a different view as we called 3PT which conceptualizes challenges and strategies into People, Process, Product and Technology factors. Conclusions. We conclude that collaborative processes and their clear definitions among all maintenance stakeholders are one of the critical success factors of effective maintenance in global collaboration. Most importantly, a maintenance management should focus on the holistic improvement of each factor in 3PT and their synergy can contribute much to the successful software maintenance in globally distributed environment. / We found that collaborative processes and their clear definitions among all maintenance stakeholders are one of the critical success factors of effective maintenance in global collaboration. Most importantly, a maintenance management should focus on the holistic improvement of each factor in 3PT and their synergy can contribute much to the successful software maintenance in globally distributed environment.
|
Page generated in 0.0514 seconds