Experience of Finding Inconsistently-Changed Bugs in Code Clones of Mobile Software Katsuro Inoue†, Yoshiki Higo†, Norihiro Yoshida†, Eunjong Choi†, Shinji.

Slides:



Advertisements
Similar presentations
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University A Preliminary.
Advertisements

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Identifying Source.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Modularization.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Extracting Code.
Software Quality Metrics
A Tool Support to Merge Similar Methods with a Cohesion Metric COB ○ Masakazu Ioka 1, Norihiro Yoshida 2, Tomoo Masai 1,Yoshiki Higo 1, Katsuro Inoue 1.
Course Map The Java Programming Language Basics Object-Oriented Programming Exception Handling Graphical User Interfaces and Applets Multithreading Communications.
Refactoring Support Tool: Cancer Yoshiki Higo Osaka University.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Automatic Categorization.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Industrial Application.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Debugging Support.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Finding Similar.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University What Kinds of.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Refactoring.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University A Criterion for.
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University DCCFinder: A Very- Large Scale Code Clone Analysis.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University A clone detection approach for a collection of similar.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University What Do Practitioners.
An Adaptive Version-Controlled File System Makoto Matsushita, Tetsuo Yamamoto and Katsuro Inoue Osaka University, JAPAN.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 ARIES: Refactoring.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University A Method to Detect License Inconsistencies for Large-
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Code-Clone Analysis.
2002/12/11PROFES20021 On software maintenance process improvement based on code clone analysis Yoshiki Higo* , Yasushi Ueda* , Toshihiro Kamiya** , Shinji.
Reishi Yokomori Nanzan University, Japan Harvey Siy University of Nebraska at Omaha, USA Norihiro Yoshida Nara Institute of Science and Technology, Japan.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Detection and evolution analysis of code clones for.
1 Gemini: Maintenance Support Environment Based on Code Clone Analysis *Graduate School of Engineering Science, Osaka Univ. **PRESTO, Japan Science and.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Design and Implementation.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Applying Clone.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Inoue Laboratory Eunjong Choi 1 Investigating Clone.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University How to extract.
Effective Testing and Debugging Methods and Its Supporting System with Program Deltas Makoto Matsushita, Masayoshi Teraguchi, and Katsuro Inoue Osaka University.
Panel Session Accountability and Traceability in Global Software Engineering Coordinator Katsuro Inoue Osaka University.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Technology and Science, Osaka University Dependence-Cache.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Development of.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Retrieving Similar Code Fragments based on Identifier.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 1 Towards an Assessment of the Quality of Refactoring.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Assertion with.
Chapter 10 Function Block Diagram
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 1 Towards an Investigation of Opportunities for Refactoring.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008WODA.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Finding Code Clones.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Open Source Robotics Vision and Mapping System Craig Schroeder June 1, 2005.
1 Measuring Similarity of Large Software System Based on Source Code Correspondence Tetsuo Yamamoto*, Makoto Matsushita**, Toshihiro Kamiya***, Katsuro.
CE 525 January 31, HW#4 Were the modules helpful in learning how to do this exercise? Were any steps unclear? Questions? Good examples…
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Classification.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Extracting Sequence.
What kind of and how clones are refactored? A case study of three OSS projects WRT2012 June 1, Eunjong Choi†, Norihiro Yoshida‡, Katsuro Inoue†
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 コードクローン解析に基づくリファクタリング支援.
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Towards a Collection of Refactoring Patterns Based.
1 Gemini: Code Clone Analysis Tool †Graduate School of Engineering Science, Osaka Univ., Japan ‡ Graduate School of Information Science and Technology,
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Aries: Refactoring.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Detection of License Inconsistencies in Free and.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University A Metric-based Approach for Reconstructing Methods.
Estimating Code Size After a Complete Code-Clone Merge Buford Edwards III, Yuhao Wu, Makoto Matsushita, Katsuro Inoue 1 Graduate School of Information.
Do Developers Focus on Severe Code Smells?
A Pluggable Tool for Measuring Software Metrics from Source Code
Open Source Robotics Vision and Mapping System
Yuta Nakamura1, Eunjong Choi1, Norihiro Yoshida2,
○Yuichi Semura1, Norihiro Yoshida2, Eunjong Choi3, Katsuro Inoue1
: Clone Refactoring Davood Mazinanian Nikolaos Tsantalis Raphael Stein
Predicting Fault-Prone Modules Based on Metrics Transitions
Quaid-i-Azam University
Yuhao Wu1, Yuki Manabe2, Daniel M. German3, Katsuro Inoue1
Multilingual Detection of Code Clones Using ANTLR Grammar Definitions
Daniel Kim Software Engineering Laboratory Professor Katsuro Inoue
On Refactoring Support Based on Code Clone Dependency Relation
Kazuki Yokoi1 Eunjong Choi2 Norihiro Yoshida3 Katsuro Inoue1
Research Activities of Software Engineering Lab in Osaka University
Dotri Quoc†, Kazuo Kobori†, Norihiro Yoshida
Presentation transcript:

