Dissertations / Theses on the topic 'Software maintenance'

To see the other types of publications on this topic, follow the link: Software maintenance.

Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles

Select a source type:

Consult the top 50 dissertations / theses for your research on the topic 'Software maintenance.'

Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.

You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.

Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.

1

Taylor, Mark John. "Methodologies and software maintenance." Thesis, University of Salford, 1998. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.265393.

Full text
APA, Harvard, Vancouver, ISO, and other styles
2

Sayyad, Shirabad Jelber. "Supporting software maintenance by mining software update records." Thesis, University of Ottawa (Canada), 2003. http://hdl.handle.net/10393/29004.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
It is well known that maintenance is the most expensive stage of the software life cycle. Most large real world software systems consist of a very large number of source code files. Important knowledge about different aspects of a software system is embedded in a rich set of implicit relationships among these files. Those relationships are partly reflected in system documentation at its different levels, but more often than not are never made explicit and become part of the expertise of system maintainers. Finding existing relations between source code components is a difficult task, especially in the case of legacy systems. When a maintenance programmer is looking at a piece of code in a source file, one of the important questions that he or she needs to answer is: "which other files should I know about, i.e. what else might be relevant to this piece of code?". This is an example of a more general Relevance Relation that maps a set of entities in a software system into a relevance value. How can we discover and render explicit these relationships without looking over the shoulder of a programmer involved in a maintenance task? We turn to inductive methods that are capable of extracting structural patterns or models from data. They can learn concepts or models from experience observed in the past to predict outcomes of future unseen cases. This thesis lies at the intersection of two research fields, which has been widely ignored by researchers in the machine learning and software engineering communities. It investigates the application of inductive methods to daily software maintenance at the source code level. Therefore in this thesis we first lay out the general idea of relevance among different entities in a software system. Then using inductive learning methods and a variety of data sources used by maintenance programmers, we extract (i.e. learn) what we call a maintenance relevance relation among files in a large legacy system. In effect we learn from past maintenance experience in the form of problem reports and update records, to be able to make predictions that are useful in future maintenance activities. This relation, which is called the Co-update relation, predicts whether updating one source file may require a change in another file. To learn the Co-update relation we have performed a large number of experiments using syntactic features such as function calls or variable definitions. We have also performed experiments that use text based features such as source code comments and problem reports, and the combination of these features. The results obtained show that while using syntactic features is encouraging in terms of the predictive power of the results of learning, using text based features yields highly accurate models, with precision and recall measures that make these models viable to be used in a real world setting. As part of the contribution of this thesis we also report on challenges encountered in the process and the lessons learned.
3

Breidenbach, Jeff. "Survivable software distribution and maintenance." Thesis, Massachusetts Institute of Technology, 1997. http://hdl.handle.net/1721.1/42793.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 1997.
Includes bibliographical references (leaves 79-82).
by Jeff Breidenbach.
Ph.D.
4

Foster, John R. "Cost factors in software maintenance." Thesis, Durham University, 1993. http://etheses.dur.ac.uk/1561/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
5

Morrison, David J. "Prediction of software maintenance costs." Thesis, Edinburgh Napier University, 2001. http://researchrepository.napier.ac.uk/Output/3601.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
This thesis is concerned with predicting the costs of maintaining a computer program prior to the software being developed. The ubiquitous nature of software means that software maintenance is an important activity, and evidence exists to support the contention that it is the largest and most costly area of endeavour within the software domain. Given the levels of expenditure associated with software maintenance, an ability to quantify future costs and address the determinants of these costs can assist in the planning and allocation of resources. Despite the importance of this field only a limited understanding of the factors that determine future maintenance costs exists, and maintenance estimation is more frequently applied to existing software. A hypothesis has been postulated that suggests the inherent maintainability of the software, the scale of the activity and the degree of change that pertains will determine future software maintenance costs. The variables that contribute to the maintainability of the software have been explored through a survey of past projects, which was undertaken using a questionnaire. This was designed with assistance from three separate teams of professional software engineers. The questionnaire requires 69 numerical or ordinal responses to a series of questions pertaining to characteristics including program structure, computer architecture, software development methodology, project management processes and maintenance outcomes. Factor analysis methods were applied and five of the most powerful predictors are identified. A linear model capable of predicting maintainability has been developed. Validation was undertaken through a series of follow-up interviews with several survey respondents, and by further statistical analysis utilising hold-out samples and structural equation modelling. The model was subsequently used to develop predictive tools intended to provide management support by both providing a categorical assessment of future maintainability, and a quantitative estimate of probable maintenance costs. The distinction between essential corrective maintenance, and other elective forms of maintenance is considered. Conclusions are drawn regarding the efficacy and limitations of tools that can be developedt o supportm anagemendt ecisionm aking. Subjectt o further work with a largers ampleo f projects,p referablyf rom within a singleo rganisationi,t is concluded i that useful tools could be developed to make both categorical ('acceptable' versus 'not acceptable') and static (initial) quantitative predictions. The latter is dependent on the availability of a software development estimate. Some useful predictive methods have also been applied to dynamic (continuing) quantitative prediction in circumstances where a trend develops in successive forecasts. Recommendationfosr furtherw ork arep rovided.T hesei nclude: U Factor analysis and linear regression has been applied to a sample of past software projects from a variety of application areas to identify important input variables for use in a maintainability prediction model. Maintainability is regarded as an important determinant of maintenance resource requirements. The performance of these variables within a single organisation should be confirmed by undertaking a further factor analysis and linear regression on projects from within the target organisation. u The robustness of model design within this target organisation should be considered by applying a sensitivity analysis to the input variables. u This single organisation maintainability predictor model design should be validated by confirmatory interviews with specialists and users from within the target organisation. u Aggregate scale has been identified as another predictor of overall maintenance resource requirements, and the relationship between development and maintenance effort explored for the general case. It is desirable that development and corrective maintenance scale relationships should be explored within a single organisation. Within this environment the association between standardised effort and maintainability should be confirmed, and the value of the logistic model as a descriptor of the relationship verified. u The approacht o quantifying non-correctivem aintenanceth at has been outlined requiresf iirther developmentT. he relationshipb etweena nnualc hanget raffic and maintenancec ostss houldb e modelled,a ssuminga prior knowledgeo f the scale and maintainability determinants. uA sensitivity analysis should be applied to the predictive system that has been developed, recognising the potential for error in the values of the input variables that may pertain. uA goal of this further research should be the development of a suite of soft tools, designed to enable the user to develop a software maintenance estimation system.
6

