SlideShare a Scribd company logo
Code Clone Detection in Visual 
Studio 2012 
MSc. IT University of Moratuwa 
Batch 8 
IN 5210 – System Analysis and design 
Members 
Suren Gamage 
Suhail Jamaldeen 
Sivasithamparam Rajivkanth 
Prasith Premachandra
Agenda 
 What is code clone? 
 What is found? 
 What is not found? 
 To exclude specific files or methods from the analysis 
 Benefits
What is code 
clone? 
 Code clones are separate fragments of code that are very similar. 
 The code clone analyzer searches for duplicate code in Visual C# 
and Visual Basic. 
 Available in Visual Studio Ultimate or Visual Studio Premium. 
 Analyzed find code clones in 
 a particular code fragment 
 throughout the solution.
A particular 
code fragment
Through out 
the solution
Comparing 
Code Clone
What Is 
Found? 
 Renamed identifiers 
 Insert and delete statements added 
 Rearranged statements
What Is Not 
Found? 
 Type declarations are not compared 
 Code less than 10 statements long. 
 Fragments with more than 40% changed tokens. 
 If a project contains a .codeclonesettings file, code elements that 
are defined in that project will not be searched if they are named 
in the Exclusions section of the .codeclonesettings file. 
 Some kinds of generated code are excluded: 
 *.designer.cs, *.designer.vb 
 · InitializeComponent methods
To exclude 
specific files or 
methods from 
the analysis 
 Add a new XML file to the Visual Studio project in which the 
methods that you want to exclude are defined. 
 It does not matter whether the file is part of the project. It must be 
in the top directory of the project. 
 Change the file name extension to .codeclonesettings
Benefits 
 Checking for similar issues before check-in 
 Reference information for code review 
 Architecture refactoring 
 Code clean up 
 Bug fixing 
 Bug investigation
Demo
Q & A
Reference  http://msdn.microsoft.com/en-us/library/hh205279.aspx

More Related Content

What's hot

Osborne Clarke - OpenChain - FOSSmatrix
Osborne Clarke - OpenChain - FOSSmatrixOsborne Clarke - OpenChain - FOSSmatrix
Osborne Clarke - OpenChain - FOSSmatrix
Shane Coughlan
 
Visual Studio 2015 Diagnostic and Debugging Tools
Visual Studio 2015 Diagnostic and Debugging ToolsVisual Studio 2015 Diagnostic and Debugging Tools
Visual Studio 2015 Diagnostic and Debugging Tools
Mikhail Shcherbakov
 
Debugging C# Applications
Debugging C# ApplicationsDebugging C# Applications
Debugging C# Applications
Jaliya Udagedara
 
Features of ReSharper
Features of ReSharperFeatures of ReSharper
Features of ReSharper
Pratik Patel
 
Git branching policy and review comment's prefix
Git branching policy and review comment's prefixGit branching policy and review comment's prefix
Git branching policy and review comment's prefix
Kumaresh Chandra Baruri
 
SpecFlow for Agile Teams
SpecFlow for Agile TeamsSpecFlow for Agile Teams
SpecFlow for Agile Teams
Alejandro Ramirez
 
Code review
Code reviewCode review
Code review
Abhishek Sur
 
Binary Studio Academy: .NET Code Testing
Binary Studio Academy: .NET Code TestingBinary Studio Academy: .NET Code Testing
Binary Studio Academy: .NET Code Testing
Binary Studio
 
FOSSology and OSS-Tools for License Compliance and Automation
FOSSology and OSS-Tools for License Compliance and AutomationFOSSology and OSS-Tools for License Compliance and Automation
FOSSology and OSS-Tools for License Compliance and Automation
Gaurav Mishra
 
From legacy code to continuous integration
From legacy code to continuous integrationFrom legacy code to continuous integration
From legacy code to continuous integration
Matheus Marabesi
 
NET Code Testing
NET Code TestingNET Code Testing
NET Code Testing
Kirill Miroshnichenko
 

What's hot (11)

Osborne Clarke - OpenChain - FOSSmatrix
Osborne Clarke - OpenChain - FOSSmatrixOsborne Clarke - OpenChain - FOSSmatrix
Osborne Clarke - OpenChain - FOSSmatrix
 
