井上, 克郎 ; 神谷, 年洋 ; 楠本, 真二 コンピュータソフトウェア. 18(5) P.529-P

Σχετικά έγγραφα
GPU. CUDA GPU GeForce GTX 580 GPU 2.67GHz Intel Core 2 Duo CPU E7300 CUDA. Parallelizing the Number Partitioning Problem for GPUs

ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems

Re-Pair n. Re-Pair. Re-Pair. Re-Pair. Re-Pair. (Re-Merge) Re-Merge. Sekine [4, 5, 8] (highly repetitive text) [2] Re-Pair. Blocked-Repair-VF [7]

Προγραμματισμός ΙΙ Ενότητα 5:

Understanding Business System through Software Clustering Using I/O Instructions for External Systems

Ερευνητική+Ομάδα+Τεχνολογιών+ Διαδικτύου+

Probabilistic Approach to Robust Optimization

IPSJ SIG Technical Report Vol.2014-CE-127 No /12/6 CS Activity 1,a) CS Computer Science Activity Activity Actvity Activity Dining Eight-He

Kenta OKU and Fumio HATTORI

3: A convolution-pooling layer in PS-CNN 1: Partially Shared Deep Neural Network 2.2 Partially Shared Convolutional Neural Network 2: A hidden layer o

Προηγµένες Τεχνικές Προγραµµατισµού

, Evaluation of a library against injection attacks

{takasu, Conditional Random Field

Maxima SCORM. Algebraic Manipulations and Visualizing Graphs in SCORM contents by Maxima and Mashup Approach. Jia Yunpeng, 1 Takayuki Nagai, 2, 1

Wiki. Wiki. Analysis of user activity of closed Wiki used by small groups

Toward a SPARQL Query Execution Mechanism using Dynamic Mapping Adaptation -A Preliminary Report- Takuya Adachi 1 Naoki Fukuta 2.

Buried Markov Model Pairwise

Retrieval of Seismic Data Recorded on Open-reel-type Magnetic Tapes (MT) by Using Existing Devices

[1] DNA ATM [2] c 2013 Information Processing Society of Japan. Gait motion descriptors. Osaka University 2. Drexel University a)

Web. Web p OutDegree(p) log 7 1/OutDegree(p) A New Difinition of Subjective Distance between Web Pages

Anomaly Detection with Neighborhood Preservation Principle

Προγραμματισμός ΙΙ. Ενότητα 8: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 1 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 4: Διαχείριση μνήμης. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

GPGPU. Grover. On Large Scale Simulation of Grover s Algorithm by Using GPGPU

Προγραμματισμός ΙΙ. Ενότητα 2: Διαχείριση μνήμης. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 7: Βιβλιοθήκες - Μέρος 2. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Automatic extraction of bibliography with machine learning

ER-Tree (Extended R*-Tree)

Κεφάλαιο 1 Αφαιρετικότητα και Τεχνολογία Υπολογιστών (Computer Abstractions and Technology)

Reading Order Detection for Text Layout Excluded by Image

An Automatic Modulation Classifier using a Frequency Discriminator for Intelligent Software Defined Radio

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ ΓΙΑ ΤΟ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ Εισηγητής: Νίκος Πλόσκας Επίκουρος Καθηγητής ΤΜΠΤ

A Method for Creating Shortcut Links by Considering Popularity of Contents in Structured P2P Networks

ΒΙΟΓΡΑΦΙΚΟ ΣΗΜΕΙΩΜΑ ΣΤΥΛΙΑΝΗΣ Κ. ΣΟΦΙΑΝΟΠΟΥΛΟΥ Αναπληρώτρια Καθηγήτρια. Τµήµα Τεχνολογίας & Συστηµάτων Παραγωγής.

ΕΠΛ202:'Η'επιστημονική'δημοσίευση

Προγραμματισμός ΙΙ. Ενότητα 1: Βασικοί τύποι δεδομένων. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

CSS. DEIM Forum 2018 G2-4 CSS HTML/XML CSS CSS DTD

No. 7 Modular Machine Tool & Automatic Manufacturing Technique. Jul TH166 TG659 A

Περιβάλλον Παράλληλου Προγραμματισμού

Βιογραφικό σημείωμα Δρ. Ψύχας Ηρακλής - Δημήτριος


Προγραμματισμός ΙΙ Ενότητα 4:

Security and Privacy: From Empiricism to Interdisciplinarity. Dimitris Gritzalis

Προγραμματισμός ΙΙ. Ενότητα 1: Προαπαιτούμενα. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής

Web 論 文. Performance Evaluation and Renewal of Department s Official Web Site. Akira TAKAHASHI and Kenji KAMIMURA

Quick algorithm f or computing core attribute

