0% found this document useful (0 votes)
44 views4 pages

Research in Software Maintenance

This document summarizes research on various topics related to software maintenance. It discusses research on migrating legacy systems to new platforms, analyzing software performance during migration. It also discusses using static and dynamic analysis to identify refactoring opportunities, analyzing how software complexity impacts maintenance costs, and empirical studies of software maintenance tools. The document indicates that software maintenance remains an important challenge and that further research is still needed to improve maintenance techniques and their practical application.

Uploaded by

Tatiana Ya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views4 pages

Research in Software Maintenance

This document summarizes research on various topics related to software maintenance. It discusses research on migrating legacy systems to new platforms, analyzing software performance during migration. It also discusses using static and dynamic analysis to identify refactoring opportunities, analyzing how software complexity impacts maintenance costs, and empirical studies of software maintenance tools. The document indicates that software maintenance remains an important challenge and that further research is still needed to improve maintenance techniques and their practical application.

Uploaded by

Tatiana Ya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Technical essay: Research in Software maintenance

Tatiana Yaldaie

Topics such as migration, reengineering, system evaluation, program understanding,


maintenance, and evolution emerged quite early, but there are still hot topics in its various forms
today, especially for those papers assigned to broader categories such as maintenance and
growth. For a particular time, others such as refactoring and transformation were of interest.
Software testing also appeared to be a popular topic. (Journal of Software, 2013)

The subject of migration, which occurs regularly over the years due to the need to move existing
systems to new technology, languages and platforms, is of interest. Therefore, there are more
stable cycles in which innovations are used, and years in which technological changes occur more
often, and more important are migration activities. (Journal of Software, 2013)

Several articles were allocated to the documentation and tools. Topics such as maintenance,
evolution, system analysis, or, among others, static and dynamic analysis can be considered
traditional hot topics in the CSMR series for many years. In decreasing order, the three most
populated categories in CSMR history are:
 Development, maintenance and effort
 Evolution
 Static analysis and dynamic analysis. (Journal of Software, 2013)

According to Al-Azzoni et al. (2011), technology advancements and economic pressure pressured
many companies to consider moving their existing structures to newer platforms. Legacy
programs usually provide mission-critical resources which are essential to the business needs of
an organization. Typically these networks are very wide and highly complex with no
documentation or no. Moreover, less people can grasp those structures and manage them.
Although there are many techniques to validate the migrated system's functionality, there are still
insufficient methods in the literature to accurately determine the performance impact of software
migration. Within this paper a new approach explicitly designed to tackle performance evaluations
within software migration projects was suggested. The new approach uses simple models and
combines model validation techniques and the visualization of resource demand for performance
assessment and capacity planning.
Koschke (2003) states that software visualization is concerned with static visualization and
software artifact animation, such as source code, executable programs, and the data they
manipulate, and their attributes, such as size, complexity, or dependency. Visualization of
software techniques is commonly used in the fields of software repair, reverse engineering, and
reengineering, where generally massive. In his paper he presents the findings of the survey on
the software repair, reverse engineering and software visualisation perspectives of 82
researchers.

Kimura et al (2012) claims that software source code is refactored to reduce coupling and improve
cohesion. Previous research efforts to suggest candidates of these refactorings are focused on
static analysis, which obtains from source code relations between classes or methods. Such
methods, however, can not obtain runtime information such as loop count repetition, dynamic
dispatch and actual execution path. For this reason, previous methods may miss some
opportunities for refactoring. To address this issue, a technique for identifying candidates for
refactoring by analyzing traces of the process is proposed. Based on the suggested methodology,
a prototype method was implemented and the methodology on two software systems was tested.

A lot is written regarding the software maintenance costs. For example, Banker Rajiv (1993)
examines the effects of software complexity on the cost of Cobol maintenance projects within a
large commercial bank and the impact of software complexity on the cost of software maintenance
projects in a typical IS setting that is calculated using a previously established software
maintenance economic model. The model uses a multidimensional approach to quantify program
complexity; the model monitors certain project variables which can be managed by managers and
which are assumed to influence project maintenance costs. Computer maintenance costs in terms
of module size, process size, and branching complexity have shown to be substantially influenced
by program complexity.

A lot of research is done on software maintenance tools. Management has switched to software
development tools designed to help maintaining software as a possible solution for reliability
maintenance and quality issues. Nevertheless, such methods are still not used until implemented
by an organization. A research model is built based on a task–technology fit (TTF) model to clarify
the factors that contribute to the use of the software maintenance support tools. The model, which
discusses the complexity of the fit between the functionality of the software tool and the
maintenance task specifications, consists of a TTF model augmented with a maintenance task
model and a software maintenance tool model. (Dishaw, M. T. & Strong, D. M., 1998)

Lethbridge and Singer (n.d) in their paper on “Understanding Software Maintenance Tools: Some
Empirical Research” discussed the tools for software maintenance, where tools vary from large-
scale integrated CASE items to simple single-function commands or functions. The aim of this
research is to learn more about the work of software engineers with and the tool needs, so that
they can become more successful.

Software maintenance is still a major challenge for software companies and developers in the
21st century, as the industry needs to reduce the cost of software maintenance. The variety of
approaches to production contributes to different maintenance methods and innovations that are
regularly modernized. Conferences such as CSMR and others in the sector seek to introduce new
strategies aimed at minimizing the effort and the stress of maintenance processes, as most of
them are still performed manually. The retrospective review reveals that conventional research
areas for software maintenance are mixed with modern topics, such as SOA. In other instances,
it recommends new maintenance methods and tools, further maintenance task automation, or
adaptation of maintenance processes to recent software development approaches. (Journal of
Software, 2013)

Recently more and more reports of experience and scientific maintenance studies have appeared,
but this field still needs further data to illustrate the practical application of maintenance
techniques and their effects both in the short and long term. In conclusion, the transition of legacy
systems to more modern solutions can be strengthened and assured for the sake of greater
research effort in the field of software maintenance. (Journal of Software, 2013)

References

Al-Azzoni et al. (2011) Performance Evaluation for Software Migration. Karlsruhe, Germany.

Banker, Rajiv D., et al. "Software complexity and maintenance costs." Communications of the
ACM, vol. 36, no. 11, Nov. 1993, p. 81.
Dishaw, M. T., & Strong, D. M. (1998). Supporting software maintenance with software
engineering tools: A Computed task–technology fit analysis. Journal of Systems and Software,
44(2), 107–120. doi:10.1016/s0164-1212(98)10048-1.

Journal of Software: evolution and process. (2013)

Kimura S. & Higo, Y. & Igaki, H. & Kusumoto, S. (2012) Move code refactoring with dynamic
analysis," 2012 28th IEEE International Conference on Software Maintenance (ICSM), Trento,
2012, pp. 575-578. doi: 10.1109/ICSM.2012.6405324.

Lethbridge, T. C. & Singer, J. (n.d.) Understanding Software Maintenance Tools: Some Empirical
Research.

You might also like