A Duplicated Code Refactoring Advisor

Author(s):  
Francesca Arcelli Fontana ◽  
Marco Zanoni ◽  
Francesco Zanoni
Keyword(s):  
Author(s):  
Himanshi Vashisht ◽  
Sanjay Bharadwaj ◽  
Sushma Sharma

Code refactoring is a “Process of restructuring an existing source code.”. It also helps in improving the internal structure of the code without really affecting its external behaviour”. It changes a source code in such a way that it does not alter the external behaviour yet still it improves its internal structure. It is a way to clean up code that minimizes the chances of introducing bugs. Refactoring is a change made to the internal structure of a software component to make it easier to understand and cheaper to modify, without changing the observable behaviour of that software component. Bad smells indicate that there is something wrong in the code that have to refactor. There are different tools that are available to identify and emove these bad smells. A software has two types of quality attributes- Internal and external. In this paper we will study the effect of clone refactoring on software quality attributes.


2021 ◽  
Vol 12 (4) ◽  
pp. 0-0

Code refactoring is the modification of structure with out altering its functionality. The refactoring task is critical for enhancing the qualities for non-functional attributes, such as efficiency, understandability, reusability, and flexibility. Our research aims to build an optimized model for refactoring prediction at the method level with 7 ensemble techniques and verities of SMOTE techniques. This research has considered 5 open source java projects to investigate the accuracy of our anticipated model, which forecasts refactoring applicants by the use of ensemble techniques (BAG-KNN, BAG-DT, BAG-LOGR, ADABST, EXTC, RANF, GRDBST). Data imbalance issues are handled using 3 sampling techniques (SMOTE, BLSMOTE, SVSMOTE) to improve refactoring prediction efficiency and also focused all features and significant features. The mean accuracy of the classifiers like BAG- DT is 99.53% ,RANF is 99.55%, and EXTC is 99.59. The mean accuracy of the BLSMOTE is 97.21%. The performance of classifiers and sampling techniques are shown in terms of the box-plot diagram.


2018 ◽  
Vol 7 (2.27) ◽  
pp. 161
Author(s):  
Pratiksha Sharma ◽  
Er. Arshpreet Kaur

Detection of bad smells refers to any indication in the program code of a execution that perhaps designate a issue, maintain the software and software evolution. Code Smell detection is a main challenging for software developers and their informal classification direct to the designing of various smell detection methods and software tools. It appraises 4 code smell detection tool in software like as a in Fusion, JDeodorant, PMD and Jspirit. In this research proposes a method for detection the bad code smells in software is called as code smell. Bad smell detection in software, OOSMs are used to identify the Source Code whereby Plug-in were implemented for code detection in which position of program initial code the bad smell appeared so that software refactoring can then acquire position. Classified the code smell, as a type of codes: long method, PIH, LPL, LC, SS and GOD class etc. Detection of the code smell and as a result applying the correct detection phases when require is significant to enhance the Quality of the code or program. The various tool has been proposed for detection of the code smell each one featured by particular properties. The main objective of this research work described our proposed method on using various tools for code smell detection. We find the major differences between them and dissimilar consequences we attained. The major drawback of current research work is that it focuses on one particular language which makes them restricted to one kind of programs only. These tools fail to detect the smelly code if any kind of change in environment is encountered. The base paper compares the most popular code smell detection tools on basis of various factors like accuracy, False Positive Rate etc. which gives a clear picture of functionality these tools possess. In this paper, a unique technique is designed to identify CSs. For this purpose, various object-oriented programming (OOPs)-based-metrics with their maintainability index are used. Further, code refactoring and optimization technique are applied to obtain low maintainability Index. Finally, the proposed scheme is evaluated to achieve satisfactory results. The results of the BFOA test defined that the lazy class caused framework defects in DLS, DR, and SE. However, the LPL caused no framework defects what so ever. The consequences of the connection rules test searched that the LCCS (Lazy Class Code Smell) caused structured defects in DE and DLS, which corresponded to the consequences of the BFOA test. In this research work, a proposed method is designed to verify the code smell. For this purpose, different OOPs based Software Metrics with their MI (Maintainability Index) are utilized. Further Code refactoring and optimization method id applied to attained the less maintainability index and evaluated to achieved satisfactory results.    


Author(s):  
Bassey Isong ◽  
◽  
Nosipho Dladlu ◽  
Etim Duke ◽  
Bassey Ele

2020 ◽  
Vol V (III) ◽  
pp. 174-180
Author(s):  
Naveed Jhamat ◽  
Zeeshan Arshad ◽  
Kashif Riaz

Software reusability encourages developers to heavily rely on a variety of third-party libraries and packages, resulting in dependent software products. Often ignored by developers due to the risk of breakage but dependent software have to adopt security and performance updates in their external dependencies. Existing work advocates a shift towards Automatic updation of dependent software code to implement update dependencies. Emerging automatic dependency management tools notify the availability of new updates, detect their impacts on dependent software and identify potential breakages or other vulnerabilities. However, support for automatic source code refactoring to fix potential breaking changes (to the best of my current knowledge) is missing from these tools. This paper presents a prototyping tool, DepRefactor, that assist in the programmed refactoring of software code caused by automatic updating of their dependencies. To measure the accuracy and effectiveness of DepRefactor, we test it on various students project developed in C#.


Author(s):  
A. V. Semenets ◽  
V. P. Martsenyuk

The importance of Medical Information Systems (MIS) for medical practice is emphasized. The wide usage of the Electronic Medical Records (EMR) software is displayed. The importance and alternative approaches to implementation of the MIS in the Ukraine healthcare system are discussed. The benefits of the open-source MIS usage are shown. Effectiveness of the Clinical Decision Support System (CDSS) application in the medical decision making process is emphasized.<p>The open-source MIS OpenMRS developer tools and software API are reviewed. The results of code refactoring of the dialog subsystem of the CDSS platform which is made as module for the open-source MIS OpenMRS are presented. The structure of information model of database of the CDSS dialog subsystem was updated according with MIS OpenMRS requirements. The Model-View-Controller (MVC) based approach to the CDSS dialog subsystem architecture was re-implemented with Java programming language using Spring and Hibernate frameworks. The MIS OpenMRS Encounter portlet form for the CDSS dialog subsystem integration is developed as an extension. The administrative module of the CDSS platform is recreated. The data exchanging formats and methods for interaction of OpenMRS CDSS dialog subsystem module and DecisionTree GAE service are re-implemented with help of AJAX technology via jQuery library</p>


Sign in / Sign up

Export Citation Format

Share Document