Visual Studio 2015 Diagnostic and Debugging Tools
Visual Studio 2015 Diagnostic and Debugging ToolsVisual Studio 2015 Diagnostic and Debugging Tools
Visual Studio 2015 Diagnostic and Debugging Tools
 
Debugging C# Applications
Debugging C# ApplicationsDebugging C# Applications
Debugging C# Applications
 
Features of ReSharper
Features of ReSharperFeatures of ReSharper
Features of ReSharper
 
Git branching policy and review comment's prefix
Git branching policy and review comment's prefixGit branching policy and review comment's prefix
Git branching policy and review comment's prefix
 
SpecFlow for Agile Teams
SpecFlow for Agile TeamsSpecFlow for Agile Teams
SpecFlow for Agile Teams
 
Code review
Code reviewCode review
Code review
 
Binary Studio Academy: .NET Code Testing
Binary Studio Academy: .NET Code TestingBinary Studio Academy: .NET Code Testing
Binary Studio Academy: .NET Code Testing
 
FOSSology and OSS-Tools for License Compliance and Automation
FOSSology and OSS-Tools for License Compliance and AutomationFOSSology and OSS-Tools for License Compliance and Automation
FOSSology and OSS-Tools for License Compliance and Automation
 
From legacy code to continuous integration
From legacy code to continuous integrationFrom legacy code to continuous integration
From legacy code to continuous integration
 
NET Code Testing
NET Code TestingNET Code Testing
NET Code Testing
 

Similar to Code Clone Detection in Visual Studio 2012

Introduction to CodeFactory
Introduction to CodeFactoryIntroduction to CodeFactory
Introduction to CodeFactory
LifeCycle Delivery
 
Vsts intro
Vsts introVsts intro
Vsts intro
Sevajothi Crafts
 
Unit iv
Unit ivUnit iv
Introduction to Behavior Driven Development
Introduction to Behavior Driven Development Introduction to Behavior Driven Development
Introduction to Behavior Driven Development
Robin O'Brien
 
Code Review
Code ReviewCode Review
Code Review
Ravi Raj
 
Ensuring code quality
Ensuring code qualityEnsuring code quality
Ensuring code quality
MikhailVladimirov
 
Documenting Code - Patterns and Anti-patterns - NLPW 2016
Documenting Code - Patterns and Anti-patterns - NLPW 2016Documenting Code - Patterns and Anti-patterns - NLPW 2016
Documenting Code - Patterns and Anti-patterns - NLPW 2016
Søren Lund
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
David Solivan
 
Reduce Reuse Refactor
Reduce Reuse RefactorReduce Reuse Refactor
Reduce Reuse Refactor
Alena Holligan
 
21. High-Quality Programming Code
21. High-Quality Programming Code21. High-Quality Programming Code
21. High-Quality Programming Code
Intro C# Book
 
Test Driven Development - Overview and Adoption
Test Driven Development - Overview and AdoptionTest Driven Development - Overview and Adoption
Test Driven Development - Overview and Adoption
Pyxis Technologies
 
Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3
Siddhesh Bhobe
 
Jdev Extensions & Custom Audit Rules
Jdev Extensions & Custom Audit RulesJdev Extensions & Custom Audit Rules
Jdev Extensions & Custom Audit Rules
Rohan Walia
 
Documenting code yapceu2016
Documenting code yapceu2016Documenting code yapceu2016
Documenting code yapceu2016
Søren Lund
 
Build for the future
Build for the futureBuild for the future
Build for the future
Mostafa Elfeky
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
rupeshchanchal
 
Abcxyz
AbcxyzAbcxyz
Reference Architecture
Reference ArchitectureReference Architecture
Reference Architecture
Johan Eltes
 
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual StudioSPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
NCCOMMS
 
csharp.docx
csharp.docxcsharp.docx
csharp.docx
LenchoMamudeBaro
 

Similar to Code Clone Detection in Visual Studio 2012 (20)

Introduction to CodeFactory
Introduction to CodeFactoryIntroduction to CodeFactory
Introduction to CodeFactory
 
Vsts intro
Vsts introVsts intro
Vsts intro
 
Unit iv
Unit ivUnit iv
Unit iv
 
