• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 79
  • 18
  • 4
  • 3
  • 2
  • 2
  • 1
  • 1
  • 1
  • Tagged with
  • 133
  • 133
  • 57
  • 45
  • 27
  • 21
  • 19
  • 17
  • 15
  • 14
  • 14
  • 13
  • 11
  • 11
  • 11
  • 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.
71

Swarm debugging : the collective debugging intelligence of the crowd / Depuração em enxame : a inteligência coletiva na depuração pela multidão

Petrillo, 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.
72

A framework for software patch management in a multi-vendor environment

Hughes, 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.
73

Swarm debugging : the collective debugging intelligence of the crowd / Depuração em enxame : a inteligência coletiva na depuração pela multidão

Petrillo, 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

Investigating Architecture Description Languages (ADLs) A Systematic Literature Review

Hussain, 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.
75

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
76

An Evaluation of a Maintenance Model : A comparison with theory and results from case studies / En utvärdering av en systemförvaltningsmodell

Bjö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
77

Total Quality Maintenance (TQMain) A predictive and proactive maintenance concept for software

Williamsson, 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.
78

Challenges and Mitigation Strategies in Global Software Maintenance / Challenges and Mitigation Strategies in Global Software Maintenance

Ulziit, 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.
79

Reverse Engineering Behavioural Models by Filtering out Utilities from Execution Traces

Braun, Edna January 2013 (has links)
An important issue in software evolution is the time and effort needed to understand existing applications. Reverse engineering software to recover behavioural models is difficult and is complicated due to the lack of a standardized way of extracting and visualizing knowledge. In this thesis, we study a technique for automatically extracting static and dynamic data from software, filtering and analysing the data, and visualizing the behavioural model of a selected feature of a software application. We also investigate the usefulness of the generated diagrams as documentation for the software. We present a literature review of studies that have used static and dynamic data analysis for software comprehension. A set of criteria is created, and each approach, including this thesis’ technique, is compared using those criteria. We propose an approach to simplify lengthy traces by filtering out software components that are too low level to give a high-level picture of the selected feature. We use static information to identify and remove small and simple (or uncomplicated) software components from the trace. We define a utility method as any element of a program designed for the convenience of the designer and implementer and intended to be accessed from multiple places within a certain scope of the program. Utilityhood is defined as the extent to which a particular method can be considered a utility. Utilityhood is calculated using different combinations of selected dynamic and static variables. Methods with high utilityhood values are detected and removed iteratively. By eliminating utilities, we are left with a much smaller trace which is then visualized using the Use Case Map (UCM) notation. UCM is a scenario language used to specify and explain behaviour of complex systems. By doing so, we can identify the algorithm that generates a UCM closest to the mental model of the designers. Although when analysing our results we did not identify an algorithm that was best in all cases, there is a trend in that three of the best four algorithms (out of a total of eight algorithms investigated) used method complexity and method lines of code in their parameters. We also validated the algorithm results by doing a comparison with a list of methods given to us by the creators of the software and doing precision and recall calculations. Seven out of the eight participants agreed or strongly agreed that using UCM diagrams to visualize reduced traces is valid approach, with none who disagreed.
80

[pt] INVESTIGANDO O RELACIONAMENTO ENTRE DEPENDÊNCIA DE CARACTERÍSTICAS E PROPAGAÇÃO DE MUDANÇAS / [en] ON THE RELATIONSHIP BETWEEN FEATURE DEPENDENCIES AND CHANGE PROPAGATION