Προγραμματισμός ΙΙ. Ενότητα 7: Βιβλιοθήκες - Μέρος 1. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΒΙΟΓΡΑΦΙΚΟ ΣΗΜΕΙΩΜΑ ΛΕΩΝΙΔΑΣ Α. ΣΠΥΡΟΥ Διδακτορικό σε Υπολογιστική Εμβιομηχανική, Τμήμα Μηχανολόγων Μηχανικών, Πανεπιστήμιο Θεσσαλίας.

n 1 n 3 choice node (shelf) choice node (rough group) choice node (representative candidate)

FX10 SIMD SIMD. [3] Dekker [4] IEEE754. a.lo. (SpMV Sparse matrix and vector product) IEEE754 IEEE754 [5] Double-Double Knuth FMA FMA FX10 FMA SIMD

ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ ΠΜΣ «ΠΛΗΡΟΦΟΡΙΚΗ & ΕΠΙΚΟΙΝΩΝΙΕΣ» OSWINDS RESEARCH GROUP

[4] 1.2 [5] Bayesian Approach min-max min-max [6] UCB(Upper Confidence Bound ) UCT [7] [1] ( ) Amazons[8] Lines of Action(LOA)[4] Winands [4] 1


Αυτόματη Ανακατασκευή Θραυσμένων Αντικειμένων

Προγραμματισμός ΙΙ. Ενότητα 6: Βιβλιοθήκες - Μέρος 1. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΑΣΟΛΟΓΙΑΣ ΚΑΙ ΦΥΣΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΤΟΜΕΑΣ ΣΧΕ ΙΑΣΜΟΥ ΚΑΙ ΑΝΑΠΤΥΞΗΣ ΦΥΣΙΚΩΝ ΠΟΡΩΝ

Τεχνολογίες Υλοποίησης Αλγορίθµων

Speeding up the Detection of Scale-Space Extrema in SIFT Based on the Complex First Order System

Μεθοδολογία Εκπαιδευτικής Έρευνας

Προγραμματισμός ΙΙ. Ενότητα 9: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 2 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ ΠΜΣ «ΠΛΗΡΟΦΟΡΙΚΗ & ΕΠΙΚΟΙΝΩΝΙΕς» OSWINDS RESEARCH GROUP

Τεχνολογίες Υλοποίησης Αλγορίθµων

ΜΟΝΤΕΛΑ ΛΗΨΗΣ ΑΠΟΦΑΣΕΩΝ

Θέµατα ιπλωµατικών Εργασιών (Ακαδηµαϊκό έτος )

Τεχνολογίες Υλοποίησης Αλγορίθµων

EM Baum-Welch. Step by Step the Baum-Welch Algorithm and its Application 2. HMM Baum-Welch. Baum-Welch. Baum-Welch Baum-Welch.

Optimization, PSO) DE [1, 2, 3, 4] PSO [5, 6, 7, 8, 9, 10, 11] (P)

BCI On Feature Extraction from Multi-Channel Brain Waves Used for Brain Computer Interface

Ηλεκτρονικές Πηγές: πεπραγμένα Άννα Φράγκου Μερσίνη Κακούρη Παναγιώτης Γεωργίου Μαρία Νταουντάκη. και. Πόπη Φλώρου Ελευθερία Κοσέογλου

Newman Modularity Newman [4], [5] Newman Q Q Q greedy algorithm[6] Newman Newman Q 1 Tabu Search[7] Newman Newman Newman Q Newman 1 2 Newman 3

SocialDict. A reading support tool with prediction capability and its extension to readability measurement

Detection and Recognition of Traffic Signal Using Machine Learning

Προγραμματισμός ΙΙ Ενότητα 5:

DECO DECoration Ontology

MIDI [8] MIDI. [9] Hsu [1], [2] [10] Salamon [11] [5] Song [6] Sony, Minato, Tokyo , Japan a) b)

Δομζσ επιλογήσ ςτο SCRATCH

443020,,., 61, / : +7 (846)

ΣΤΟΧΟΙ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΠΕΡΙΕΧΟΜΕΝΟ

Προγραμματισμός ΙΙ. Ενότητα 9: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 1 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Nov Journal of Zhengzhou University Engineering Science Vol. 36 No FCM. A doi /j. issn

IT & Networking DEVELOPING Essential Python 3. Κωδικός Σεμιναρίου / Code

Τοποθέτηση τοπωνυµίων και άλλων στοιχείων ονοµατολογίας στους χάρτες

C++ 78 (478) A Parallel Skeleton Library in C++ with Optimization

Vol. 31,No JOURNAL OF CHINA UNIVERSITY OF SCIENCE AND TECHNOLOGY Feb

Μελέτη των Δυσκολιών των Φοιτητών για την Έννοια του «Αντικειμένου» στον Αντικειμενοστραφή Προγραμματισμό