Introduction to Behavior Driven Development
Introduction to Behavior Driven Development Introduction to Behavior Driven Development
Introduction to Behavior Driven Development
 
Code Review
Code ReviewCode Review
Code Review
 
Ensuring code quality
Ensuring code qualityEnsuring code quality
Ensuring code quality
 
Documenting Code - Patterns and Anti-patterns - NLPW 2016
Documenting Code - Patterns and Anti-patterns - NLPW 2016Documenting Code - Patterns and Anti-patterns - NLPW 2016
Documenting Code - Patterns and Anti-patterns - NLPW 2016
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
Reduce Reuse Refactor
Reduce Reuse RefactorReduce Reuse Refactor
Reduce Reuse Refactor
 
21. High-Quality Programming Code
21. High-Quality Programming Code21. High-Quality Programming Code
21. High-Quality Programming Code
 
Test Driven Development - Overview and Adoption
Test Driven Development - Overview and AdoptionTest Driven Development - Overview and Adoption
Test Driven Development - Overview and Adoption
 
Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3
 
Jdev Extensions & Custom Audit Rules
Jdev Extensions & Custom Audit RulesJdev Extensions & Custom Audit Rules
Jdev Extensions & Custom Audit Rules
 
Documenting code yapceu2016
Documenting code yapceu2016Documenting code yapceu2016
Documenting code yapceu2016
 
Build for the future
Build for the futureBuild for the future
Build for the future
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
 
Abcxyz
AbcxyzAbcxyz
Abcxyz
 
Reference Architecture
Reference ArchitectureReference Architecture
Reference Architecture
 
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual StudioSPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
 
csharp.docx
csharp.docxcsharp.docx
csharp.docx
 

More from Suhail Jamaldeen

Milestone and Plans for Shams Past Pupils' Association
Milestone and Plans for Shams Past Pupils' Association Milestone and Plans for Shams Past Pupils' Association
Milestone and Plans for Shams Past Pupils' Association
Suhail Jamaldeen
 
Build SPFx Solutions for SharePoint 2019
Build SPFx Solutions for SharePoint 2019Build SPFx Solutions for SharePoint 2019
Build SPFx Solutions for SharePoint 2019
Suhail Jamaldeen
 
Microsoft Azure and Microsoft 365 - How Will They Help You
Microsoft Azure and Microsoft 365 - How Will They Help YouMicrosoft Azure and Microsoft 365 - How Will They Help You
Microsoft Azure and Microsoft 365 - How Will They Help You
Suhail Jamaldeen
 
Machine Learning with ML.Net
Machine Learning with ML.NetMachine Learning with ML.Net
Machine Learning with ML.Net
Suhail Jamaldeen
 
Microsoft 365
Microsoft 365Microsoft 365
Microsoft 365
Suhail Jamaldeen
 
Deploy your Websites and Web Applications on Azure
Deploy your Websites and Web Applications on AzureDeploy your Websites and Web Applications on Azure
Deploy your Websites and Web Applications on Azure
Suhail Jamaldeen
 
Power Automate and Graph API - How they work together
Power Automate and Graph API - How they work togetherPower Automate and Graph API - How they work together
Power Automate and Graph API - How they work together
Suhail Jamaldeen
 
Cloud Computing and Microsoft Azure
Cloud Computing and Microsoft AzureCloud Computing and Microsoft Azure
Cloud Computing and Microsoft Azure
Suhail Jamaldeen
 
Path to Microsoft 365 Enterprise Administrator
Path to Microsoft 365 Enterprise AdministratorPath to Microsoft 365 Enterprise Administrator
Path to Microsoft 365 Enterprise Administrator
Suhail Jamaldeen
 
Extend Microsoft Flow Capabilities Using Microsoft Graph API
Extend Microsoft Flow Capabilities Using Microsoft Graph APIExtend Microsoft Flow Capabilities Using Microsoft Graph API
Extend Microsoft Flow Capabilities Using Microsoft Graph API
Suhail Jamaldeen
 
Be More Productive with Microsoft Office 365
Be More Productive with Microsoft Office 365Be More Productive with Microsoft Office 365
Be More Productive with Microsoft Office 365
Suhail Jamaldeen
 
