SlideShare una empresa de Scribd logo
1 de 2
Descargar para leer sin conexión
©2014. All rights reserved. Girish Suryanarayana, Ganesh Samarthyam, Tushar Sharma.
Based on "Refactoring for software design smells: Managing Techincal Debt", Morgan Kaufmann/Elsevier, 2014.
http://amzn.com/0128013974
Tools for refactoring
Software tools play a critical role in the process of refactoring. This document provides a non-exhaustive list of
commonly available tools - along with their categories, supported languages, license, and web-site link - that can
help in the process of refactoring to repay technical debt.
Tool name
Category
Supportedlanguages
License Website/Author
Comprehension
Critique
Code-clonedetector
Metric
TDquantificationandvisualization
Refactoring(candidateidentification)
Refactoring(execution)
ArgoUML Y UML Free http://argouml.tigris.org/
Axivion
Bauhaus
Suite Y Y Y Y
C/C++, Java,
C#, … Commercial
http://www.axivion.com/products
.html
Clone
Doctor Y
C++, Java,
C#, and
many others Commercial
http://www.semdesigns.com/Prod
ucts/Clone/
Coverity Y
C/C++, Java,
C# Commercial http://www.coverity.com/
CppDepend Y Y Y C++ Commercial http://www.cppdepend.com/
Eclipse Y Java Free https://www.eclipse.org/
FxCop Y C# Free
http://msdn.microsoft.com/en-
us/library/bb429476(v=vs.80).aspx
Imagix 4D Y Y C/C++, Java Commercial
http://www.imagix.com/index.ht
ml
Infusion Y Y C/C++, Java Commercial
http://www.intooitus.com/produc
ts/infusion
iPlasma Y Y C/C++, Java Free
http://loose.upt.ro/reengineering/
research/iplasma
JArchitect Y Y Y Java Commercial http://www.jarchitect.com/
Jdeodorant Y Java Free http://www.jdeodorant.com/
©2014. All rights reserved. Girish Suryanarayana, Ganesh Samarthyam, Tushar Sharma.
Based on "Refactoring for software design smells: Managing Techincal Debt", Morgan Kaufmann/Elsevier, 2014.
http://amzn.com/0128013974
Jdepend Y Java Free
http://clarkware.com/software/JD
epend.html
McCabe IQ Y Y Y Y
C/C++, C#,
Java, … Commercial http://www.mccabe.com/iq.htm
MOOSE
toolsuite Y Y Y Y
C/C++, Java,
C#, … Free
http://www.moosetechnology.org
/
NDepend Y Y Y C# Commercial
http://www.ndepend.com/Default
.aspx
PC-Lint Y C/C++ Commercial
http://www.gimpel.com/html/pcl.
htm
PMD Y
Java, Java-
script Free http://pmd.sourceforge.net/
PMD-CPD Y
C++, Java,
C#, … Free http://pmd.sourceforge.net/
Resharper Y Y C# Commercial
http://www.jetbrains.com/reshar
per/
RSM Metrics Y
C/C++, Java,
C#, … Commercial
http://msquaredtechnologies.com
/
SCOUT Y C#
Not released
publicly Tushar Sharma
SDMetrics Y UML Commercial http://www.sdmetrics.com/
Simian Y
C++, Java,
C#, … Commercial
http://www.harukizaemon.com/si
mian/
Sissy Y
C++, Java,
and Delphi Free
http://www.softpedia.com/get/Pr
ogramming/Other-Programming-
Files/SISSy.shtml
SonarGraph Y Y Y Y Y Commercial
http://www.hello2morrow.com/pr
oducts/sonargraph
SonarQube Y Y
C++, Java,
C#, … Free http://www.sonarqube.org/
SotoArc Y Y Y
C/C++, Java,
C#, … Commercial
http://www.hello2morrow.com/pr
oducts/sotoarc
Sotograph Y Y Y
C++, Java,
C# Commercial
https://www.hello2morrow.com/
products/sotograph
Source
Monitor Y
C++, Java,
C#, … Free
http://www.campwoodsw.com/so
urcemonitor.html
Stan4j Y Y Java Commercial http://stan4j.com/
Structure
101 Y Y Java, C# Commercial http://structure101.com/
Understand Y Y
C++, Java,
C#, … Commercial http://www.scitools.com/
Visual Studio
(Architectur
e Explorer) Y Y Y .NET Commercial http://www.visualstudio.com/