Revelle, Meghan Kathleen. "Supporting feature-level software maintenance." W&M ScholarWorks, 2010. https://scholarworks.wm.edu/etd/1539623567.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
Software maintenance is the process of modifying a software system to fix defects, improve performance, add new functionality, or adapt the system to a new environment. A maintenance task is often initiated by a bug report or a request for new functionality. Bug reports typically describe problems with incorrect behaviors or functionalities. These behaviors or functionalities are known as features. Even in very well-designed systems, the source code that implements features is often not completely modularized. The delocalized nature of features makes maintaining them challenging. Since maintenance tasks are expressed in terms of features, the goal of this dissertation is to support software maintenance at the feature-level. We focus on two tasks in particular: feature location and impact analysis via feature coupling.;Feature location is the process of identifying the source code that implements a feature, and it is an essential first step to any maintenance task. There are many existing techniques for feature location that incorporate various types of analyses such as static, dynamic, and textual. In this dissertation, we recognize the advantages of leveraging several types of analyses and introduce a new approach to feature location based on combining dynamic analysis, textual analysis, and web mining algorithms applied to software. The use of web mining for feature location is a novel contribution, and we show that our new techniques based on web mining are significantly more effective than the current state of the art.;After using feature location to identify a feature's source code, maintenance can be completed on that feature. Impact analysis should then be performed to revalidate the system and determine which other features may have been affected by the modifications. We define three feature coupling metrics that capture the relationship between features based on structural information, textual information, and their combination. Our novel feature coupling metrics can be used for impact analysis to quantify the strength of coupling between pairs of features. We performed three empirical studies on open-source software systems to assess the feature coupling metrics and established three major results. First, there is a moderate to strong statistically significant correlation between feature coupling and faults. Second, feature coupling can be used to correctly determine about half of the other features that would be affected by a change to a given feature. Finally, we found that the metrics align with developers' opinions about pairs of features that are actually coupled.
7

Akhlaq, Usman, and Muhammad Usman Yousaf. "Impact of Software Comprehension in Software Maintenance and Evolution." Thesis, Blekinge Tekniska Högskola, Sektionen för datavetenskap och kommunikation, 2010. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-2176.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
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
8

LUCAS, ANA PAULA LIMA. "SOFTWARE MAINTENANCE MANAGEMENT: A CASE STUDY." PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO, 2016. http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=30262@1.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO
COORDENAÇÃO DE APERFEIÇOAMENTO DO PESSOAL DE ENSINO SUPERIOR
PROGRAMA DE EXCELENCIA ACADEMICA
A organização participante deste trabalho buscou implantar atividades relacionadas à manutenção de software em função de problemas relacionados à grande ocorrência de defeitos, constantes retrabalhos, entre outros. Para suprimir esses problemas, inicialmente, foi elaborado um estudo preliminar do sistema em questão, avaliando o estado atual da manutenção de software. Diante do diagnóstico realizado, ficou evidente a necessidade de mudanças na maneira como eram conduzidas as atividades de manutenção do sistema. Com isso, iniciou-se a busca por alternativas de melhorias com objetivo de reduzir a ocorrência de defeitos e também aumentar a manutenibilidade do sistema. Sabendo quais são os problemas e o que poderia ser feito para melhorar, propôs-se adotar algumas práticas do modelo de maturidade de manutenção de software - SMmm e integrar os conceitos destas práticas em um processo definido e adaptado às necessidades do sistema. Para apoiar essa implementação, a infraestrutura utilizada foi a plataforma Team Foundation Service - TFS que colaborou com a implementação das práticas selecionadas segundo as exigências do modelo SMmm, resultando em um processo definido apoiado pelo TFS que implementa parcialmente o modelo SMmm. Este trabalho apresenta um estudo de caso com o objetivo de avaliar os benefícios proporcionados pela utilização de algumas práticas do modelo SMmm. A avaliação realizada confronta os dados do estudo preliminar com dados coletados após adoção das práticas, os resultados analisados apontaram uma redução significativa da quantidade de defeitos.
The company participating in this work sought to implement activities related to software maintenance due to problems related to the great occurrence of defects, constant rework, among others. To suppress these problems, a preliminary study of the system in question has been elaborated, evaluating the current state of software maintenance. In view of the diagnosis, the necessity of changes became evident concerning the way that the system maintenance activities were conducted. With this, the search for alternatives of improvements began with the objective of reducing the occurrence of defects and also increase the maintainability of the system. Knowing the problems and what could be done to improve; it was proposed to accede some practices of the software maintenance maturity model - SMmm and to integrate the concepts of these practices into a defined process and adapted to the needs of the system. To support this implementation, the infrastructure used was the Team Foundation Service - TFS platform that collaborated with the implementation of the selected practices according to the requirements of the SMmm model, resulting in a defined process supported by the TFS that partially implements the SMmm model. This paper presents a case study with the objective of evaluating the benefits provided by the use of some practices of the SMmm model. The evaluation carried out compared the data from the preliminary study with data collected after adoption of the practices, the analyzed results pointed out a significant reduction in the number of issues.
9

Lohmann, Wolfgang. "On language processors and software maintenance /." Berlin : Logos-Verl, 2009. http://d-nb.info/995106479/04.

Full text
APA, Harvard, Vancouver, ISO, and other styles
10

