Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
…
89 pages
1 file
The paper discusses the importance of software refactoring in the maintenance phase of software development, particularly focusing on C programming language. It highlights the challenges in creating effective refactoring tools that facilitate code comprehension and modification without altering the software's external behavior. The document presents various approaches to refactoring, existing tools, and emphasizes the need for specific analyzers due to the unique grammar of different programming languages.
Proceedings of the 2011 International Conference on Software Engineering Research and Practice, 2011
In this paper a new maintenance scenario is outlined based on refactoring techniques. Specifically, refactoring techniques are classified according to two opposed program properties: understanding and efficiency. Understanding oriented refactoring disassembles the program preparing it for maintenance, whereas those oriented to efficiency rearrange it for running. Also, we show the challenges raised from this new perspective on maintenance. At present, this ongoing research is being carried out in the functional setting.
Pro PHP Refactoring, 2010
The drive for this report is to inaugurate the innumerable techniques espoused by the refactoring tools in coding development. The software product is a very complex and timeconsuming process of development. Difficulty understanding and maintaining poorly designed software systems Software maintenance can take up to 50% of total development costs for software production. As a modus operando, the refactoring tools purpose ultimately to amend the basis codes into an easier and more comprehensible way. Moreover, refactoring succors to check the trifle of the coding procedure. This is apparent through having deliberation on the program catalog, precision and the use of the deconstruct trees. Refactoring tools are convenient for innumerable observes done by the human beings. Software refactoring has a direct impact on reducing the cost of software maintenance by changing the internal structure of the code without changing its external behavior. So the time taken to process as well as doing a critical analysis of complex codes is reduced. This report proposes to have a precarious scrutiny on the various use including the pluses of using refactoring tools.
Advances in Science, Technology and Engineering Systems Journal, 2018
The drive for this report is to inaugurate the innumerable techniques espoused by the refactoring tools in coding development. The software product is a very complex and timeconsuming process of development. Difficulty understanding and maintaining poorly designed software systems Software maintenance can take up to 50% of total development costs for software production. As a modus operando, the refactoring tools purpose ultimately to amend the basis codes into an easier and more comprehensible way. Moreover, refactoring succors to check the trifle of the coding procedure. This is apparent through having deliberation on the program catalog, precision and the use of the deconstruct trees. Refactoring tools are convenient for innumerable observes done by the human beings. Software refactoring has a direct impact on reducing the cost of software maintenance by changing the internal structure of the code without changing its external behavior. So the time taken to process as well as doing a critical analysis of complex codes is reduced. This report proposes to have a precarious scrutiny on the various use including the pluses of using refactoring tools.
IEEE Access
The expenses associated with software maintenance and evolution constitute a significant portion, surpassing more than 80% of the overall costs involved in software development. Refactoring, a widely embraced technique, plays a crucial role in streamlining and minimizing maintenance activities and expenses. However, the effect of refactoring techniques on quality attributes presents inconsistent and conflicting findings, making it challenging for software developers to enhance software quality effectively. Additionally, the absence of a comprehensive framework further complicates the decision-making process for developers when selecting appropriate refactoring techniques aligned with specific design objectives. In light of these considerations, this research aims to introduce a novel framework for classifying refactoring techniques based on their measurable influence on internal quality attributes. Initially, an exploratory study was conducted to identify commonly employed refactoring techniques, followed by an experimental analysis involving five case studies to evaluate the effects of these techniques on internal quality attributes. Subsequently, the framework was constructed based on the outcomes of the exploratory and experimental studies, further reinforced by a multi-case analysis. Comprising three key components, namely the methodology for applying refactoring techniques, the Quality Model for Object-Oriented Design (QMOOD), and the classification scheme for refactoring techniques, this proposed framework serves as a valuable guideline for developers. By comprehending the effect of each refactoring technique on internal quality attributes, developers can make informed decisions and select suitable techniques to enhance specific aspects of their software. Consequently, this framework optimizes developers' time and effort by minimizing the need to weigh the pros and cons of different refactoring techniques, potentially leading to a reduction in maintenance activities and associated costs.
Software Engineering, IEEE Transactions …, 2005
This paper provides an extensive overview of existing research in the field of software refactoring. This research is compared and discussed based on a number of different criteria: the refactoring activities that are supported; the specific techniques and formalisms that are used for supporting these activities; the types of software artifacts that are being refactored; the important issues that need to be taken into account when building refactoring tool support; and the effect of refactoring on the software process. A running example is used throughout the paper to explain and illustrate the main concepts.
2013
Quality software are robust, reliable and easy to maintain, and therefore reduces the cost of software maintenance. But as software systems undergo modifications, improvements and enhancements to cope with evolving requirements, quality of software can be decreased. Refactoring is one of the methods which have been applied to improve software quality. Supporters claim that it helps increasing the quality of the code, making it easier to understand, modify and maintain. However, there is only limited empirical evidence of such assumption. Therefore it is sometimes difficult to judge whether the refactoring in question should be applied or not without knowing the effect accurately. The purpose of this study is to validate/invalidate the claims that refactoring improves software quality. Experimental research approach is used to achieve the main objectives of this study which is to quantitatively measure the impact of refactoring on code quality improvement in software maintenance. Ten refactoring techniques were evaluated through the experiment in order to access Resource Utilization, Changeability and Analysability which are ISO sub Quality factors. The result for analysability shows a slight advantage for refactoring, but the assumption of increased analysability does not answered from the analysability test. Concerning changeability, both the result and hypothesis test shows disadvantage for refactored code. The analysis of resource utilization also provides hints on disadvantages of the refactoring technique like increase resource consumption in terms of obtained disk space by source files.
Proceedings of the 16th European Conference on Software Maintenance and Reengineering, 2012
This research line proposes the classification of refactoring techniques according to two opposite program properties: understanding and efficiency, being the former useful for maintenance while the latter for executing. Understanding-oriented refactoring and efficiency-oriented refactoring are considered the inverses of each other. Thus, through the application of the first sort of refactoring, understanding can be improved but efficiency can be affected. On the other hand, by applying the second sort of refactoring, efficiency can be improved but understanding can be damaged. So, the challenge to be faced here is to transform a software artifact through the application of a sequence of understanding-oriented refactoring, and to execute maintenance with the most appropriate version obtained. After that, we plan to restore its original efficiency by the application of the opposite sequence of refactorings, i.e. efficiency-oriented refactoring. In this way, a new maintenance scenario is outlined. Up to now, this ongoing research is being carried out in the functional setting.
2014
This report documents the program and the outcomes of Dagstuhl Seminar 14211 on “The Future of Refactoring.” Over the past decade, refactoring has become firmly established as an essential part of industrial software development. At the same time, academic interest in refactoring has grown at a fast pace, resulting in a large body of literature on many dierent aspects of refactoring. The aim of this seminar was to provide a forum for refactoring researchers and practitioners to discuss what has been achieved, get to know each others’ work, and plan future collaboration. This report presents abstracts of the participants’ talks and summaries of breakout sessions, and introduces some joint projects that were started as a result of the seminar. Seminar May 18‐23, 2014 ‐ http://www.dagstuhl.de/14211 1998 ACM Subject Classification D.2.7 Restructuring, reverse engineering, and reengineering
Electronic Notes in …, 2003
In this paper we provide an extensive overview of existing research in the field of software restructuring and refactoring, from a formal as well as a practical point of view. Next, we propose an extensive list of open questions that indicate future research directions, and we provide some partial answers to these questions.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
Journal of Information and Communication Technology, 2021
Reporte Técnico. URL: ftp://prog. vub. ac. be/ …, 2002
Proceedings IEEE International Conference on Software Maintenance. ICSM 2001
ACS/IEEE International Conference on Computer Systems and Applications, 2006
Proceedings First International Workshop on …, 2003
… of the 2003 ACM SIGPLAN workshop …, 2003