Analysis of Software Refactoring Tools: Usability and Impact

Verified

Added on  2022/09/01

|9
|1978
|31
Report
AI Summary
This report analyzes a research paper focused on improving the usability of software refactoring tools to enhance the software engineering process. The paper emphasizes the role of software refactoring in reducing costs associated with software evolution and development, highlighting the importance of automated tools. The report summarizes the paper's key points, including the use of ISO 9241-11 for usability analysis and the application of Fitts' List for task allocation. It discusses the benefits of automation, the need for usability guidelines, and the evaluation of various refactoring tools like Eclipse, Condenser, and RefactorIT. The analysis also explores the limitations of current guidelines and proposes the development of usability requirements for refactoring tools. The report concludes by emphasizing the need for improved and automated facilities in software refactoring tools to bring stability and efficiency to the software engineering process. The research paper's contributions lie in providing a detailed analysis of usability factors and suggesting actionable guidelines for developing better automated refactoring support, contributing to the advancement of software engineering by making the refactoring process more efficient, less error-prone, and more user-friendly.
Document Page
Running head: SOFTWARE ENGINEERING PROCESS
Software Engineering Process
Name of the Student
Name of the University
Author note
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
1SOFTWARE ENGINEERING PROCESS
Table of Contents
1. Introduction..................................................................................................................................2
2. Discussion....................................................................................................................................2
3. Conclusion...................................................................................................................................5
References........................................................................................................................................7
Document Page
2SOFTWARE ENGINEERING PROCESS
1. Introduction
The research paper that has been put under focus under this discussion primarily
discusses on the factors based on improvement of usability for software refactoring tools. In the
aspect of Software Engineering Process, software refactoring can be defined as process that has
been designed for reducing the associated costs and time with software evolution and
development. Further automated systems have also greatly helped towards the improvements in
software engineering process. Based on supporting the purpose of achieving the purpose of
software engineering with the help of software refactoring tools, the usability of a proper set of
guidelines would be considered to be highly important. Hence, in this discussion over the paper,
the impact of using ISO 9241-11 can be defined as an efficient standard for determining over the
guidelines.
The further discussion in the paper would focus on the brief of the paper while
understanding the ways in which software refactoring would prove to be beneficial towards the
aspect of software refactoring (Mealy et al. 2020). The most common examples of software
refactoring tools include VisualWorks 7.0, Eclipse 2.0 and The Together ControlCenter 6.0. The
following discussions within the paper would highlight the importance of the discussed tools
while also understanding the importance of automation in software refactoring tools for aiding
towards software engineering process.
2. Discussion
The process of refactoring is thus defined for the internal improvements, which are made
within any software application without bringing any change within the external behaviour. In
Document Page
3SOFTWARE ENGINEERING PROCESS
the given paper of discussion, users involved within the software engineering process primarily
analyse and synthesize over the collected data based on the purpose of identification of
undesirable or inappropriate features (Kádár et al. 2016). Thus, the result over the analysis helps
them to perform tedious transformations over the undesirable features detected within the
system.
The authors have focused on the fact that in the recent years, little research has been
made over the area of usability factors of the software refactoring tools. There are many areas
over the understandability of error messages found within a software. There are many kind of
issues being faced with the existing form of refactoring tools and hence there is a growing need
for addressing the issues henceforth (Kaya et al. 2018). In order to resolve the issues being faced
with the impact of software refactoring tools, the guidelines based on usability design could be
brought in during software engineering process.
The paper in present discussion focuses on ISO 9241-11, which provides a usability
specification based on tool support based on software refactoring. In this part of discussion of the
paper, the goals of software refactoring tools have been prescribed. The context of use, users,
allocated tasks, environment and equipment used would also be discussed in details (Gokul and
Gopal 2017). Further research within the discussion puts focus on automation systems, which put
an impact over the area of software refactoring. The authors have discussed on the fact that
although automation would bring in benefits towards the system, yet there are certain challenges
that could be faced such as mistrust and over-trust over the software refactoring tools.
In the aspect of automated forms of software refactoring, Meng et al. (2015), have
focused on the implementation of a full form of automated refactoring tool known as RASE that
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
4SOFTWARE ENGINEERING PROCESS
is able to perform clone removal. The RASE is able to implement state-of-the-art refactoring
within the software engineering process. This tool further helps in creating new kind of methods;
assigning return objects and existing labels. From the understanding of RAASE, on the other
hand, it can be discussed that the above discussed tool, VisualWorks makes use of Smalltalk
code. It is a class-based object-oriented language. It is a highly interactive tool, which requests
information from user and further processes them from a “need to know” perspective.
Firmenich et al. (2019) focuses on the evaluation of usability aspects over software
refactoring through A/B testing. The authors have discussed on the fact that in the present
positions of research, usability can be defined as the one important form of quality factor based
on web application software. However, this feature is often neglected by the software engineers
during software development process (Clarke et al. 2016). From the understanding developed by
the author, it can further be discussed that Together Control 6.0 is a form of tool, which includes
many phases within the software engineering process. The refactoring tool comprises of
automated artefact synchronization, which mainly boosts the development process (Szőke et al.
2015). This is mainly employed since this tool not only includes source code development but
also boosts the software development procedure.
In contrast to the above discussion, Mealy et al. (2020) in their paper, have focused on
the guidelines supporting usability in software refactoring procedure. The authors have focused
on some guidelines, which could also be termed as guidelines for testing usability of a software.
These include: information processing, errors, consistency, user experience, goal assessment and
ease of use. In this discussion, although the authors have focused over the above discussed list of
guidelines, yet it has been discussed that for performing simpler tasks, these list of guidelines
would be deemed as insufficient since they do not consider the fact of account balancing
Document Page
5SOFTWARE ENGINEERING PROCESS
automation (Simons, Singer and White 2015). Based on the insufficiency within the guidelines,
the authors have discussed on a new guideline list known as Fitts’ List, which would perform the
work of task allocation and further automation based on the awareness of the theory of situation
awareness.
The ideas discussed from the understandings of the paper primarily emphasizes on the
growing importance of software refactoring tools and their inbuilt system of automation, which
would further aid towards the software engineering process. From the discussion over the work,
it can be discussed that the different defined tools are in line within the field of software
development (Morales et al. 2017). However, in the need of automating the working of these
tools, refactoring transformations and code-smell detection would be highly needed, which
would help in improving the usability factor of software refactoring tools.
3. Conclusion
The analysis of the given paper helped in understanding a clear view over the use of
software refactoring tools, which could further aid towards the software engineering process.
During the determining of the usability aspects of the software refactoring tools, ISO 9241-11
has been used for the purpose of specifying the activities to be performed within software
refactoring. The paper briefly describes the intention of the user, component sub-tasks and
operation environment, which form an important component for the within the software
engineering process. In an additional manner, the strengths of the paper under discussion is that
it lays importance on the automation systems, which need to be included within the refactoring
tools and the ways in which such automated tools could be beneficial for the development of
software systems. The paper comprises of another strength as it discusses on the future work that
Document Page
6SOFTWARE ENGINEERING PROCESS
needs to be performed in the area of prototype refactoring support tool based on the
implementation of a semi-automated approach. Based on using the chosen approach, the authors
have discussed the ways in which it would assist the user to maintain the accurate mental model
for a particular software, which would be refactored. This approach would also be able to assist
uses based on the removal of time-consuming, error-prone and tedious tasks. The
implementation of this approach have been based on the usability requirements of such tools.
Thus, from the briefing of the paper, it can be concluded that the use of software refactoring
tools should be improved and automated facilities should be incorporated in order to bring in
stability during the software engineering process.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
7SOFTWARE ENGINEERING PROCESS
References
Clarke, P.M., Calafat, A.L.M., Ekert, D., Ekstrom, J.J., Gornostaja, T., Jovanovic, M., Johansen,
J., Mas, A., Messnarz, R., Villar, B.N. and O’Connor, A., 2016, September. Refactoring software
development process terminology through the use of ontology. In European Conference on
Software Process Improvement (pp. 47-57). Springer, Cham.
Firmenich, S., Garrido, A., Grigera, J., Rivero, J.M. and Rossi, G., 2019. Usability improvement
through A/B testing and refactoring. Software Quality Journal, 27(1), pp.203-240.
Gokul, Y. and Gopal, M., 2017. An authoritative method using fuzzy logic to evaluate
maintainability index and utilizability of software. Advances in Modelling and Analysis B, 60(3),
pp.566-580.
Kádár, I., Hegedus, P., Ferenc, R. and Gyimóthy, T., 2016, March. A code refactoring dataset
and its assessment regarding software maintainability. In 2016 IEEE 23rd International
Conference on Software Analysis, Evolution, and Reengineering (SANER) (Vol. 1, pp. 599-603).
IEEE.
Kaya, M., Conley, S., Othman, Z.S. and Varol, A., 2018, March. Effective software refactoring
process. In 2018 6th International Symposium on Digital Forensic and Security (ISDFS) (pp. 1-
6). IEEE.
Mealy, E., Carrington, D., Strooper, P. and Wyeth, P., 2020. Improving Usability Of Software
Refactoring Tools. [online] Available at:
<https://www.researchgate.net/publication/220784651_Improving_Usability_of_Software_Refac
toring_Tools> [Accessed 28 March 2020].
Document Page
8SOFTWARE ENGINEERING PROCESS
Meng, N., Hua, L., Kim, M. and McKinley, K.S., 2015, May. Does automated refactoring
obviate systematic editing?. In 2015 IEEE/ACM 37th IEEE International Conference on
Software Engineering (Vol. 1, pp. 392-402). IEEE.
Morales, R., Soh, Z., Khomh, F., Antoniol, G. and Chicano, F., 2017. On the use of developers’
context for automatic refactoring of software anti-patterns. Journal of systems and software, 128,
pp.236-251.
Simons, C., Singer, J. and White, D.R., 2015, September. Search-based refactoring: Metrics are
not enough. In International Symposium on Search Based Software Engineering (pp. 47-61).
Springer, Cham.
Szőke, G., Nagy, C., Fülöp, L.J., Ferenc, R. and Gyimóthy, T., 2015, September. FaultBuster:
An automatic code smell refactoring toolset. In 2015 IEEE 15th International Working
Conference on Source Code Analysis and Manipulation (SCAM) (pp. 253-258). IEEE.
chevron_up_icon
1 out of 9
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]