Panichella, Annibale. "Search-Based Software Maintenance and Testing." Doctoral thesis, Universita degli studi di Salerno, 2014. http://hdl.handle.net/10556/1467.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
2012 - 2013
In software engineering there are many expensive tasks that are performed during development and maintenance activities. Therefore, there has been a lot of e ort to try to automate these tasks in order to signi cantly reduce the development and maintenance cost of software, since the automation would require less human resources. One of the most used way to make such an automation is the Search-Based Software Engineering (SBSE), which reformulates traditional software engineering tasks as search problems. In SBSE the set of all candidate solutions to the problem de nes the search space while a tness function di erentiates between candidate solutions providing a guidance to the optimization process. After the reformulation of software engineering tasks as optimization problems, search algorithms are used to solve them. Several search algorithms have been used in literature, such as genetic algorithms, genetic programming, simulated annealing, hill climbing (gradient descent), greedy algorithms, particle swarm and ant colony. This thesis investigates and proposes the usage of search based approaches to reduce the e ort of software maintenance and software testing with particular attention to four main activities: (i) program comprehension; (ii) defect prediction; (iii) test data generation and (iv) test suite optimiza- tion for regression testing. For program comprehension and defect prediction, this thesis provided their rst formulations as optimization problems and then proposed the usage of genetic algorithms to solve them. More precisely, this thesis investigates the peculiarity of source code against textual documents written in natural language and proposes the usage of Genetic Algorithms (GAs) in order to calibrate and assemble IR-techniques for di erent software engineering tasks. This thesis also investigates and proposes the usage of Multi-Objective Genetic Algorithms (MOGAs) in or- der to build multi-objective defect prediction models that allows to identify defect-prone software components by taking into account multiple and practical software engineering criteria. Test data generation and test suite optimization have been extensively investigated as search- based problems in literature . However, despite the huge body of works on search algorithms applied to software testing, both (i) automatic test data generation and (ii) test suite optimization present several limitations and not always produce satisfying results. The success of evolutionary software testing techniques in general, and GAs in particular, depends on several factors. One of these factors is the level of diversity among the individuals in the population, which directly a ects the exploration ability of the search. For example, evolutionary test case generation techniques that employ GAs could be severely a ected by genetic drift, i.e., a loss of diversity between solutions, which lead to a premature convergence of GAs towards some local optima. For these reasons, this thesis investigate the role played by diversity preserving mechanisms on the performance of GAs and proposed a novel diversity mechanism based on Singular Value Decomposition and linear algebra. Then, this mechanism has been integrated within the standard GAs and evaluated for evolutionary test data generation. It has been also integrated within MOGAs and empirically evaluated for regression testing. [edited by author]
XII n.s.
11

Williamsson, Ia. "Total Quality Maintenance (TQMain) A predictive and proactive maintenance concept for software." Thesis, Blekinge Tekniska Högskola, Avdelningen för för interaktion och systemdesign, 2006. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-2281.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
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.
12

Gibbins, Wilson K. "The relationship among commenting style, software complexity metrics, and software maintainability." Thesis, This resource online, 1988. http://scholar.lib.vt.edu/theses/available/etd-04122010-083707/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
13

Capretz, Miriam Akemi Manabe. "A software maintenance method based on the software configuration management discipline." Thesis, Durham University, 1992. http://etheses.dur.ac.uk/6017/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
Software maintenance has until recently been the neglected phase in the software engineering process, despite the fact that maintenance of existing software systems may account for over half of all efforts expended by a software organization. Research into software maintenance, compared to other phases of the software engineering process is rare. Moreover, it is widely accepted that current software maintenance methods and techniques are unable to cope with the complexity inherent in maintaining software systems. This thesis is concerned with the development of a method, named Configuration Management Formalization for Maintenance (COMFORM), designed for the maintenance of existing software systems. COMFORM provides guidelines and procedures for carrying out a variety of activities performed during software maintenance. It accommodates a change control framework, around which the Software Configuration Management discipline is applied. Redocumentation is another problem tackled by COMFORM, which gathers together the documentation necessary to improve the maintainability and quality of existing software systems. This is achieved by the use of forms representing the output of each phase of a proposed software maintenance model. The information obtained by filling in forms is formalized according to a data model, which provides a common basis for the representation of the method's functionality. Finally, a prototype of COMFORM has been implemented, so that the procedures and guidelines set up by the method can be enforced and followed by its users.
14

Cooper, Simon D. "Measurement for the management of software maintenance." Thesis, Durham University, 1993. http://etheses.dur.ac.uk/5676/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
This thesis addresses the problem of bringing maintenance, in a commercial environment, under management control, and also increasing the profile of maintenance in a corporate picture, bringing it onto a par with other components of the business. This management control will help reduce costs and also the time scales inherent in maintenance activity. This objective is achieved by showing how the measurement of the products and processes involved in maintenance activity, at a team level, increases the visibility of the tasks being tackled. This increase in visibility provides the ability to impose control on the products and processes and provides the basis for prediction and estimation of future states of a project and the future requirements of the team. This is the foundation of good management. Measurement also provides an increase in visibility for higher management of the company, forming a basis for communication within the corporate strategy, allowing maintenance to be seen as it is, and furnished with the resources it requires. A method for the introduction of a measurement strategy, and collection system, is presented, supported by the examination of a database of maintenance information collected by a British Telecom research team, during a commercial software maintenance exercise. A prototype system for the collection of software change information is also presented, demonstrating the application of the method, along with the results of its development and the implications for both software maintenance management and the technical tasks of implementing change.
15

Deraman, Aziz B. "A computer-aided software maintenance process model." Thesis, University of Manchester, 1992. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.261996.

Full text
APA, Harvard, Vancouver, ISO, and other styles
16

David, Larry G. "Anatomy of A Software Maintenance Training Program." NSUWorks, 1988. http://nsuworks.nova.edu/gscis_etd/479.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
The process of doing the software training portion of a large complex command and control system under government contract was traced from the initial advertisement to completion of formal training. The Royal Thai Air Defense System (RTADS) contract, as viewed from the perspective of the software training manager, was used as the vehicle for describing the development and delivering a software maintenance training program. The early aspects of the contracting process were reviewed in general terms from the initial public announcement to the contract award. Emphasized, was the need for thorough analysis of the request for proposal (RFP), the system specification, and references included in both. Each included reference could lead to further references and failure to examine all such references could result in underestimating the amount of work needed to complete the contract. Such a failure could result in not bidding enough money to do the job within the proposed schedule. Once the contract was awarded, the processes involved in doing the project were described. These included acquiring and training the necessary staff; analyzing the project needs; coordinating with subcontractors; developing the training and training equipment plan (TTEP); developing budgets and schedules; coordinating with governmental oversight agencies; designing the courses, lessons, and instructional materials; producing the lesson plans, student study guides, and other materials; securing approvals; scheduling students and classes; and finally delivering the planned and prepared training. The problems encountered in coordinating and implementing a program where multiple agencies have shared responsibilities were discussed. Also described were the complications of developing training materials for teaching computer programs that were simultaneously being developed and were thus changing regularly. The added complications associated with training Thai military personnel were covered, such as language and cultural problems. The software maintenance training program was described as it grew from a few lines of general statements in the RFP to about 60 pages of the 800 page TTEP to about 3800 pages of training materials and 500 graphic slides developed specifically for the three software maintenance courses. Those three courses were presented successfully over a two year period to three different groups of people. Conclusions emphasized the need to plan in great detail, to expect problems, to coordinate with everyone concerned, to adhere to budgets and schedules, and to expect to expend much time and energy on student personal matters because of cultural and language difficulties. The RTADS software maintenance training program was evaluated as successful by all concerned, all students completed their training, and all students safely returned home to Thailand.
17