Be a Modern SharePoint Developer
Be a Modern SharePoint DeveloperBe a Modern SharePoint Developer
Be a Modern SharePoint Developer
Suhail Jamaldeen
 
Build Microsoft Teams Apps with Teams App Studio
Build Microsoft Teams Apps with Teams App Studio Build Microsoft Teams Apps with Teams App Studio
Build Microsoft Teams Apps with Teams App Studio
Suhail Jamaldeen
 
Store Data in Azure SQL Database
Store Data in Azure SQL DatabaseStore Data in Azure SQL Database
Store Data in Azure SQL Database
Suhail Jamaldeen
 
Office 365 CLI: Managing Office 365 tenant and SharePoint Online
Office 365 CLI: Managing Office 365 tenant and SharePoint OnlineOffice 365 CLI: Managing Office 365 tenant and SharePoint Online
Office 365 CLI: Managing Office 365 tenant and SharePoint Online
Suhail Jamaldeen
 
Manage how people use your SharePoint Online
Manage how people use your SharePoint OnlineManage how people use your SharePoint Online
Manage how people use your SharePoint Online
Suhail Jamaldeen
 
Training – Introduction to SharePoint Online for Collaboration and Document M...
Training – Introduction to SharePoint Online for Collaboration and Document M...Training – Introduction to SharePoint Online for Collaboration and Document M...
Training – Introduction to SharePoint Online for Collaboration and Document M...
Suhail Jamaldeen
 
Build SharePoint Online Workflows and Customize Forms Using Nintex for Office...
Build SharePoint Online Workflows and Customize Forms Using Nintex for Office...Build SharePoint Online Workflows and Customize Forms Using Nintex for Office...
Build SharePoint Online Workflows and Customize Forms Using Nintex for Office...
Suhail Jamaldeen
 
Scrum Software Development Methodology
Scrum Software Development MethodologyScrum Software Development Methodology
Scrum Software Development Methodology
Suhail Jamaldeen
 
Planning Poker estimating technique
Planning Poker estimating techniquePlanning Poker estimating technique
Planning Poker estimating technique
Suhail Jamaldeen
 

More from Suhail Jamaldeen (20)

Milestone and Plans for Shams Past Pupils' Association
Milestone and Plans for Shams Past Pupils' Association Milestone and Plans for Shams Past Pupils' Association
Milestone and Plans for Shams Past Pupils' Association
 
Build SPFx Solutions for SharePoint 2019
Build SPFx Solutions for SharePoint 2019Build SPFx Solutions for SharePoint 2019
Build SPFx Solutions for SharePoint 2019
 
Microsoft Azure and Microsoft 365 - How Will They Help You
Microsoft Azure and Microsoft 365 - How Will They Help YouMicrosoft Azure and Microsoft 365 - How Will They Help You
Microsoft Azure and Microsoft 365 - How Will They Help You
 
Machine Learning with ML.Net
Machine Learning with ML.NetMachine Learning with ML.Net
Machine Learning with ML.Net
 
Microsoft 365
Microsoft 365Microsoft 365
Microsoft 365
 
Deploy your Websites and Web Applications on Azure
Deploy your Websites and Web Applications on AzureDeploy your Websites and Web Applications on Azure
Deploy your Websites and Web Applications on Azure
 
Power Automate and Graph API - How they work together
Power Automate and Graph API - How they work togetherPower Automate and Graph API - How they work together
Power Automate and Graph API - How they work together
 
Cloud Computing and Microsoft Azure
Cloud Computing and Microsoft AzureCloud Computing and Microsoft Azure
Cloud Computing and Microsoft Azure
 
Path to Microsoft 365 Enterprise Administrator
Path to Microsoft 365 Enterprise AdministratorPath to Microsoft 365 Enterprise Administrator
Path to Microsoft 365 Enterprise Administrator
 
Extend Microsoft Flow Capabilities Using Microsoft Graph API
Extend Microsoft Flow Capabilities Using Microsoft Graph APIExtend Microsoft Flow Capabilities Using Microsoft Graph API
Extend Microsoft Flow Capabilities Using Microsoft Graph API
 