Más contenido relacionado

Destacado

Writing an Abstract - Template (for research papers)
Writing an Abstract - Template (for research papers) Writing an Abstract - Template (for research papers)
Writing an Abstract - Template (for research papers) Ganesh Samarthyam
 
Design Smell Descriptions - Summary Sheet
Design Smell Descriptions - Summary SheetDesign Smell Descriptions - Summary Sheet
Design Smell Descriptions - Summary SheetGanesh Samarthyam
 
Refactoring guided by design principles driven by technical debt
Refactoring   guided by design principles driven by technical debtRefactoring   guided by design principles driven by technical debt
Refactoring guided by design principles driven by technical debtGanesh Samarthyam
 
Refactoring for Software Architecture Smells - International Workshop on Refa...
Refactoring for Software Architecture Smells - International Workshop on Refa...Refactoring for Software Architecture Smells - International Workshop on Refa...
Refactoring for Software Architecture Smells - International Workshop on Refa...Ganesh Samarthyam
 
Let's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming LanguageLet's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming LanguageGanesh Samarthyam
 
Bangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - PosterBangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - PosterGanesh Samarthyam
 

Destacado (7)

Writing an Abstract - Template (for research papers)
Writing an Abstract - Template (for research papers) Writing an Abstract - Template (for research papers)
Writing an Abstract - Template (for research papers)
 
Design Smell Descriptions - Summary Sheet
Design Smell Descriptions - Summary SheetDesign Smell Descriptions - Summary Sheet
Design Smell Descriptions - Summary Sheet
 
Refactoring guided by design principles driven by technical debt
Refactoring   guided by design principles driven by technical debtRefactoring   guided by design principles driven by technical debt
Refactoring guided by design principles driven by technical debt
 
Java Generics - by Example
Java Generics - by ExampleJava Generics - by Example
Java Generics - by Example
 
Refactoring for Software Architecture Smells - International Workshop on Refa...
Refactoring for Software Architecture Smells - International Workshop on Refa...Refactoring for Software Architecture Smells - International Workshop on Refa...
Refactoring for Software Architecture Smells - International Workshop on Refa...
 
Let's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming LanguageLet's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming Language
 
Bangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - PosterBangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - Poster
 

Similar a Tools for Refactoring

Similar a Tools for Refactoring (20)

Tools for refactoring
Tools for refactoringTools for refactoring
Tools for refactoring
 
resume_2016_low_rez
resume_2016_low_rezresume_2016_low_rez
resume_2016_low_rez
 
RUG-Asia - ALM
RUG-Asia - ALMRUG-Asia - ALM
RUG-Asia - ALM
 
Common Problems of Software Development
Common Problems of Software DevelopmentCommon Problems of Software Development
Common Problems of Software Development
 
SADA_RESUME_With_Happ
SADA_RESUME_With_HappSADA_RESUME_With_Happ
SADA_RESUME_With_Happ
 
SaiBhaskar-Resume
SaiBhaskar-ResumeSaiBhaskar-Resume
SaiBhaskar-Resume
 
SEO Expert Resume
SEO Expert ResumeSEO Expert Resume
SEO Expert Resume
 
Free Technology Resources for Nonprofits
Free Technology Resources for NonprofitsFree Technology Resources for Nonprofits
Free Technology Resources for Nonprofits
 
NetTantra Web Development Brochure
NetTantra Web Development BrochureNetTantra Web Development Brochure
NetTantra Web Development Brochure
 
Shashank_Shetkar_CV TESTING
Shashank_Shetkar_CV TESTINGShashank_Shetkar_CV TESTING
Shashank_Shetkar_CV TESTING
 