BRUNO BARBIERI DE PONTES CAFEO 21 July 2016 (has links)
[pt] Características são abstrações-chave para o desenvolvimento e manutenção de linhas de produto de software. Um desafio encarado na manutenção de linhas de produto de software é o entendimento das dependências que existem entre características. No código-fonte, uma dependência entre características ocorre sempre que um elemento de programa dentro dos limites de implementação de uma característica depende de elementos externos a esta característica. Exemplos são atributos ou métodos definidos na implementação de uma característica, mas utilizados no código responsável pela implementação de outra característica. A medida que desenvolvedores modificam o código-fonte associado com uma característica, eles devem garantir que outras características são consistentemente atualizadas com as novas mudanças – as chamadas propagações de mudanças. No entanto, a apropriada propagação de mudanças não é uma tarefa trivial, pois características geralmente não são modularizadas no código-fonte. Dessa forma, dado uma mudança em uma determinada característica, é desafiador revelar quais (partes de) outras características também devem ser alteradas. Propagação de mudanças se torna, portanto, um aspecto central e não-trivial da manutenção de linhas de produto de software. Desenvolvedores podem negligenciar partes importantes de código que deveriam ser revisadas ou alteradas, portanto não propagando mudanças de forma completa. Por outro lado, desenvolvedores também podem analisar de forma desnecessária partes de código que não são relevantes para a tarefa de manutenção de características, portanto aumentando o esforço de manutenção ou até propagando mudanças de forma indevida. A criação de um bom modelo mental da estrutura das dependências de características se torna essencial para ganhar compreensão sobre o complexo relacionamento de características com o objetivo de propagar mudanças de forma apropriada. Infelizmente, não existe entendimento no estado-da-arte sobre propriedades estruturais de dependências de características que afetam a propagação de mudanças. Este entendimento ainda não é possível, pois: (i) não existe meios de caracterização e quantificação para propriedades estruturais de dependências de características, e (ii) não existem investigações empíricas sobre a influência dessas propriedades na propagação de mudanças. Nesse contexto, esta tese apresenta três contribuições para superar os problemas acima mencionados. Primeiro, foi desenvolvido um estudo para entender a propagação de mudanças na presença de dependência de características em várias linhas de produto industriais. Segundo, é proposto um arcabouço de medidas com o propósito de quantificar propriedades estruturais de dependências de características. Nesse contexto, também foi desenvolvido um estudo revelando que métricas convencionais tipicamente aplicadas em trabalhos de linha de produto, tais como a métrica de acoplamento, não são indicadores efetivos da propagação de mudanças em linhas de produto de software. As métricas propostas nesta tese superaram consistentemente as métricas convencionais estudadas. Terceiro, esta tese propõe um método para auxiliar a propagação de mudanças encarando informações sobre a organização de dependência de características encarando-as como um problema de agrupamento. Foi avaliado se a organização de informações proposta nesta tese tem potencial para auxiliar desenvolvedores a propagar mudanças em linhas de produto de software. / [en] Features are the key abstraction to develop and maintain software product lines. A challenge faced in the maintenance of product lines is the understanding of the dependencies that exist between features. In the source code, a feature dependency occurs whenever program elements within the boundaries of a feature s implementation depend on elements external to that feature. Examples are either attributes or methods defined in the realisation of a feature, but used in the code realising other features. As developers modify the source code associated with a feature, they must ensure that other features are consistently updated with the new changes – the so-called change propagation. However, appropriate change propagation is far from being trivial as features are often not modularised in the source code. In this way, given a change in a certain feature, it is challenging to reveal which (part of) other features should also change. Change propagation becomes, therefore, a central and non-trivial aspect of software product-line maintenance. Developers may overlook important parts of the code that should be revised or changed, thus not fully propagating changes. Conversely, they may also unnecessarily analyse parts that are not relevant to the feature-maintenance task at hand, thereby increasing the maintenance effort or even mis-propagating changes. The creation of a good mental model based on the structure of feature dependencies becomes essential for gaining insight into the intricate relationship between features in order to properly propagate changes. Unfortunately, there is no understanding in the state of the art about structural properties of feature dependencies that affect change propagation. This understanding is not yet possible as: (i) there is no conceptual characterisation and quantification means for structural properties of feature dependency, and (ii) there is no empirical investigation on the influence of these properties on change propagation. In this context, this thesis presents three contributions to overcome the aforementioned problems. First, we develop a study to understand change propagation in presence of feature dependencies in several industry-strength product lines. Second, we propose a measurement framework intended to quantify structural properties of feature dependencies. We also develop a study revealing that conventional metrics typically used in previous research, such as coupling metrics, are not effective indicators of change propagation in software product lines. Our proposed metrics consistently outperformed conventional metrics. Third, we also propose a method to support change propagation by facing the organisation of feature dependency information as a clustering problem. We evaluate if our proposed organisation has potential to help developers to propagate changes in software product lines.

Page generated in 0.1436 seconds