Wolfangel, Christian. "Empirische Untersuchung von Maintenance-Prozessen objektorientierter Software." [S.l. : s.n.], 2002. http://www.bsz-bw.de/cgi-bin/xvms.cgi?SWB10361119.

Full text
APA, Harvard, Vancouver, ISO, and other styles
18

Mohan, Michael. "Automated software maintenance using search-based refactoring." Thesis, Queen's University Belfast, 2018. https://pure.qub.ac.uk/portal/en/theses/automated-software-maintenance-using-searchbased-refactoring(f3e1a3fd-7150-45d8-b29d-4b973ba38137).html.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
Search-based software maintenance (SBSM) is an area of research that uses refactorings, software metrics and search-based optimisation algorithms to automate aspects of the software maintenance process. Refactorings are used to improve the structure of software without affecting its functionality. Search-based optimisation algorithms can be adapted to use refactorings to modify software, relying on metrics to deduce how successful the refactorings have been along the way. The research conducted in this thesis aims to explore the research area of SBSM and experiment with methods to automate software refactoring using optimisation algorithms. The current state of the art in the area is inspected and gaps are identified in the current literature. In particular, the need for further investigation of multi-objective and many-objective optimisation techniques, as well as experimentation with the metrics used to measure the software, is present. In order to experiment with different ways to optimise software for quality an automated refactoring tool is developed. Using this tool, novel aspects of the software are investigated and used as measures to assess and then improve the quality of the software. A multi-objective optimisation algorithm is used so that in addition to quality other, more complex properties are also improved. Using the automated maintenance tool and the underlying approaches, a methodology is presented to automate the refactoring process. Four different areas of importance are investigated as objectives for automated refactoring. The main contributions of the research work are the developed automated refactoring tool, the 4 objectives constructed to measure different aspects of the software code and the methodology developed to maintain the code using the 4 separate measures with a many-objective optimisation algorithm.
19

Gethers, Malcom Bernard II. "Information Integration for Software Maintenance and Evolution." W&M ScholarWorks, 2012. https://scholarworks.wm.edu/etd/1539720326.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
Software maintenance and evolution is a particularly complex phenomenon in the case of long-lived, large-scale systems. It is not uncommon for such systems to progress through years of development history, a number of developers, and a multitude of software artifacts including millions of lines of code. Therefore, realizing even the slightest change may not always be straightforward. Clearly, changes are the central force driving software evolution. Therefore, it is not surprising that a significant effort has been (and should be) devoted in the software engineering community to systematically understanding, estimating, and managing changes to software artifacts. This effort includes the three core change related tasks of (1) expert developer recommendations - identifying who are the most experienced developers to implement needed changes, (2) traceability link recovery recovering dependencies (traceability links) between different types of software artifacts, and (3) software change impact analysis - which other software entities should be changed given a starting point.;This dissertation defines a framework for an integrated approach to support three core software maintenance and evolution tasks: expert developer recommendation, traceability link recovery, and software change impact analysis. The framework is centered on the use of conceptual and evolutionary relationships latent in structured and unstructured software artifacts. Information Retrieval (IR) and Mining Software Repositories (MSR) based techniques are used for analyzing and deriving these relationships. All the three tasks are supported under the framework by providing systematic combinations of MSR and IR analyses on single and multiple versions of a software system. Our approach to the integration of information is what sets it apart from previously reported relevant solutions in the literature. Evaluation on a number of open source systems suggests that such combinations do offer improvements over individual approaches.
20

Mostov, Isaak. "A Model of Software Maintenance for Large Scale Military Systems." Thesis, Monterey, California. Naval Postgraduate School, 1990, 1990. http://hdl.handle.net/10945/23454.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
Approved for public release, distribution unlimited
The maintenance of large military software systems is complex, involves users as well as software professionals, and requires appropriate management, which is one of the most important factors in efficient maintenance. Maintenance management requires information about the current state of the maintenance process that should be organized within a maintenance-oriented Enginering Database. This database should include all the necessary data about software changes, system configeration, maintenance task scheduling, etc., and it should be based on a realistic model of the maintenance process. This tesis proposes a mathematical Model of Software Maintenance that uses graphs to model the relationships between maintenance tasks and software components. The Model addresses the dynamic behavior of the maintenance process and supports priority and precedence of maintenance activities. The proposed Model of Software Maintenance provides a sound basis for implementation of a maintenance-oriented engineering database that supports automation of maintenance management, e.g., process control, task scheduling, job assignments, planning and forecast, gathering and interpretation of maintenance statistics and metrics, etc.
21

Uunk, Florian. "A New Perspective on Predicting Maintenance Costs." Thesis, Mälardalens högskola, Akademin för innovation, design och teknik, 2012. http://urn.kb.se/resolve?urn=urn:nbn:se:mdh:diva-14610.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
In my thesis I focus on providing a foundation of data on whichdecision makers can base refactoring decisions. For this, I examine therelationship between software complexity and maintenance eort. Tomake the data a stronger basis for refactoring decisions, I present anew approach of correlating le metrics to maintenance eort, whereI look at the relation between changes in le metrics over multiplereleases and changes in the maintenance eort spent on these les. Ido this using a broadened and, more complete notion of maintenanceeort. I measure maintenance eort in 4 ways: the amount of lines ofcode that had to be changed to resolve tasks, the amount of discus-sion that tasks generated, the amount of atomic changes to a le thatwere required to resolve a task, and the amount of bugs per month.To test this framework, I extracted data from 3 open source projects,where I measured the variation of both complexity and maintenanceeort, using this new notion of eort, over multiple releases, and in-vestigated their correlation. I found that 21 of the tested metrics weresignicantly correlated to the eort measures, where complexity basedmetrics and incoming propagation cost show the highest correlation.Of the proposed measures for maintenance eort, the amount of dis-cussion to resolve an issue shows the highest correlation to the chosenmetrics.
22

Henry, Joel. "An integrated approach to software process assessment." Diss., This resource online, 1993. http://scholar.lib.vt.edu/theses/available/etd-06062008-170922/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
23

Ulziit, Bayarbuyan, and Zeeshan Akhtar Warraich. "Challenges and Mitigation Strategies in Global Software Maintenance." Thesis, Blekinge Tekniska Högskola, Sektionen för datavetenskap och kommunikation, 2011. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-2346.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
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.
24