AmitShah-7Year6Month
AmitShah-7Year6MonthAmitShah-7Year6Month
AmitShah-7Year6Month
 
Devendra 10 years_php_linux_mysql_team_client_handling
Devendra 10 years_php_linux_mysql_team_client_handlingDevendra 10 years_php_linux_mysql_team_client_handling
Devendra 10 years_php_linux_mysql_team_client_handling
 
Greg Ohlsen_Resume_021216
Greg Ohlsen_Resume_021216Greg Ohlsen_Resume_021216
Greg Ohlsen_Resume_021216
 
naveen_ui
naveen_uinaveen_ui
naveen_ui
 
naveen_ui
naveen_uinaveen_ui
naveen_ui
 
What is a Successful UX Design Process by Code & Theory Designer
What is a Successful UX Design Process by Code & Theory DesignerWhat is a Successful UX Design Process by Code & Theory Designer
What is a Successful UX Design Process by Code & Theory Designer
 
Giants named HTML5 and JVM
Giants named  HTML5 and JVMGiants named  HTML5 and JVM
Giants named HTML5 and JVM
 
new anu resume
new anu resumenew anu resume
new anu resume
 
Going web native - Feb 2018
Going web native - Feb 2018Going web native - Feb 2018
Going web native - Feb 2018
 
Resume (1)
Resume (1)Resume (1)
Resume (1)
 

Más de Ganesh Samarthyam

Applying Refactoring Tools in Practice
Applying Refactoring Tools in PracticeApplying Refactoring Tools in Practice
Applying Refactoring Tools in PracticeGanesh Samarthyam
 
CFP - 1st Workshop on “AI Meets Blockchain”
CFP - 1st Workshop on “AI Meets Blockchain”CFP - 1st Workshop on “AI Meets Blockchain”
CFP - 1st Workshop on “AI Meets Blockchain”Ganesh Samarthyam
 
Great Coding Skills Aren't Enough
Great Coding Skills Aren't EnoughGreat Coding Skills Aren't Enough
Great Coding Skills Aren't EnoughGanesh Samarthyam
 
College Project - Java Disassembler - Description
College Project - Java Disassembler - DescriptionCollege Project - Java Disassembler - Description
College Project - Java Disassembler - DescriptionGanesh Samarthyam
 
Coding Guidelines - Crafting Clean Code
Coding Guidelines - Crafting Clean CodeCoding Guidelines - Crafting Clean Code
Coding Guidelines - Crafting Clean CodeGanesh Samarthyam
 
Design Patterns - Compiler Case Study - Hands-on Examples
Design Patterns - Compiler Case Study - Hands-on ExamplesDesign Patterns - Compiler Case Study - Hands-on Examples
Design Patterns - Compiler Case Study - Hands-on ExamplesGanesh Samarthyam
 
Bangalore Container Conference 2017 - Brief Presentation
Bangalore Container Conference 2017 - Brief PresentationBangalore Container Conference 2017 - Brief Presentation
Bangalore Container Conference 2017 - Brief PresentationGanesh Samarthyam
 
Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)Ganesh Samarthyam
 
OO Design and Design Patterns in C++
OO Design and Design Patterns in C++ OO Design and Design Patterns in C++
OO Design and Design Patterns in C++ Ganesh Samarthyam
 
Bangalore Container Conference 2017 - Sponsorship Deck
Bangalore Container Conference 2017 - Sponsorship DeckBangalore Container Conference 2017 - Sponsorship Deck
Bangalore Container Conference 2017 - Sponsorship DeckGanesh Samarthyam
 
Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction Ganesh Samarthyam
 
Java Generics - Quiz Questions
Java Generics - Quiz QuestionsJava Generics - Quiz Questions
Java Generics - Quiz QuestionsGanesh Samarthyam
 
Software Architecture - Quiz Questions
Software Architecture - Quiz QuestionsSoftware Architecture - Quiz Questions
Software Architecture - Quiz QuestionsGanesh Samarthyam
 
