{"id":7950,"date":"2021-08-31T19:00:49","date_gmt":"2021-08-31T16:00:49","guid":{"rendered":"http:\/\/journals.khnu.km.ua\/vestnik\/?p=7950"},"modified":"2021-09-29T14:08:21","modified_gmt":"2021-09-29T11:08:21","slug":"proczes-vyyavlennya-blokiv-z-povtoramy-i-nadlyshkovistyu-pry-vykorystanni-movno-nezalezhnogo-inkrementnogo-detektoru","status":"publish","type":"post","link":"https:\/\/journals.khnu.km.ua\/vestnik\/?p=7950","title":{"rendered":"\u041f\u0440\u043e\u0446\u0435\u0441 \u0432\u0438\u044f\u0432\u043b\u0435\u043d\u043d\u044f \u0431\u043b\u043e\u043a\u0456\u0432 \u0437 \u043f\u043e\u0432\u0442\u043e\u0440\u0430\u043c\u0438 \u0456 \u043d\u0430\u0434\u043b\u0438\u0448\u043a\u043e\u0432\u0456\u0441\u0442\u044e \u043f\u0440\u0438 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u0456 \u043c\u043e\u0432\u043d\u043e-\u043d\u0435\u0437\u0430\u043b\u0435\u0436\u043d\u043e\u0433\u043e \u0456\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0443"},"content":{"rendered":"<p><!--more--><\/p>\n<p style=\"text-align: center;\">\u041f\u0420\u041e\u0426\u0415\u0421 \u0412\u0418\u042f\u0412\u041b\u0415\u041d\u041d\u042f \u0411\u041b\u041e\u041a\u0406\u0412 \u0417 \u041f\u041e\u0412\u0422\u041e\u0420\u0410\u041c\u0418 \u0406 \u041d\u0410\u0414\u041b\u0418\u0428\u041a\u041e\u0412\u0406\u0421\u0422\u042e \u041f\u0420\u0418 \u0412\u0418\u041a\u041e\u0420\u0418\u0421\u0422\u0410\u041d\u041d\u0406 \u041c\u041e\u0412\u041d\u041e-\u041d\u0415\u0417\u0410\u041b\u0415\u0416\u041d\u041e\u0413\u041e \u0406\u041d\u041a\u0420\u0415\u041c\u0415\u041d\u0422\u041d\u041e\u0413\u041e \u0414\u0415\u0422\u0415\u041a\u0422\u041e\u0420\u0423<br \/>\nTHE PROCESS OF DETECTING BLOCKS WITH REPETITIONS AND EXCESS BUILDING USING A LANGUAGE-INDEPENDENT INCREASE DETECTOR<\/p>\n<p><strong>\u0421\u0442\u043e\u0440\u0456\u043d\u043a\u0438: 39-45. \u041d\u043e\u043c\u0435\u0440: \u21163, 2021 (297)<\/strong> <a href=\"http:\/\/journals.khnu.km.ua\/vestnik\/wp-content\/uploads\/2021\/08\/9-2.pdf\"> <img loading=\"lazy\" class=\"size-full wp-image-69 alignnone\" src=\"http:\/\/journals.khnu.km.ua\/vestnik\/wp-content\/uploads\/2021\/01\/pdf.png\" alt=\"\" width=\"76\" height=\"32\" \/><\/a><br \/>\n<strong>\u0410\u0432\u0442\u043e\u0440\u0438:<\/strong><br \/>\n\u041d.\u0406. \u041f\u0420\u0410\u0412\u041e\u0420\u0421\u042c\u041a\u0410, \u041e.\u0412. \u0411\u0410\u0420\u041c\u0410\u041a, \u0414.\u041c. \u041c\u0415\u0414\u0417\u0410\u0422\u0418\u0419<br \/>\n\u0425\u043c\u0435\u043b\u044c\u043d\u0438\u0446\u044c\u043a\u0438\u0439 \u043d\u0430\u0446\u0456\u043e\u043d\u0430\u043b\u044c\u043d\u0438\u0439 \u0443\u043d\u0456\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442<br \/>\n\u0422.\u0412. \u0428\u0415\u0421\u0422\u0410\u041a\u0415\u0412\u0418\u0427<br \/>\n\u041b\u044c\u0432\u0456\u0432\u0441\u044c\u043a\u0430 \u043f\u043e\u043b\u0456\u0442\u0435\u0445\u043d\u0456\u043a\u0430<br \/>\nN.I. PRAVORSKA, \u041e.\u0412. BARMAC, D.M. MEDZATIY<br \/>\nKhmelnytsky National University<br \/>\nT.V. SHESTAKEVYCH<br \/>\nLviv Polytechnic<br \/>\n<strong>DOI:<\/strong>\u00a0<a href=\"https:\/\/www.doi.org\/10.31891\/2307-5732-2021-297-3-39-45\">https:\/\/www.doi.org\/10.31891\/2307-5732-2021-297-3-39-45<\/a><br \/>\n<strong>\u041d\u0430\u0434\u0456\u0439\u0448\u043b\u0430 \/ Paper received :\u00a0 <\/strong>13.05.2021 \u0440<br \/>\n<strong>\u041d\u0430\u0434\u0440\u0443\u043a\u043e\u0432\u0430\u043d\u0430 \/ Paper Printed : <\/strong>30.06.2021 \u0440<\/p>\n<p style=\"text-align: center;\"><strong>\u0410\u043d\u043e\u0442\u0430\u0446\u0456\u044f \u043c\u043e\u0432\u043e\u044e \u043e\u0440\u0438\u0433\u0456\u043d\u0430\u043b\u0443<\/strong><\/p>\n<p>\u0414\u043b\u044f \u0443\u043d\u0438\u043a\u043d\u0435\u043d\u043d\u044f \u043f\u043e\u0440\u0443\u0448\u0435\u043d\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0443\u0432\u0430\u043d\u043d\u044f \u0440\u043e\u0437\u0440\u043e\u0431\u043b\u0435\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043d\u043e\u0433\u043e \u0437\u0430\u0431\u0435\u0437\u043f\u0435\u0447\u0435\u043d\u043d\u044f, \u0441\u043f\u0440\u0438\u0447\u0438\u043d\u0435\u043d\u043e\u0433\u043e \u043f\u043e\u043c\u0438\u043b\u043a\u0430\u043c\u0438, \u043d\u0430\u0432\u0456\u0442\u044c \u043a\u043e\u043b\u0438 \u0440\u043e\u0437\u0440\u043e\u0431\u043a\u043e\u044e \u0437\u0430\u0439\u043c\u0430\u044e\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0444\u0435\u0441\u0456\u043e\u043d\u0430\u043b\u0438, \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0454\u0442\u044c\u0441\u044f \u0440\u044f\u0434 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u043e\u0432\u0430\u043d\u0438\u0445 \u0456\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0456\u0432, \u044f\u043a\u0456 \u0434\u0430\u044e\u0442\u044c \u0437\u043c\u043e\u0433\u0443 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0438 \u043e\u0446\u0456\u043d\u044e\u0432\u0430\u043d\u043d\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0443. \u0414\u043b\u044f \u0432\u0438\u044f\u0432\u043b\u0435\u043d\u043d\u044f \u043f\u043e\u043c\u0438\u043b\u043e\u043a, \u044f\u043a\u0456 \u0437\u2019\u044f\u0432\u043b\u044f\u044e\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0434\u0443\u0431\u043b\u044e\u0432\u0430\u043d\u043d\u044f \u0431\u043b\u043e\u043a\u0456\u0432 \u0432\u0438\u043a\u043e\u043d\u0443\u0432\u0430\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0443, \u0437\u0430\u0437\u0432\u0438\u0447\u0430\u0439 \u0437\u0430\u0441\u0442\u043e\u0441\u043e\u0432\u0443\u044e\u0442\u044c \u0440\u0456\u0437\u043d\u043e\u043c\u0430\u043d\u0456\u0442\u043d\u0456 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0438. \u0412\u0430\u0436\u043b\u0438\u0432\u0456\u0441\u0442\u044c \u043f\u0440\u0438 \u0440\u043e\u0437\u0440\u043e\u0431\u0446\u0456 \u043f\u043e\u0434\u0456\u0431\u043d\u0438\u0445 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0456\u0432 \u043f\u043e\u043b\u044f\u0433\u0430\u0454 \u0432 \u0442\u043e\u043c\u0443, \u0449\u043e\u0431 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043d\u0435 \u0431\u0443\u0432 \u0437\u0430\u043b\u0435\u0436\u043d\u0438\u043c \u0432\u0456\u0434 \u043c\u043e\u0432\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0443\u0432\u0430\u043d\u043d\u044f \u0442\u0430 \u043c\u0430\u0432 \u043d\u0435\u0441\u043a\u043b\u0430\u0434\u043d\u0438\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0437\u043d\u0430\u0445\u043e\u0434\u0436\u0435\u043d\u043d\u044f \u043a\u043b\u043e\u043d\u043e\u0432\u0430\u043d\u0438\u0445 \u0431\u043b\u043e\u043a\u0456\u0432 \u043a\u043e\u0434\u0443. \u0412 \u043e\u0441\u043d\u043e\u0432\u0456 \u043f\u0456\u0434\u0445\u043e\u0434\u0443 \u043c\u043e\u0432\u043d\u043e-\u043d\u0435\u0437\u0430\u043b\u0435\u0436\u043d\u043e\u0433\u043e \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u0456\u0432 \u043f\u043e\u043a\u043b\u0430\u0434\u0435\u043d\u043e \u043c\u0435\u0442\u043e\u0434, \u044f\u043a\u0438\u0439 \u0431\u0430\u0437\u0443\u0454\u0442\u044c\u0441\u044f \u043d\u0430 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u0456 \u0456\u043d\u0434\u0435\u043a\u0441\u0443 \u043a\u043b\u043e\u043d\u0443. \u0412\u0456\u043d \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0454 \u0441\u043e\u0431\u043e\u044e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0443 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u0430\u043d\u0438\u0445, \u044f\u043a\u0430 \u043d\u0430\u0433\u0430\u0434\u0443\u0454 \u0442\u0438\u043f\u043e\u0432\u0438\u0439 \u0456\u043d\u0432\u0435\u0440\u0442\u043e\u0432\u0430\u043d\u0438\u0439 \u0456\u043d\u0434\u0435\u043a\u0441. \u0417\u0430 \u043e\u0441\u043d\u043e\u0432\u0443 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u0456\u0434\u0445\u043e\u0434\u0443 \u0431\u0435\u0440\u0435\u0442\u044c\u0441\u044f \u0442\u0435\u043a\u0441\u0442, \u0442\u043e\u0431\u0442\u043e \u043c\u0435\u0442\u043e\u0434 \u0441\u0442\u0430\u0454 \u0431\u0430\u0437\u043e\u044e \u0434\u043b\u044f \u0434\u043e\u0441\u043b\u0456\u0434\u0436\u0435\u043d\u044c \u043d\u0435\u0437\u0430\u043b\u0435\u0436\u043d\u0438\u0445 \u0432\u0456\u0434 \u043c\u043e\u0432\u0438.<br \/>\n\u041a\u043b\u044e\u0447\u043e\u0432\u0456 \u0441\u043b\u043e\u0432\u0430: \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043d\u0438\u0439 \u043a\u043e\u0434, \u043c\u043e\u0432\u043d\u043e-\u043d\u0435\u0437\u0430\u043b\u0435\u0436\u043d\u0438\u0439 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440, \u0456\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u043d\u0438\u0439 \u043f\u0456\u0434\u0445\u0456\u0434, \u0440\u043e\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441, \u0456\u043d\u0434\u0435\u043a\u0441 \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u043d\u044f, \u0456\u043d\u0434\u0435\u043a\u0441 \u043a\u043b\u043e\u043d\u0443, \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0456\u044f, \u0445\u0435\u0448-\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f, \u043a\u043e\u043c\u0456\u0442, \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0456\u0439.<\/p>\n<p style=\"text-align: center;\"><strong>\u0420\u043e\u0437\u0448\u0438\u0440\u0435\u043d\u0430 \u0430\u043d\u043e\u0442\u0430\u0446\u0456\u044f \u0430\u043d\u0433\u043b\u0456\u0439\u0441\u044c\u043a\u043e\u044e \u043c\u043e\u0432\u043e\u044e<\/strong><\/p>\n<p>To avoid malfunctions of the developed software caused by errors, even when developed by professionals, a number of automated tools are used, which allow to evaluate the software code. A variety of detectors are commonly used to detect errors that occur due to duplicate blocks of executable code. The importance of developing such detectors is that the product is not dependent on the programming language and has a simple algorithm for finding cloned blocks of code. The approach of the language-independent repetition detector is based on a method based on the use of the clone index. It is a global data structure that resembles a typical inverted index. This approach is based on the text, ie the method becomes the basis for research independent of language. In recent years, additional methods have become increasingly popular, which analyze the source and executable code at a smaller level, and there are attempts to avoid unnecessary recalculations, by transferring information between versions.<br \/>\nReviewing the research presented in the works of scientists dealing with this problem, it was decided to propose an approach to improve methods for detecting repetitions and redundancy of program code based on language-independent incremental repetition detector (MNIDP). Most additional research is based on tree-like and graphical methods, ie they are strictly dependent on the programming language. The solution in the MNIDP campaign is to take the text as a basis, ie the method becomes the basis for research independent of language. This technique is not strictly language-independent, but due to the fact that the tokenization stage will be included, with the help of minor adjustments the desired result has been achieved. This provides a detailed analysis of the internal composition (namely, elements) of the detector and explanations of the work at different stages of the detection process.<br \/>\nKeywords: program code, language-independent detector, incremental approach, workflow, iteration index, clone index, hash function, hash value, commit, repository.<\/p>\n<p style=\"text-align: center;\"><strong>References<\/strong><\/p>\n<ol>\n<li>Nils G\u00f6de and Rainer Koschke. Incremental clone detection. In 2009 13th European Conference on Software Maintenance and Reengineering, pages 219\u2013228. IEEE, 2009.<\/li>\n<li>Tung Thanh Nguyen, Hoan Anh Nguyen, Jafar M Al-Kofahi, Nam H Pham, and Tien N Nguyen. Scalable and incremental clone detection for evolving software. In 2009 IEEE International Conference on Software Maintenance, pages 491\u2013494. IEEE, 2009.<\/li>\n<li>Yoshiki Higo, Ueda Yasushi, Minoru Nishino, and Shinji Kusumoto. Incremental code clone detection: A pdg-based approach. In 2011 18th Working Conference on Reverse Engineering, pages 3\u201312. IEEE, 2011.<\/li>\n<li>Benjamin Hummel, Elmar Juergens, Lars Heinemann, and Michael Conradt. Indexbased code clone detection: incremental, distributed, scalable. In 2010 IEEE International Conference on Software Maintenance, pages 1\u20139. IEEE, 2010.<\/li>\n<li>Luca Pascarella, Magiel Bruntink, and Alberto Bacchelli. Classifying code comments in java software systems. Empirical Software Engineering, 24(3):1499\u20131537, 2019.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[51],"tags":[],"_links":{"self":[{"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=\/wp\/v2\/posts\/7950"}],"collection":[{"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7950"}],"version-history":[{"count":6,"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=\/wp\/v2\/posts\/7950\/revisions"}],"predecessor-version":[{"id":8281,"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=\/wp\/v2\/posts\/7950\/revisions\/8281"}],"wp:attachment":[{"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7950"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7950"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/journals.khnu.km.ua\/vestnik\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}