Dobrynin, Mikhail. "Using intelligent agents for complex software systems maintenance." Ohio : Ohio University, 2002. http://www.ohiolink.edu/etd/view.cgi?ohiou1174588678.

Full text
APA, Harvard, Vancouver, ISO, and other styles
25

Keller, Benjamin J. "An algebraic model of software evolution." Thesis, This resource online, 1990. http://scholar.lib.vt.edu/theses/available/etd-03122009-040841/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
26

McCrindle, Rachel Jane. "Inverse software configuration management." Thesis, Durham University, 1998. http://etheses.dur.ac.uk/5013/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
Software systems are playing an increasingly important role in almost every aspect of today’s society such that they impact on our businesses, industry, leisure, health and safety. Many of these systems are extremely large and complex and depend upon the correct interaction of many hundreds or even thousands of heterogeneous components. Commensurate with this increased reliance on software is the need for high quality products that meet customer expectations, perform reliably and which can be cost-effectively and safely maintained. Techniques such as software configuration management have proved to be invaluable during the development process to ensure that this is the case. However, there are a very large number of legacy systems which were not developed under controlled conditions, but which still, need to be maintained due to the heavy investment incorporated within them. Such systems are characterised by extremely high program comprehension overheads and the probability that new errors will be introduced during the maintenance process often with serious consequences. To address the issues concerning maintenance of legacy systems this thesis has defined and developed a new process and associated maintenance model, Inverse Software Configuration Management (ISCM). This model centres on a layered approach to the program comprehension process through the definition of a number of software configuration abstractions. This information together with the set of rules for reclaiming the information is stored within an Extensible System Information Base (ESIB) via, die definition of a Programming-in-the- Environment (PITE) language, the Inverse Configuration Description Language (ICDL). In order to assist the application of the ISCM process across a wide range of software applications and system architectures, die PISCES (Proforma Identification Scheme for Configurations of Existing Systems) method has been developed as a series of defined procedures and guidelines. To underpin the method and to offer a user-friendly interface to the process a series of templates, the Proforma Increasing Complexity Series (PICS) has been developed. To enable the useful employment of these techniques on large-scale systems, the subject of automation has been addressed through the development of a flexible meta-CASE environment, the PISCES M4 (MultiMedia Maintenance Manager) system. Of particular interest within this environment is the provision of a multimedia user interface (MUI) to die maintenance process. As a means of evaluating the PISCES method and to provide feedback into die ISCM process a number of practical applications have been modelled. In summary, this research has considered a number of concepts some of which are innovative in themselves, others of which are used in an innovative manner. In combination these concepts may be considered to considerably advance the knowledge and understanding of die comprehension process during the maintenance of legacy software systems. A number of publications have already resulted from the research and several more are in preparation. Additionally a number of areas for further study have been identified some of which are already underway as funded research and development projects.
27

Li, Wei. "Applying software maintenance metrics in the object oriented software development life cylce." Diss., Virginia Tech, 1992. http://hdl.handle.net/10919/40020.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
Software complexity metrics have been studied in the procedural paradigm as a quantitative means of assessing the software development process as well as the quality of software products. Several studies have validated that various metrics are useful indicators of maintenance effort in the procedural paradigm. However, software complexity metrics have rarely been studied in the object oriented paradigm. Very few complexity metrics have been proposed to measure object oriented systems, and the proposed ones have not been validated. This research concentrates on several object oriented software complexity metrics and the validation of these metrics with maintenance effort in two commercial systems. The results of an empirical study of the maintenance activities in the two commercial systems are also described. A metric instrumentation in an object oriented software development framework is presented.
Ph. D.
28

Lewis, John A. "A methodology for integrating maintainability into large-scale software using software metrics." Thesis, Virginia Tech, 1989. http://hdl.handle.net/10919/43094.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
Maintainability must be integrated into software as early in the development life cycle as possible to avoid overwhelming maintenance costs at later stages. This research describes a methodology which assists in the development of maintainable systems and does so without disrupting industry standard development techniques. The process uses software metrics and iterative enhancement concepts to reduce the complexity of high-level language code, making it less error-prone and more maintainable. The experiment uses large-scale system software from a major software producer.
Master of Science
29

Sim, Susan Elliott. "Supporting multiple program comprehension strategies during software maintenance." Thesis, National Library of Canada = Bibliothèque nationale du Canada, 1998. http://www.collectionscanada.ca/obj/s4/f2/dsk1/tape10/PQDD_0024/MQ40750.pdf.

Full text
APA, Harvard, Vancouver, ISO, and other styles
30

Kanellopoulos, Yiannis. "Supporting software systems maintenance using data mining techniques." Thesis, University of Manchester, 2008. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.496254.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
Data mining and its ability to handle large amounts of data and uncover hidden patterns has the potential to facilitate the comprehension and maintainability evaluation of a software system. Source code artefacts and measurement values can be used as input to data mining algorithms in order to provide insights into a system's structure or to create groups of artefacts with similar software measurements. This thesis investigates the applicability and suitability of data mining techniques to facilitate a the comprehension and maintainability evaluation of a software system's source code.
31

Gold, Nicolas Edwin. "Hypothesis-based concept assignment to support software maintenance." Thesis, Durham University, 2000. http://etheses.dur.ac.uk/4535/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
Software comprehension is one of the most expensive activities in software maintenance and many tools have been developed to help the maintainer reduce the time and cost of the task. Of the numerous tools and methods available, one group has received relatively little attention: those using plausible reasoning to address the concept assignment problem. This problem is defined as the process of assigning descriptive terms to their implementation in source code, the terms being nominated by a user and usually relating to computational intent. It has two major research issues: Segmentation: finding the location and extent of concepts in the source code.Concept Binding', determining which concepts are implemented at these locations. This thesis presents a new concept assignment method: Hypothesis-Based Concept Assignment (HB-CA). A framework for the activity of software comprehension is defined using elements of psychological theory and software tools. In this context, HB-CA is presented as a successful concept assignment method for COBOL II, employing a simple knowledge base (the library) to model concepts, source code indicators, and inter-concept relationships. The library and source code are used to generate hypotheses on which segmentation and concept binding are performed. A two-part evaluation is presented using a prototype implementation of HB-CA. The first part shows that HB-CA has linear computational growth in the length of program under analysis. Other characteristics addressed include HB-CA's scalability, its applicability to other languages, the contribution made by different information sources, domain independence, representational power, and guidelines for the content of the library. The first part concludes by comparing the method and implementation to cognitive requirements for software comprehension tools. The second part considers applications of HB-CA in software maintenance. Five areas for potential cost reduction are identified: business-rule ripple analysis, code ripple analysis, module selection, software reuse, and software module comprehension.
32