Core Java: Best practices and bytecodes quiz
Core Java: Best practices and bytecodes quizCore Java: Best practices and bytecodes quiz
Core Java: Best practices and bytecodes quizGanesh Samarthyam
 
Advanced Debugging Using Java Bytecodes
Advanced Debugging Using Java BytecodesAdvanced Debugging Using Java Bytecodes
Advanced Debugging Using Java BytecodesGanesh Samarthyam
 
Refactoring for Software Architecture Smells - International Workshop on Refa...
Refactoring for Software Architecture Smells - International Workshop on Refa...Refactoring for Software Architecture Smells - International Workshop on Refa...
Refactoring for Software Architecture Smells - International Workshop on Refa...Ganesh Samarthyam
 

Más de Ganesh Samarthyam (20)

Wonders of the Sea
Wonders of the SeaWonders of the Sea
Wonders of the Sea
 
Animals - for kids
Animals - for kids Animals - for kids
Animals - for kids
 
Applying Refactoring Tools in Practice
Applying Refactoring Tools in PracticeApplying Refactoring Tools in Practice
Applying Refactoring Tools in Practice
 
CFP - 1st Workshop on “AI Meets Blockchain”
CFP - 1st Workshop on “AI Meets Blockchain”CFP - 1st Workshop on “AI Meets Blockchain”
CFP - 1st Workshop on “AI Meets Blockchain”
 
Great Coding Skills Aren't Enough
Great Coding Skills Aren't EnoughGreat Coding Skills Aren't Enough
Great Coding Skills Aren't Enough
 
College Project - Java Disassembler - Description
College Project - Java Disassembler - DescriptionCollege Project - Java Disassembler - Description
College Project - Java Disassembler - Description
 
Coding Guidelines - Crafting Clean Code
Coding Guidelines - Crafting Clean CodeCoding Guidelines - Crafting Clean Code
Coding Guidelines - Crafting Clean Code
 
Design Patterns - Compiler Case Study - Hands-on Examples
Design Patterns - Compiler Case Study - Hands-on ExamplesDesign Patterns - Compiler Case Study - Hands-on Examples
Design Patterns - Compiler Case Study - Hands-on Examples
 
Bangalore Container Conference 2017 - Brief Presentation
Bangalore Container Conference 2017 - Brief PresentationBangalore Container Conference 2017 - Brief Presentation
Bangalore Container Conference 2017 - Brief Presentation
 
Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)
 
OO Design and Design Patterns in C++
OO Design and Design Patterns in C++ OO Design and Design Patterns in C++
OO Design and Design Patterns in C++
 
Bangalore Container Conference 2017 - Sponsorship Deck
Bangalore Container Conference 2017 - Sponsorship DeckBangalore Container Conference 2017 - Sponsorship Deck
Bangalore Container Conference 2017 - Sponsorship Deck
 
Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction
 
Java Generics - Quiz Questions
Java Generics - Quiz QuestionsJava Generics - Quiz Questions
Java Generics - Quiz Questions
 
Software Architecture - Quiz Questions
Software Architecture - Quiz QuestionsSoftware Architecture - Quiz Questions
Software Architecture - Quiz Questions
 
Docker by Example - Quiz
Docker by Example - QuizDocker by Example - Quiz
Docker by Example - Quiz
 
Core Java: Best practices and bytecodes quiz
Core Java: Best practices and bytecodes quizCore Java: Best practices and bytecodes quiz
Core Java: Best practices and bytecodes quiz
 
Advanced Debugging Using Java Bytecodes
Advanced Debugging Using Java BytecodesAdvanced Debugging Using Java Bytecodes
Advanced Debugging Using Java Bytecodes
 
Java Class Design
Java Class DesignJava Class Design
Java Class Design
 
Refactoring for Software Architecture Smells - International Workshop on Refa...
Refactoring for Software Architecture Smells - International Workshop on Refa...Refactoring for Software Architecture Smells - International Workshop on Refa...
Refactoring for Software Architecture Smells - International Workshop on Refa...
 

Último

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 

Último (20)

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 