Experience of Finding Inconsistently-Changed Bugs in Code Clones of Mobile Software Katsuro Inoue†, Yoshiki Higo†, Norihiro Yoshida†, Eunjong Choi†, Shinji Kusumoto†, Kyonghwan Kim ‡, Wonjin Park ‡ and Eunha Lee ‡ †Osaka University, Japan ‡ Samsung Electronics Co, S. Korea IWSC2012 June 4, IWSC2012

Features of Mobile Software releases a new model in regular and rapid rushed intervals adapts to various country constraints 2IWSC2012

Brief Summary of CP-Miner (1/2) Detecting Copy-Paste Related Bugs [Li 2006] – Find and present inconsistent renaming of identifiers between clone pairs IWSC20123 [Li 2006] Z. Li, S. Lu, S. Myagmar and Y. Zhou. CP-Miner: Finding Copy-Paste and Related Bugs in Large-Scale Software Code. IEEE Transactions on Software Engineering, 32: pages , 2006

Brief Summary of CP-Miner (2/2) Compute UnchangedRatio (UR) – Smaller UR except for 0 means that the renaming is suspicious. IWSC Clone C1Clone C2 … = b; b++; for (p=0; p<10; p++) { x += p; } a(x); … = c; c++; for (q=0; q<10; q++) { y += p; } a(x); a(z);

Brief Summary of CP-Miner (2/2) Compute UnchangedRatio (UR) – Smaller UR except for 0 means that the renaming is suspicious. IWSC Clone C1Clone C2 … = b; b++; for (p=0; p<10; p++) { x += p; } a(x); … = c; c++; for (q=0; q<10; q++) { y += p; } a(x); a(z);

Brief Summary of CP-Miner (2/2) Compute UnchangedRatio (UR) – Smaller UR except for 0 means that the renaming is suspicious. IWSC Clone C1Clone C2 … = b; b++; for (p=0; p<10; p++) { x += p; } a(x); … = c; c++; for (q=0; q<10; q++) { y += p; } a(x); a(z);

Brief Summary of CP-Miner (2/2) Compute UnchangedRatio (UR) – Smaller UR except for 0 means that the renaming is suspicious. IWSC Clone C1Clone C2 … = b; b++; for (p=0; p<10; p++) { x += p; } a(x); … = c; c++; for (q=0; q<10; q++) { y += p; } a(x); a(z);

Brief Summary of CP-Miner (2/2) Compute UnchangedRatio (UR) – Smaller UR except for 0 means that the renaming is suspicious. IWSC Clone C1Clone C2 … = b; b++; for (p=0; p<10; p++) { x += p; } a(x); … = c; c++; for (q=0; q<10; q++) { y += p; } a(x); a(z); Leave unchanged

Our Approach: New Filtering Criterion x seems intentionally renamed to different symbols Criterion Conflict (CF) – true if the identifier mapped into two or more other identifiers – false otherwise 9

Overview of Clone Inspector A tool to fit to the development environment of mobile software in SAMSUNG – Detect inconsistent changes in code clones Using CCFinder and two metrics – Handle a large size input 10IWSC2012

Applications Feature : Communication Language : C Size(LOC) : 4,275,952 Bug Candidates: 63 True Bug : 25 Feature : Application Language : C Size(LOC) : 136,554 Bug Candidates: 5 True Bug : 1 { { A B 11IWSC2012

Snapshot of Clone Inspector 12IWSC2012 Inconsistences Candidate List Information of Selected Inconsistences Candidate Source Code View