Calliss, Frank William. "Inter-module code analysis techniques for software maintenance." Thesis, Durham University, 1989. http://etheses.dur.ac.uk/6550/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
The research described in this thesis addresses itself to the problem of maintaining large, undocumented systems written in languages that contain a module construct. Emphasis is placed on developing techniques for analysing the code of these systems, thereby helping a maintenance programmer to understand a system. Techniques for improving the structure of a system are presented. These techniques help make the code of a system easier to understand. All the code analysis techniques described in this thesis involve reasoning with, and manipulating, graphical representations of a system. To help with these graph manipulations, a set of graph operations are developed that allow a maintenance programmer to combine graphs to create a bigger graph, and to extract subgraphs from a given graph that satisfy specified constraints. A relational database schema is developed to represent the information needed for inter-module code analysis. Pointers are given as to how this database can be used for inter-module code analysis.
33

Dobrynin, Mikhail P. "Using intelligent agents for complex software systems maintenance." Ohio University / OhioLINK, 2002. http://rave.ohiolink.edu/etdc/view?acc_num=ohiou1174588678.

Full text
APA, Harvard, Vancouver, ISO, and other styles
34

Lee, Joseph K. "Determinants of knowledge mapping adoption in software maintenance." Thesis, Edith Cowan University, Research Online, Perth, Western Australia, 2011. https://ro.ecu.edu.au/theses/392.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
Knowledge Maps (KMaps) could be ideally suited for resolving many of the traceability problems in computer software maintenance. This thesis provides an understanding of the various factors that will encourage or impede the software maintenance community to adopt KMaps as part of their process. ABC Company in Perth, Western Australia, was chosen as the research site because it is a multinational software development company with customers in many major cities around the world. Since Knowledge Mapping (KMapping) is relatively new to most software staffers, it was necessary to develop a Software Maintenance KMap prototype. A literature review of KMapping, innovation adoption/diffusion theories and the review of three KMapping case studies determined the factors used to develop the theoretical model and guided the design of the prototype. To evaluate attitudes to the adoption of the prototype, the researcher adopted the interpretive research approach, justifying his decision by using Chua’s (1986) three sets of beliefs to ‘delineate a way of seeing and researching the world’. Nineteen interviews were conducted and analysed through NVivoTM software and according to the steps in ‘Carney’s Letter of Analytical Abstraction’. Encouragement factors were found to be those that management has direct control over such as the planning for the communication and promotion of KMapping, the appointment of a management champion, the allocation of resources and time to the KMapping project and the planning for appropriate rewards and incentive programmes. As for the impeding factors, these were factors that related to what staffers thought of the quality of the results or data links in the KMaps and included such factors as the existence of inadequate or inappropriate data and poor configuration management. Adoption factors formed the basis from which the study’s explanatory framework, named the KMapping Adoption Model (KAM), was synthesised. In addition, the study makes recommendations of push and pull strategies, integrated into KAM, to managers who are planning to introduce KMapping into their organisations. The thesis concludes with a recognition of the study’s limitations and suggestions for future research.
35

Khan, Ahmad Salman, Mira Kajko-Mattsson, and Muhammad Imran Shahid. "Towards Taxonomizing of Core Software Handover Activities." KTH, Programvaru- och datorsystem, SCS, 2010. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-90217.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
Handover is an essential component in the total lifecycle management of software systems. Despite this, the software community has not agreed on its basic activities and concepts yet.  In this paper, we evaluate a preliminary version of EM3 taxonomy of handover activities. Our goal is to evaluate its credibility in an industrial setting and find feedback for creating a transition process.  The evaluation is made in the context of an in-house handover process.
QC 20120221
36

Tallis, Daniel James. "Using software visualisation to support program comprehension." Thesis, University of Exeter, 1997. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.337738.

Full text
APA, Harvard, Vancouver, ISO, and other styles
37

Hirschman, Edward. "Comprehensive forecasting of software integrity in C I systems /." This resource online, 1992. http://scholar.lib.vt.edu/theses/available/etd-04122010-083444/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
38

Chow, Kingsum. "Supporting library interface changes in open system software evolution /." Thesis, Connect to this title online; UW restricted, 1996. http://hdl.handle.net/1773/6999.

Full text
APA, Harvard, Vancouver, ISO, and other styles
39

Bundy, Gary Neal. "Assessing software quality in Ada based products with the objectives, principles, attributes framework." Thesis, This resource online, 1990. http://scholar.lib.vt.edu/theses/available/etd-06112009-063410/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
40

Martinez, Angel R. "A first step toward the creation of a software maintenance process." Master's thesis, This resource online, 1994. http://scholar.lib.vt.edu/theses/available/etd-10242009-020109/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
41

Baerisch, Stefan. "Domain-specific model-driven testing." Wiesbaden : Vieweg+Teubner Research, 2010. http://site.ebrary.com/id/10382671.

Full text
APA, Harvard, Vancouver, ISO, and other styles
42

Sazawal, Vibha. "Connecting software design principles to source code for improved ease of change /." Thesis, Connect to this title online; UW restricted, 2005. http://hdl.handle.net/1773/6975.

Full text
APA, Harvard, Vancouver, ISO, and other styles
43

Murphy, Gail C. "Lightweight structural summarization as an aid to software evolution /." Thesis, Connect to this title online; UW restricted, 1996. http://hdl.handle.net/1773/6976.

Full text
APA, Harvard, Vancouver, ISO, and other styles
44

