Relating Maintenance Interventions through Information Retrieval Techniques (original) (raw)
Related papers
Maintenance and evolution: Information retrieval applications
2010
Abstract There is a growing interest in creating tools that can assist engineers in all phases of the software life cycle. This assistance requires techniques that go beyond traditional static and dynamic analysis. An example of such a technique is the application of information retrieval (IR), which exploits information found in a project's natural language. Such information can be extracted from the source code's identifiers and comments and in artifacts associated with the project, such as the requirements.
Universidade Federal de Pernambuco, 2020
With the advancement of technology in various industrial sectors, companies have been generating large amounts of data at all times. These data not only reveal a company's history, but hide relevant patterns that, if strategically explored, can give the company competitive advantages. For this issue, Data Science has stood out as a science that brings effective solutions through a wide variety of techniques that not only clean, structure and extract information from databases, but also provide useful information/indicators for decision-making processes. In the maintenance management field, the company's failure report database represents an important asset, but has been little explored regarding their existing failure patterns and relationships, which may provide important improvements to the maintenance management systems. The Association Analysis is a sophisticated Data Science technique used to identify cause-andeffect relationships among itemsets of the most diverse nature, like code numbers and words. Also, Natural Language Processing is a set of Data Science techniques that support the textual data processing to overcome all the language challenges faced when managing this type of data, and provide relevant portions of it to be explored. The process of extracting knowledge from databases is called Knowledge Discovery in Database (KDD) and this process aims, not only to extract relevant information from databases, but also to support decision-making processes. This research aims to propose and apply a KDD Process, which unifies Natural Language Processing techniques with Association Analysis to process a failure report database, and out of its results, imply maintenance management improvements. The KDD Process' output in the application section revealed the existence of relevant patterns and strong cause-effect relationships among sets of failure codes and among sets of words presented in the failure descriptions. The knowledge obtained in those files was committed to relevant improvements in different maintenance management processes, like scheduling, team assignment, spare-parts replenishment, resource distribution, FMEA/FMECA/RCM, and so on.
Information retrieval applications in software maintenance and evolution
2009
Abstract There is a growing interest in creating tools that can assist engineers in all phases of the software life cycle. This assistance requires techniques that go beyond traditional static and dynamic analysis. An example of such a technique is the application of information retrieval (IR), which exploits information found in a project's natural language. Such information can be extracted from the source code's identifiers and comments and in artifacts associated with the project, such as the requirements.
An information retrieval system to manage program maintenance reports in a data processing shop
Proceedings of the 38th annual on Southeast regional conference, 2000
Programming maintenance is a routine process in a data processing shop. Programming maintenance in most cases is performed as either a routine task or to fix a problem. In either case, care must be taken when applying programming maintenance. This is because programming maintenance has the possibility of undoing earlier programming maintenance changes. A programmer should examine earlier programming maintenance before applying new maintenaace. The programmer can also gala valuable knowledge of the overall structure of the programming by examining past programming maintenance. Many data processing shops recognize the importance of documenting programming maintenance descriptions. In fact, some data processing shops require that any programming maintenance that is applied must be documented in the program before it is installed into production. Although this is a convenient place to store the programming maintenance descriptions, there are no efficient and/or effective procedures to facilitate searching. This paper discusses an information retrieval system to assist in managing programming maintenance descriptions in a data processing shop that manages student records.
An approach to classify software maintenance requests
Software Maintenance, …, 2002
When a software system critical for an organization exhibits a problem during its operation, it is relevant to fix it in a short period of time, to avoid serious economical losses. The problem is therefore noticed to the organization having in charge the maintenance, and it should be correctly and quickly dispatched to the right maintenance team.
What’s in a name? On the automated topic naming of software maintenance activities
2010
ABSTRACT Within the field of mining software repositories, many approaches, such as topic modeling and concept location, rely on the automated application of machine learning algorithms to corpora. Unfortunately the output of these tools is often difficult to distinguish and interpret as they are often so abstract. Thus to have a meaningful discussion about the topics of software development, we must be able to devise appropriate labels for extracted topics.
A controlled experiment in assessing and estimating software maintenance tasks
Information and Software Technology, 2011
Context: Software maintenance is an important software engineering activity that has been reported to account for the majority of the software total cost. Thus, understanding the factors that influence the cost of software maintenance tasks helps maintainers to make informed decisions about their work. Objective: This paper describes a controlled experiment of student programmers performing maintenance tasks on a C++ program. The objective of the study is to assess the maintenance size, effort, and effort distributions of three different maintenance types and to describe estimation models to predict the programmer's effort spent on maintenance tasks. Method: Twenty three graduate students and a senior majoring in computer science participated in the experiment. Each student was asked to perform maintenance tasks required for one of the three task groups. The impact of different LOC metrics on maintenance effort was also evaluated by fitting the data collected into four estimation models. Results: The results indicate that corrective maintenance is much less productive than enhancive and reductive maintenance and program comprehension activities require as much as 50% of the total effort in corrective maintenance. Moreover, the best software effort model can estimate the time of 79% of the programmers with the error of or less than 30%. Conclusions: Our study suggests that the LOC added, modified, and deleted metrics are good predictors for estimating the cost of software maintenance. Effort estimation models for maintenance work may use the LOC added, modified, deleted metrics as the independent parameters instead of the simple sum of the three. Another implication is that reducing business rules of the software requires a sizable proportion of the software maintenance effort. Finally, the differences in effort distribution among the maintenance types suggest that assigning maintenance tasks properly is important to effectively and efficiently utilize human resources.
From description to code: a method to predict maintenance codes from maintainer descriptions
Maintenance, Reliability and Condition Monitoring
Aircraft maintenance crews enter the actions performed, the time required to complete the actions, and process followed to complete the action into a system of record that may be used to support future important operational decisions such as part inventory and staffing levels. Unfortunately, the actions performed by maintainers may not align with structured, predetermined codes for such actions. This discrepancy combined with an overabundance of structured codes has led to incorrect and polluted maintenance data that cannot be used in decision making. Typically, the unstructured textual fields accurately record the maintenance action, but are inaccessible to common reporting approaches. The textual fields can be used to cleanse the structured fields, thereby making more data available to support operational decision making. This paper introduces a natural language processing pipeline to predict C-17 US Air Force maintenance codes from an unstructured, shorthand text record. This res...
Automated topic naming to support analysis of software maintenance activities
2011
ABSTRACT Researchers have used topic modeling and concept location to understand the latent topics of software development artifacts. These techniques use unsupervised machine-learning algorithms to recover topics. These topics are word-lists and are difficult to distinguish and interpret. Topics are not meaningful until they have been named or interpreted. Current topic labelling approaches are manual, and do not use domain-specific knowledge to improve, contextualize, or describe results for the developers.
Panning requirement nuggets in stream of software maintenance tickets
Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2014
There is an increasing trend to outsource maintenance of large applications and application portfolios of a business to third parties, specialising in application maintenance, who are incented to deliver the best possible maintenance at the lowest cost. To do so, they need to identify repeat problem areas, which cause more maintenance grief, and seek a unified remedy to avoid the costs spent on fixing these individually. These repeat areas, in a sense, represent major, evolving areas of need, or requirements, for the customer. The information about the repeating problem is typically embedded in the unstructured text of multiple tickets, waiting to be found and addressed. Currently, repeat problems are found by manual analysis; effective solutions depend on the collective experience of the team solving them. In this paper, we propose an approach to automatically analyze problem tickets to discover groups of problems being reported in them and provide meaningful, descriptive labels to help interpret these groups. Our approach incorporates a cleansing phase to handle the high level of noise observed in problem tickets and a method to incorporate multiple text clustering techniques and merge their results in a meaningful manner. We provide detailed experiments to quantitatively and qualitatively evaluate our approach.