Tools for Refactoring

  • 1. ©2014. All rights reserved. Girish Suryanarayana, Ganesh Samarthyam, Tushar Sharma. Based on "Refactoring for software design smells: Managing Techincal Debt", Morgan Kaufmann/Elsevier, 2014. http://amzn.com/0128013974 Tools for refactoring Software tools play a critical role in the process of refactoring. This document provides a non-exhaustive list of commonly available tools - along with their categories, supported languages, license, and web-site link - that can help in the process of refactoring to repay technical debt. Tool name Category Supportedlanguages License Website/Author Comprehension Critique Code-clonedetector Metric TDquantificationandvisualization Refactoring(candidateidentification) Refactoring(execution) ArgoUML Y UML Free http://argouml.tigris.org/ Axivion Bauhaus Suite Y Y Y Y C/C++, Java, C#, … Commercial http://www.axivion.com/products .html Clone Doctor Y C++, Java, C#, and many others Commercial http://www.semdesigns.com/Prod ucts/Clone/ Coverity Y C/C++, Java, C# Commercial http://www.coverity.com/ CppDepend Y Y Y C++ Commercial http://www.cppdepend.com/ Eclipse Y Java Free https://www.eclipse.org/ FxCop Y C# Free http://msdn.microsoft.com/en- us/library/bb429476(v=vs.80).aspx Imagix 4D Y Y C/C++, Java Commercial http://www.imagix.com/index.ht ml Infusion Y Y C/C++, Java Commercial http://www.intooitus.com/produc ts/infusion iPlasma Y Y C/C++, Java Free http://loose.upt.ro/reengineering/ research/iplasma JArchitect Y Y Y Java Commercial http://www.jarchitect.com/ Jdeodorant Y Java Free http://www.jdeodorant.com/
  • 2. ©2014. All rights reserved. Girish Suryanarayana, Ganesh Samarthyam, Tushar Sharma. Based on "Refactoring for software design smells: Managing Techincal Debt", Morgan Kaufmann/Elsevier, 2014. http://amzn.com/0128013974 Jdepend Y Java Free http://clarkware.com/software/JD epend.html McCabe IQ Y Y Y Y C/C++, C#, Java, … Commercial http://www.mccabe.com/iq.htm MOOSE toolsuite Y Y Y Y C/C++, Java, C#, … Free http://www.moosetechnology.org / NDepend Y Y Y C# Commercial http://www.ndepend.com/Default .aspx PC-Lint Y C/C++ Commercial http://www.gimpel.com/html/pcl. htm PMD Y Java, Java- script Free http://pmd.sourceforge.net/ PMD-CPD Y C++, Java, C#, … Free http://pmd.sourceforge.net/ Resharper Y Y C# Commercial http://www.jetbrains.com/reshar per/ RSM Metrics Y C/C++, Java, C#, … Commercial http://msquaredtechnologies.com / SCOUT Y C# Not released publicly Tushar Sharma SDMetrics Y UML Commercial http://www.sdmetrics.com/ Simian Y C++, Java, C#, … Commercial http://www.harukizaemon.com/si mian/ Sissy Y C++, Java, and Delphi Free http://www.softpedia.com/get/Pr ogramming/Other-Programming- Files/SISSy.shtml SonarGraph Y Y Y Y Y Commercial http://www.hello2morrow.com/pr oducts/sonargraph SonarQube Y Y C++, Java, C#, … Free http://www.sonarqube.org/ SotoArc Y Y Y C/C++, Java, C#, … Commercial http://www.hello2morrow.com/pr oducts/sotoarc Sotograph Y Y Y C++, Java, C# Commercial https://www.hello2morrow.com/ products/sotograph Source Monitor Y C++, Java, C#, … Free http://www.campwoodsw.com/so urcemonitor.html Stan4j Y Y Java Commercial http://stan4j.com/ Structure 101 Y Y Java, C# Commercial http://structure101.com/ Understand Y Y C++, Java, C#, … Commercial http://www.scitools.com/ Visual Studio (Architectur e Explorer) Y Y Y .NET Commercial http://www.visualstudio.com/