Parkin, Peter Information Systems Technology &amp Management Australian School of Business UNSW. "An empirical investigation of maintainer behaviour occurring during software maintenance." Awarded by:University of New South Wales. School of Information Systems, Technology and Management, 2005. http://handle.unsw.edu.au/1959.4/23336.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
In recent years many tools and techniques have been proposed and even implemented which support maintenance programmers to gain an understanding of existing source code. However, studies have found that some tools are of marginal benefit and not appropriate for all maintenance tasks. This may be due to tools having been designed with little regard to the common behavioural practices that occur during software maintenance tasks because the current state of knowledge of such practices is quite limited. The aim of this study is to alleviate the above situation by performing a detailed behavioural analysis of software maintenance tasks undertaken under laboratory experiment conditions. To support this aim an experiment was conducted in which twenty-nine student subjects experienced in C programming independently undertook one of two maintenance tasks on the same C program in a university environment. The data produced from the experiment included subjects??? interactions with documents and code and their responses to program comprehension questions at the end of the task. The results indicate that maintenance task success is associated with a heightened concentration on high-level procedures that control the execution of lower level procedures. Among subjects, IT industry experience was linked to efficient comprehension of program and task documentation and the performance of more code searches. In general, code searches mainly involved searches for procedure name references. Compared to subjects undertaking the enhancement task, subjects performing the complex corrective task utilised program documentation more but also obtained a greater understanding of the elementary operations and control-flow of the program. In addition, this study illustrates a method to identify common information usage strategies from the recorded maintenance behaviour of subjects. Largely unsuccessful attempts were also made to sequentially analyse maintenance behaviour. This lack of success is possibly attributable to the as-needed comprehension approach adopted by subjects. The results of this research suggest that cost-effective maintenance of software is best supported using tools implementing facilities for feature location and visualisation of the control-flow of a program. The former facility would be most helpful to maintainers undertaking corrections, whereas the latter would particularly assist maintainers undertaking enhancements.
45

SILVEIRA, NETO Paulo Anselmo da Mota. "Assessing security in software product lines; a maintenance analysis." Universidade Federal de Pernambuco, 2017. https://repositorio.ufpe.br/handle/123456789/26968.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
Defesa ocorreu em 02/06/2017, conforme Ata de Defesa e Folha de Aprovação, apesar da folha de aprovação, no PDF, informar data de defesa 02/06/2016.
Submitted by Pedro Barros (pedro.silvabarros@ufpe.br) on 2018-09-20T21:37:22Z No. of bitstreams: 2 license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5) TESE Paulo Anselmo da Mota Silveira Neto.pdf: 3741891 bytes, checksum: 72e8a5faecf15c78927de18c6d7e0687 (MD5)
Approved for entry into archive by Alice Araujo (alice.caraujo@ufpe.br) on 2018-09-26T18:31:38Z (GMT) No. of bitstreams: 2 license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5) TESE Paulo Anselmo da Mota Silveira Neto.pdf: 3741891 bytes, checksum: 72e8a5faecf15c78927de18c6d7e0687 (MD5)
Made available in DSpace on 2018-09-26T18:31:38Z (GMT). No. of bitstreams: 2 license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5) TESE Paulo Anselmo da Mota Silveira Neto.pdf: 3741891 bytes, checksum: 72e8a5faecf15c78927de18c6d7e0687 (MD5) Previous issue date: 2017-06-02
CNPq
Different terms such as "the real-time enterprise", "software infrastructures", "service oriented architectures" and "composite software applications" have gained importance in industry. It brings us the need of information systems that support cross-application integration, cross-company transactions and end-user access through a range of channels, including the Internet. In this context, Software Product Line (SPL) Engineering has gained importance by product oriented companies, as a strategy to cope with the increasing demand of large-scale product customization, providing an effective and efficient ways of improving productivity, software quality, and time-to-market. These benefits combined with the need of most applications interact with other applications, and the internet access makes critical assets vulnerable to many threats. For most of the product oriented companies, security requirements are likely to be as varied as for any other quality. Thus, it is important to supply variants of the same product to satisfy different needs. Owing to its variability management capabilities, software product line architectures can satisfy these requirements if carefully designed the resulting system has a better chance of meeting its expectations. All these requirements should be achieved at early design phases. Otherwise the cost to design a secure architecture will increase, which could worsen in SPL context, due to its complexity. In this context, this thesis evaluates different techniques to implement security tactics for the purpose of assessing conditional compilation and aspect-oriented programming as variability mechanisms concerning maintainability by accessing code size, separation of concerns, coupling and cohesion from software architects in the context of Software Product Lines projects. Hence, to better support SPL architects during design decisions, a family of experiments using three different testbeds was performed to analyze different security techniques regarding to maintainability. We have found that for most of the techniques conditional compilation had a smaller amount of lines of code when compared with Aspect Oriented Programming. The separation of concerns attribute had the low impact on maintainability when implemented with aspect-oriented programming. The analysis also showed that detect attack techniques are less costly than resist attack techniques. The results are useful for both researchers and practitioners. On the one hand, researchers can identify useful research directions and get guidance on how the security techniques impact on maintainability. On the other hand, practitioners can benefit from this thesis by identifying the less costly variability implementation mechanism, as well as, learning concrete techniques to implement security tactics at the code level.
Diferentes termos como “empresa em tempo real”, “infraestrutura de software”, “arquiteturas orientadas a serviço” e “aplicações de software” tem ganhado importância na indústria. Isso requer sistemas de informação que suportem a integração com outras aplicações, transações entre empresas e acesso ao usuário final por uma variedade de canais, incluindo internet. Nesse contexto, Linha de Produto de Software (LPS) tem ganhado importância por empresas orientadas a produtos de software, como uma estratégia para lidar com a crescente demanda de personalização de produtos em grande escala, proporcionando uma forma eficaz e eficiente de melhorar a produtividade, a qualidade do software e o tempo de lançamento para o mercado. Esses benefícios combinados com a necessidade da maioria dos aplicativos precisarem interagir com outras aplicações e o acesso à Internet tornam essas aplicações vulneráveis a muitas ameaças. Para a maioria das empresas orientadas à produto, os requisitos de segurança podem variar assim como outro atributo de qualidade do software. Assim, é importante fornecer variantes do mesmo produto para satisfazer diferentes necessidades. Devido às suas capacidades de gerenciamento de variabilidade, arquiteturas de linha de produtos têm a capacidade de satisfazer esses requisitos, se cuidadosamente projetada o sistema resultante terá uma melhor chance de satisfazer as expectativas. Todos esses requisitos devem ser alcançados nas primeiras fases do projeto, caso contrário, o custo para projetar uma arquitetura segura aumentará, o que poderia piorar no contexto SPL, devido à sua natureza complexa. Assim, para melhor apoiar os arquitetos durante as decisões de projeto. Uma família de experimentos utilizando três SPLs distintas foram utilizadas para analisar diferentes técnicas de segurança, implementadas usando compilação condicional (CC) e programação orientada a aspectos (AOP). Essa avaliação teve como objetivo analisar as técnicas e mecanismos em relação a: tamanho, “separation of concerns”, coesão e acoplamento. O resultado nos mostra que para a maioria das técnicas quando implementadas com compilação condicional apresentavam uma menor quantidade de código quando comparadas com AOP. O atributo de “separation of concerns” teve menor impacto na manutenção quando implementado com programação orientada a aspectos. A análise também mostrou que técnicas de detecção de ataque são menos onerosas do que técnicas para resistir a ataque. Os resultados são úteis para pesquisadores e profissionais. Por um lado, os pesquisadores podem identificar direções de pesquisa e obter orientação sobre como as técnicas de segurança impactam na manutenção. Por outro lado, os profissionais podem se beneficiar deste estudo, identificando o mecanismo de implementação da variabilidade menos dispendioso, bem como aprendendo técnicas concretas para implementar táticas de segurança a nível de código.
46

