SEARCH OF CLONES IN PROGRAM CODE
Journal: Scientific and Technical Journal of Information Technologies, Mechanics and Optics (Vol.20, No. 5)Publication Date: 2020-10-10
Authors : Osadchaya A.O. Isaev I.V.;
Page : 714-721
Keywords : clones in program code; code duplication; duplicated fragments; code clone types; refactoring; code analysis; code reuse;
Abstract
Subject of Research. The paper presents research of existing approaches and methods for the search of clones in the program code. As a result of the study, a method is developed that implements a semantic approach for the search of duplicated fragments focused on all kinds of clones. Method. The developed method is based on the analysis of the program dependency graph built from the source code files. To detect duplicate fragments, for each source code file dependency program graphs are generated with the nodes hashed on the basis of their content properties. Each pair of nodes is selected from each equivalence class, and two isomorphic subgraphs are identified that include a pair of nodes. If a pair of clones is included into another pair, it is removed from the set of the found pairs of duplicated fragments. A set of clones is generated from the pairs of duplicated fragments that share the same isomorphic subgraphs, that is, the pairs of clones are expanded. Main Results. To evaluate the efficiency of the developed method of searching for clones, the files have been compared for determination of the clone types that the system using this method detects, and the testing has been performed on the real system components. The results of the developed system have been compared to the real ones. Practical Relevance. The proposed algorithm makes it possible to automate the analysis of source files. Detecting of clones in the program code is a priority direction in code analysis, since the detection of duplicate fragments provides for the fight against unscrupulous copying of program code.
Other Latest Articles
- QUALITATIVE PHYTOCHEMICAL SCREENING OF SELECTED MEDICINAL PLANTS OF DAKSHINA KANNADA DISTRICT
- Increasing the Accuracy of the Difference Scheme Using the Richardson Extrapolation Based on the Movable Node Method
- EFFECTIVENESS OF FORWARD WALKING VERSUS BACKWARD WALKING ON CARDIOVASCULAR FITNESS IN OVERWEIGHT MIDDLE AGE PEOPLE
- DETERMINATION OF PACKED AND ENCRYPTED DATA IN EMBEDDED SOFTWARE
- Handling Outliers and Missing Data in Regression Models Using R: Simulation Examples
Last modified: 2020-10-26 20:49:12