ΠΡΟΓΡΑΜΜΑ Ε.Π.Ε.Α.Ε.Κ «ΑΡΧΙΜΗΔΗΣ ΙΙ: ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΑ ΤΕΙ (Ε.Ε.Ο.Τ.)»

Η διδασκαλία της θεωρίας της εξέλιξης στη δευτεροβάθμια εκπαίδευση

(Υπογραϕή) (Υπογραϕή) (Υπογραϕή)

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΠΑΤΗΣΙΩΝ ΑΘΗΝΑ Ε - ΜΑΙL : mkap@aueb.gr ΤΗΛ: , ΚΑΠΕΤΗΣ ΧΡΥΣΟΣΤΟΜΟΣ. Βιογραφικό Σημείωμα

Journal of the Graduate School of the Chinese Academy of Sciences. Application Dependent Software. Standard Application Components.

Στόχοι της Πτυχιακής

Development of a Seismic Data Analysis System for a Short-term Training for Researchers from Developing Countries

Προγραμματισμός ΙΙ Ενότητα 3:

Indexing Methods for Encrypted Vector Databases

ΜΑΡΙΝΑ Ε. ΜΠΙΣΑΚΗ. Τκήκα Δθαξκνζκέλωλ Μαζεκαηηθώλ Παλεπηζηήκην Κξήηεο Τ.Θ , Ηξάθιεην, Κξήηε

Microsoft Visual Studio Γιώργος Καµαρινός Developer Programs Marketing Manager Microsoft Hellas

Text Mining using Linguistic Information

Scrub Nurse Robot: SNR. C++ SNR Uppaal TA SNR SNR. Vain SNR. Uppaal TA. TA state Uppaal TA location. Uppaal

Transcript:

Title コードクローン検出法 Author(s) 井上, 克郎 ; 神谷, 年洋 ; 楠本, 真二 Citation コンピュータソフトウェア. 18(5) P.529-P.536 Issue Date 2001 Text Version publisher URL http://hdl.handle.net/11094/51608 DOI 10.11309/jssst.18.529 rights

(529) 47 1 (code clone) [5] 20 ( 100 2000 ) [14] [8] Code-Clone Detection Methods. Katsuro Inoue,, Graduate School of Engineering Science, Osaka University. Toshihiro Kamiya, 21, PRESTO, Japan Science and Technology Corporation. Shinji Kusumoto,, Graduate School of Engineering Science, Osaka University, Vol.18, No.5(2001), pp.47 54. [] 2001 5 31. 1 2 : : [1] [2] [3] [4] [5] [7] [10] [11] [12] [13]

48 (530) : : : : 2 [11] 3 4 5 2 2 α β C(α, β) α β α β C α α α β C(α, β) α β (α < α, β < β ) C(α,β ) α β (α < α β < β ) C(α,β ) C(α, β) α β α β α α S S α β( α =β) (pattern matching problem [9]) (local alignment problem [9]) S P 2 S 1 S 2 t 1 t 2 1 1 1 HTML XML DNA

(531) Vol. 18 No. 5 Sep. 2001 49 341: dwframegrouplength = 1; 342: for(dwcnt = 2; dwcnt <= 64; dwcnt *= 2) 343: { 344: if(((uloutrate / dwcnt) * dwcnt)!= 345: uloutrate) 346: { 347: dwframegrouplength *= 2; 348: } 349: } 784: framegrouplength = 1; 785: for (cnt = 2; cnt <= 64; cnt *= 2) { 786: if (((rate / cnt) * cnt)!= rate) 787: framegrouplength *= 2; 788: } 1 3 3.1 (token) [11] 1 (parameterize) 1 dwcnt cnt if ( ) [7]

50 (532) [1] (statement) 1 [15] 1 [3] [6] () 2 (scatter plot) n O(n 2 ) (suffix tree) S [9] S =(s 1s 2s 3...s N ) (1...N) 1 2 () 2 ( ) O(n) [9] k () O(n + k) 3.2 () { } 4 Dup [1] [2] Baker 1992 C

(533) Vol. 18 No. 5 Sep. 2001 51 2 O(n) Duploc [7] Ducasse 1999 O(n 2 ) Duploc () (C compound block {}) Duploc GUI(graphical user interface) Ducasse CDIF [16] MOOSE CloneDR [5] Baxter 1998 C COBOL AST(abstract syntax tree) AST O(n 2 ) (1)2 2 (2)C CloneDR C COBOL SMC [3] [4] Merlo 1999