Be More Productive with Microsoft Office 365
Be More Productive with Microsoft Office 365Be More Productive with Microsoft Office 365
Be More Productive with Microsoft Office 365
 
Be a Modern SharePoint Developer
Be a Modern SharePoint DeveloperBe a Modern SharePoint Developer
Be a Modern SharePoint Developer
 
Build Microsoft Teams Apps with Teams App Studio
Build Microsoft Teams Apps with Teams App Studio Build Microsoft Teams Apps with Teams App Studio
Build Microsoft Teams Apps with Teams App Studio
 
Store Data in Azure SQL Database
Store Data in Azure SQL DatabaseStore Data in Azure SQL Database
Store Data in Azure SQL Database
 
Office 365 CLI: Managing Office 365 tenant and SharePoint Online
Office 365 CLI: Managing Office 365 tenant and SharePoint OnlineOffice 365 CLI: Managing Office 365 tenant and SharePoint Online
Office 365 CLI: Managing Office 365 tenant and SharePoint Online
 
Manage how people use your SharePoint Online
Manage how people use your SharePoint OnlineManage how people use your SharePoint Online
Manage how people use your SharePoint Online
 
Training – Introduction to SharePoint Online for Collaboration and Document M...
Training – Introduction to SharePoint Online for Collaboration and Document M...Training – Introduction to SharePoint Online for Collaboration and Document M...
Training – Introduction to SharePoint Online for Collaboration and Document M...
 
Build SharePoint Online Workflows and Customize Forms Using Nintex for Office...
Build SharePoint Online Workflows and Customize Forms Using Nintex for Office...Build SharePoint Online Workflows and Customize Forms Using Nintex for Office...
Build SharePoint Online Workflows and Customize Forms Using Nintex for Office...
 
Scrum Software Development Methodology
Scrum Software Development MethodologyScrum Software Development Methodology
Scrum Software Development Methodology
 
Planning Poker estimating technique
Planning Poker estimating techniquePlanning Poker estimating technique
Planning Poker estimating technique
 

Recently uploaded

RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
kumarjarun2010
 
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
digitalxplive
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
ssuser1915fe1
 
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes..."Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
Anant Gupta
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
aslasdfmkhan4750
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Torry Harris
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Muhammad Ali
 
WhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring AppsWhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring Apps
HackersList
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
bhumivarma35300
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
Zilliz
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
maigasapphire
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
Matthias Neugebauer
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 

Recently uploaded (20)

RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
 
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
 
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes..."Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
 
WhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring AppsWhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring Apps
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 

Code Clone Detection in Visual Studio 2012

  • 1. Code Clone Detection in Visual Studio 2012 MSc. IT University of Moratuwa Batch 8 IN 5210 – System Analysis and design Members Suren Gamage Suhail Jamaldeen Sivasithamparam Rajivkanth Prasith Premachandra
  • 2. Agenda  What is code clone?  What is found?  What is not found?  To exclude specific files or methods from the analysis  Benefits
  • 3. What is code clone?  Code clones are separate fragments of code that are very similar.  The code clone analyzer searches for duplicate code in Visual C# and Visual Basic.  Available in Visual Studio Ultimate or Visual Studio Premium.  Analyzed find code clones in  a particular code fragment  throughout the solution.
  • 4. A particular code fragment
  • 5. Through out the solution
  • 7. What Is Found?  Renamed identifiers  Insert and delete statements added  Rearranged statements
  • 8. What Is Not Found?  Type declarations are not compared  Code less than 10 statements long.  Fragments with more than 40% changed tokens.  If a project contains a .codeclonesettings file, code elements that are defined in that project will not be searched if they are named in the Exclusions section of the .codeclonesettings file.  Some kinds of generated code are excluded:  *.designer.cs, *.designer.vb  · InitializeComponent methods
  • 9. To exclude specific files or methods from the analysis  Add a new XML file to the Visual Studio project in which the methods that you want to exclude are defined.  It does not matter whether the file is part of the project. It must be in the top directory of the project.  Change the file name extension to .codeclonesettings
  • 10. Benefits  Checking for similar issues before check-in  Reference information for code review  Architecture refactoring  Code clean up  Bug fixing  Bug investigation
  • 11. Demo
  • 12. Q & A