Paduelli, Mateus Maida. "Manutenção de Software: problemas típicos e diretrizes para uma disciplina específica." Universidade de São Paulo, 2007. http://www.teses.usp.br/teses/disponiveis/55/55134/tde-21062007-154606/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
O volume crescente de software em funcionamento em todo tipo de organização vem despertando atenção para uma fase do ciclo de vida de software, até então considerada sempre de maneira secundária, a manutenção de software. O fato de geralmente não ser viável substituir os produtos de software de uma organização por outros baseados em tecnologias mais recentes, torna a manutenção daqueles sistemas legados um desafio adicional para a busca de técnicas e métodos para a manutenção de software. Os problemas oriundos dessa atividade precisam ser melhor compreendidos, e é justamente na definição e estudo dessas dificuldades que este trabalho se dedica. O confronto da teoria de engenharia de software com observações práticas conduz para a melhor definição de quais são os problemas típicos de manutenção de software e do que se dispõe para abordá-los. Finalmente, com base no entendimento formado sobre os problemas, neste trabalho são apresentdas diretrizes para guiar a elaboração de uma disciplina específica de manutenção de software para cursos de graduação na área de computação
The increasing volume of software being used in all types of organizations has been calling attention for a phase of the software life cycle, until now considered in a secondary way, the software maintenance. Since it is generally not possible to replace all software products used in an organization by others based on more recent technologies, the maintenance of those legacy systems becomes one more challenge for the search of techniques and methods to handle the software maintenance efficiently. The problems arising from this activity need to be better understood, and it is precisely on the definition and study of these difficulties that this work is devoted. The confrontation between the theory of software engineering and practice observations drives to the definition of typical problems of software maintenance and what exists to solve them. Besides, based on the understanding about these problems, this work also presents guidelines to drive the elaboration of a specific discipline of software maintenance for undergraduate courses in computing area
47

Tansey, Wesley. "Automated Adaptive Software Maintenance: A Methodology and Its Applications." Thesis, Virginia Tech, 2008. http://hdl.handle.net/10919/33292.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:
In modern software development, maintenance accounts for the majority of the total cost and effort in a software project. Especially burdensome are those tasks which require applying a new technology in order to adapt an application to changed requirements or a different environment. This research explores methodologies, techniques, and approaches for automating such adaptive maintenance tasks. By combining high-level specifications and generative techniques, a new methodology shapes the design of approaches to automating adaptive maintenance tasks in the application domains of high performance computing (HPC) and enterprise software. Despite the vast differences of these domains and their respective requirements, each approach is shown to be effective at alleviating their adaptive maintenance burden. This thesis proves that it is possible to effectively automate tedious and error-prone adaptive maintenance tasks in a diverse set of domains by exploiting high-level specifications to synthesize specialized low-level code. The specific contributions of this thesis are as follows: (1) a common methodology for designing automated approaches to adaptive maintenance, (2) a novel approach to automating the generation of efficient marshaling logic for HPC applications from a high-level visual model, and (3) a novel approach to automatically upgrading legacy enterprise applications to use annotation-based frameworks. The technical contributions of this thesis have been realized in two software tools for automated adaptive maintenance: MPI Serializer, a marshaling logic generator for MPI applications, and Rosemari, an inference and transformation engine for upgrading enterprise applications. This thesis is based on research papers accepted to IPDPS '08 and OOPSLA '08.
Master of Science
48

Campion, Gwenn Gray. "A performance study of General Electric's software maintenance group." Master's thesis, This resource online, 1990. http://scholar.lib.vt.edu/theses/available/etd-02022010-020038/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
49

Alhindawi, Nouh. "Supporting source code comprehension during software evolution and maintenance." Thesis, Kent State University, 2014. http://pqdtopen.proquest.com/#viewpdf?dispub=3618939.

Full text
APA, Harvard, Vancouver, ISO, and other styles
Abstract:

This dissertation addresses the problems of program comprehension to support the evolution of large-scale software systems. The research concerns how software engineers locate features and concepts along with categorizing changes within very large bodies of source code along with their versioned histories. More specifically, advanced Information Retrieval (IR) and Natural Language Processing (NLP) are utilized and enhanced to support various software engineering tasks. This research is not aimed at directly improving IR or NLP approaches; rather it is aimed at understanding how additional information can be leveraged to improve the final results. The work advances the field by investigating approaches to augment and re-document source code with different types of abstract behavior information. The hypothesis is that enriching the source code corpus with meaningful descriptive information, and integrating this orthogonal information (semantic and structural) that is extracted from source code, will improve the results of the IR methods for indexing and querying information. Moreover, adding this new information to a corpus is a form of supervision. That is, apriori knowledge is often used to direct and supervise machine-learning and IR approaches.

The main contributions of this dissertation involve improving on the results of previous work in feature location and source code querying. The dissertation demonstrates that the addition of statically derived information from source code (e.g., method stereotypes) can improve the results of IR methods applied to the problem of feature location. Further contributions include showing the effects of eliminating certain textual information (comments and function calls) from being included when performing source code indexing for feature/concept location. Moreover, the dissertation demonstrates an IR-based method of natural language topic extraction that assists developers in gaining an overview of past maintenance activities based on software repository commits.

The ultimate goal of this work is to reduce the costs, effort, and time of software maintenance by improving the results of previous work in feature location and source code querying, and by supporting a new platform for enhancing program comprehension and facilitating software engineering research.

50

Werbelow, Wayne Louis. "The application of artificial intelligence techniques to software maintenance." Thesis, Kansas State University, 1985. http://hdl.handle.net/2097/9890.

Full text
APA, Harvard, Vancouver, ISO, and other styles

To the bibliography