52 (534) 1 (, (, { }, ) CPU, ) Dup, 1.1MSLOC [1] [2] O(n) R3000 40MHz, 256MB RAM, {C} 7 Duploc 460KSLOC [7] O(n 2 ) G3 230MHz, 100MB RAM, {C, COBOL, Python, 6.5 Smalltalk} CCFinder,, 10MSLOC [11] O(n) PIII 650MHz, 1GB RAM, {C, C++, Java, COBOL} 68 CloneDR AST, 100KSLOC, [5] () (), 600MB RAM, {C, COBOL, Java} O(n 2 ) 2 SMC 215KSLOC, [3] [4] Pentium-Pro 180MHz, {Java} O(n) 64MB RAM, () 2 O(n 2 ) O(n) 18 ( ) CCFinder [11] 2000 O(n) ( ) 1 ( ) 5 (1) [8] (2) (3) 3 5.1 [8] ( ) 4

(535) Vol. 18 No. 5 Sep. 2001 53 3 CloneDR SMC () 5.2 5.3 COBOL [14] ( noclone-sloc) noclone-sloc SLOC 3 1

54 (536) Baker [1] 30 Ducasse [7] 10 30 10 C 3 OS 10 OS () 6 (METRICS (International Symposium on Software Metrics) ICSM (International Conference on Software Maintenance) ) (JSME (Journal of Software Maintenance and Evolution) ) [ 1 ] Baker, B. S. : A Program for Identifying Duplicated Code, Proc. of Computing Science and Statistics: 24th Symposium on the Interface, 24, pp. 49 57, Mar. 1992. [ 2 ] Baker, B. S. : On finding Duplication and Near- Duplication in Large Software System, Proc. of the Second IEEE Working Conf. on Reverse Eng., pp. 86 95, Jul. 1995. [ 3 ] Balazinska, M., Merlo, E., Dagenais, M., Lague, B. and Kontogiannis, K. A. : Measuring Clone Based Reengineering Opportunities, Proc. of the 6th IEEE Int l Symposium on Software Metrics (MET- RICS 99), pp. 292 303, Boca Raton, Florida, Nov. 1999. [ 4 ] Balazinska, M., Merlo, E., Dagenais, M., Lague, B. and Kontogiannis, K. A. : Partial Redesign of Java Software Systems Based on Clone Analysis, Proc. of the 6th IEEE Working Conf. on Reverse Eng. (WCRE 99), pp. 326-336, Atlanta, Georgia, Oct. 1999. [ 5 ] Baxter, I. D., Yahin, A., Moura, L., Sant Anna, M. and Bier, L. : Clone Detection Using Abstract Syntax Trees, Proc. of IEEE Int l Conf. on Software Maintenance (ICSM 98), pp. 368 377, Bethesda, Maryland, Nov. 1998. [ 6 ] Burd, E. and Munro, M. : Evaluating the Evolution of a C Application, Proc. of ACM SIGSOFT Int l Workshop on Principles of Software Evolution (IWPSE 99), pp. 1 5, Fukuoka, Japan. July 1999. [ 7 ] Ducasse, S., Rieger, M. and Demeyer, S. : A Language Independent Approach for Detecting Duplicated Code, Proc. IEEE Int l Conf. on Software Maintenance (ICSM 99), pp. 109 118, Oxford, England, Aug. 1999. [ 8 ] Fowler, M. : Refactoring: Improving the Design of Existing Code, Addison-Wesley (2000) (: :, (2000)). [ 9 ] Gusfield, D. : Algorithms on Strings, Trees, and Sequences, pp. 89 180, Cambridge University Press, 1997. [10] Johnson, J. H. : Identifying Redundancy in Source Code Using Fingerprints, Proc. of IBM Centre for Advanced Studies Conference (CASCON 93), pp. 171 183, Toronto, Ontario, Oct. 1993. [11] Kamiya, T., Kusumoto, S. and Inoue, K. : A Code Clone Detection Technique for Object- Oriented Programming Languages and Its Emprical Evaluation, Proc. of the 62nd National Convention of IPSJ, pp. 23 28, 2001. [12] Kontogiannis, K. A., Mori, R. D., Merlo, E., Galler, M. and Bernstein, M. : Pattern Matching Techniques for Clone Detection and Concept Detection, Journal of Automated Software Engineering, Kluwer Academic Publishers, Vol. 3, pp. 770 108, 1996. [13] Mayland, J., Leblanc, C. and Merlo, E. M. : Experiment on the Automatic Detection of Function Clones in a Software System Using Metrics, Proc. of IEEE Int l Conf. on Software Maintenance (ICSM 96), pp. 244 253, Monterey, California, Nov. 1996. [14],,,,, :, SS200-49, Vol. 100, No. 570, pp. 57 64, 2001. [15] Prechelt, L., Malpohl, G. and Phlippsen, M. : JPlag: Finding plagiarisms among a set of programs, Technical Report, Fakultat fur Informatik Universitat Karlsruhe, 2001, http://wwwipd.ira.uka. de/prechelt/biblio/jplagtr.pdf [16] The CDIF Standards on the Web, http://www.eigroup.org/cdif/online.html