SlideShare a Scribd company logo
MAVIS: A Visualization Tool
for Cohesion-based Bad Smell Inspection

           Lee Wei Mar (馬立偉), Ming Lun Lee (李明倫)
                and Hewijin Christine Jiau (焦惠津)

   Institute of Computer and Communication Engineering, NCKU
                 國立成功大學 電腦與通信工程研究所




                                            Speaker: Lee Wei Mar (馬立偉)
                                            Date: 07/08/2011
Outline

• Introduction
• Empirical Investigation
• MAVIS Visualization Tool
• Evaluation
• Conclusion




                                       2
Introduction

• Cohesion-based Bad Smells are structural deficiencies that violet “high
   cohesion and low coupling principle”
    – Feature Envy
    – God Class
    – Long Method

• Cohesion-based bad smells are common refactoring targets during
  software evolution

• Many bad smell detection (BSD) tools have been developed for suggesting
  cohesion-based bad smell candidates
    – The judgment of candidates still relies on developers’ expertise



                                                                         3
Empirical Investigation

• Utilizing two BSD tool, InCode and JDeodorant, for bad smell removal

• Conduction steps
    1.   Use BSD tool in finding Feature Envy candidates on a in Lab project: CARE
    2.   For each feature envy candidates, a developer inspect source code to answer
         a.   Is it an Feature Envy?
         b.   If it is a Feature Envy, can it be resolved by Move Method (MM)?


• The data from two studies are analyzed




                                                                                     4
Empirical Investigation (cont.)

•   The data from two studies are analyzed




•   Observations




                                                          5
Empirical Investigation (cont.)

•   The data from two studies are analyzed




•   Observations
     – A large number of bad smell candidates are detected by BSD tools




                                                                          6
Empirical Investigation (cont.)

•   The data from two studies are analyzed




•   Observations
     – A large number of bad smell candidates are detected by BSD tools
     – The developer rejects about 60% of the detected candidates




                                                                          7
Empirical Investigation (cont.)

•   The data from two studies are analyzed




•   Observations
     – A large number of bad smell candidates are detected by BSD tools
     – The developer rejects about 60% of the detected candidates
     – Small portion of candidates can be directly removed as suggested by BSD tools




                                                                                8
Empirical Investigation (cont.)

•   The data from two studies are analyzed




•   Observations
     – A large number of bad smell candidates are detected by BSD tools
     – The developer rejects about 60% of the detected candidates
     – Small portion of candidates can be directly removed as suggested by BSD tools



    Tool support is required during bad smell inspection

                                                                                 9
MAVIS Visualization Tool

• MAVIS (Metric Abstraction VISualization) aims to
   – provide visualization for inspecting cohesion-based bad smell
     candidates returned by BSD tools

   – visualize metric abstractions, the linkage between software code
     structure and software metrics, for exposing the bad smell symptoms

   – link visualization to corresponding code for locating symptomatic code
     during code inspection




                                                                        10
MAVIS Visualization Tool




                           11
MAVIS Visualization Tool




• Data accessing metric abstractions
   • ATLD: Access to local data
   • ATFD: Access to foreign data

• Message passing metric abstractions
   • LMP: Local message passing
   • MPC: Message passing coupling




                                        12
MAVIS Visualization Tool




                           13
Source Code Navigation in MAVIS




                                  14
Evaluation (cont.)

      • Inspecting candidates with MAVIS
          – Subjects
              • HSQLDB / 199 KLOC
              • JEdit  / 133 KLOC

          – Utilized BSD tool
              • JDeodorant




                                     15
Evaluation (cont.)


      • Half of the candidates are false
        positives




                                  16
Evaluation (cont.)


      • Half of the candidates are false
        positives

      • 1/3 of the candidates can be directly
         judged using MAVIS visualization

      • The code inspection effort for these
        candidates are eliminated




                                       17
Conclusion

• Cohesion-based bad smell removal is a human intensive activity that
  requires supports for decision making

• MAVIS is proposed for assisting cohesion-based bad smell inspection
    – visualizing metric sensitive structural information
    – navigating code through metric abstractions


• Two case studies are performed to confirm the effectiveness of MAVIS
    – 1/3 of the source code inspection effort are reduced by using MAVIS




                                                                            18
Thank You
Lee Wei Mar (馬立偉)
lwmar@nature.ee.ncku.edu.tw
Database & Software Engineering Lab, NCKU
國立成功大學
資料庫暨軟體工程實驗室

More Related Content

Viewers also liked

Recommending Proper API Code Examples for Documentation Purpose
Recommending Proper API Code Examples for Documentation PurposeRecommending Proper API Code Examples for Documentation Purpose
Recommending Proper API Code Examples for Documentation Purpose
立偉 馬
 
KCB101 storyboard MK AN
KCB101 storyboard MK ANKCB101 storyboard MK AN
KCB101 storyboard MK AN
ash2007080
 
A Scripting Environment for Refactoring Process Execution
A Scripting Environment for Refactoring Process ExecutionA Scripting Environment for Refactoring Process Execution
A Scripting Environment for Refactoring Process Execution
立偉 馬
 
Cdma
CdmaCdma
USING FINANCIAL STATEMENTS INFORMATION
USING FINANCIAL STATEMENTS INFORMATIONUSING FINANCIAL STATEMENTS INFORMATION
USING FINANCIAL STATEMENTS INFORMATION
Doulat panah
 
Online Marketing in Singapore - Hipponetwork
Online Marketing in Singapore - Hipponetwork Online Marketing in Singapore - Hipponetwork
Online Marketing in Singapore - Hipponetwork
HippoNetwork.com
 
Yields of mortgage backed securities
Yields of mortgage   backed securitiesYields of mortgage   backed securities
Yields of mortgage backed securities
Ali Ünal
 
Social media
Social mediaSocial media
Social media
Mary Valles
 
Immunitytheory
ImmunitytheoryImmunitytheory
Immunitytheory
Rakesh S
 
Informe tecnico marzo 2016
Informe tecnico marzo 2016Informe tecnico marzo 2016
Informe tecnico marzo 2016
Gerardo Manuel Durán Pérez
 
Bangun Datar Layang layang
Bangun Datar Layang layang Bangun Datar Layang layang
Bangun Datar Layang layang Jihan Nabilah
 
8. Evangelina
8. Evangelina8. Evangelina
8. Evangelina
Lynzgel
 
Jihan Nabilah Ekayono Putri Persentasi Bab Cahaya Kelas 8
Jihan Nabilah Ekayono Putri  Persentasi Bab Cahaya Kelas 8Jihan Nabilah Ekayono Putri  Persentasi Bab Cahaya Kelas 8
Jihan Nabilah Ekayono Putri Persentasi Bab Cahaya Kelas 8
Jihan Nabilah
 
20161126_Blender step2
20161126_Blender step220161126_Blender step2
20161126_Blender step2
naotaro0123
 

Viewers also liked (14)

Recommending Proper API Code Examples for Documentation Purpose
Recommending Proper API Code Examples for Documentation PurposeRecommending Proper API Code Examples for Documentation Purpose
Recommending Proper API Code Examples for Documentation Purpose
 
KCB101 storyboard MK AN
KCB101 storyboard MK ANKCB101 storyboard MK AN
KCB101 storyboard MK AN
 
A Scripting Environment for Refactoring Process Execution
A Scripting Environment for Refactoring Process ExecutionA Scripting Environment for Refactoring Process Execution
A Scripting Environment for Refactoring Process Execution
 
Cdma
CdmaCdma
Cdma
 
USING FINANCIAL STATEMENTS INFORMATION
USING FINANCIAL STATEMENTS INFORMATIONUSING FINANCIAL STATEMENTS INFORMATION
USING FINANCIAL STATEMENTS INFORMATION
 
Online Marketing in Singapore - Hipponetwork
Online Marketing in Singapore - Hipponetwork Online Marketing in Singapore - Hipponetwork
Online Marketing in Singapore - Hipponetwork
 
Yields of mortgage backed securities
Yields of mortgage   backed securitiesYields of mortgage   backed securities
Yields of mortgage backed securities
 
Social media
Social mediaSocial media
Social media
 
Immunitytheory
ImmunitytheoryImmunitytheory
Immunitytheory
 
Informe tecnico marzo 2016
Informe tecnico marzo 2016Informe tecnico marzo 2016
Informe tecnico marzo 2016
 
Bangun Datar Layang layang
Bangun Datar Layang layang Bangun Datar Layang layang
Bangun Datar Layang layang
 
8. Evangelina
8. Evangelina8. Evangelina
8. Evangelina
 
Jihan Nabilah Ekayono Putri Persentasi Bab Cahaya Kelas 8
Jihan Nabilah Ekayono Putri  Persentasi Bab Cahaya Kelas 8Jihan Nabilah Ekayono Putri  Persentasi Bab Cahaya Kelas 8
Jihan Nabilah Ekayono Putri Persentasi Bab Cahaya Kelas 8
 
20161126_Blender step2
20161126_Blender step220161126_Blender step2
20161126_Blender step2
 

Similar to MAVIS: A Visualization Tool for Cohesion-based Bad Smell Inspection

Blackboard DevCon 2012 - Ensuring Code Quality
Blackboard DevCon 2012 - Ensuring Code QualityBlackboard DevCon 2012 - Ensuring Code Quality
Blackboard DevCon 2012 - Ensuring Code Quality
Noriaki Tatsumi
 
Design and Development of an Efficient Malware Detection Using ML
Design and Development of an Efficient Malware Detection Using MLDesign and Development of an Efficient Malware Detection Using ML
Design and Development of an Efficient Malware Detection Using ML
Siva krishnam raju Patsamatla
 
Discovering Flaws in Security-Focused Static Analysis Tools for Android using...
Discovering Flaws in Security-Focused Static Analysis Tools for Android using...Discovering Flaws in Security-Focused Static Analysis Tools for Android using...
Discovering Flaws in Security-Focused Static Analysis Tools for Android using...
Kevin Moran
 
Open Source Security for Newbies - Best Practices
Open Source Security for Newbies - Best PracticesOpen Source Security for Newbies - Best Practices
Open Source Security for Newbies - Best Practices
Black Duck by Synopsys
 
Uncertainty, Risk, and Information Value in Software Requirements and Archite...
Uncertainty, Risk, and Information Value in Software Requirements and Archite...Uncertainty, Risk, and Information Value in Software Requirements and Archite...
Uncertainty, Risk, and Information Value in Software Requirements and Archite...
Emmanuel Letier
 
COSC 426 Lect. 7: Evaluating AR Applications
COSC 426 Lect. 7: Evaluating AR ApplicationsCOSC 426 Lect. 7: Evaluating AR Applications
COSC 426 Lect. 7: Evaluating AR Applications
Mark Billinghurst
 
Webinar–Delivering a Next Generation Vulnerability Feed
Webinar–Delivering a Next Generation Vulnerability FeedWebinar–Delivering a Next Generation Vulnerability Feed
Webinar–Delivering a Next Generation Vulnerability Feed
Synopsys Software Integrity Group
 
___ qr code ________ lims (1)
  ___ qr code ________ lims (1)  ___ qr code ________ lims (1)
___ qr code ________ lims (1)
Naowal Siripatana
 
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
Kevin Moran
 
Development, Confusion and Exploration of Honeypot Technology
Development, Confusion and Exploration of Honeypot TechnologyDevelopment, Confusion and Exploration of Honeypot Technology
Development, Confusion and Exploration of Honeypot Technology
Antiy Labs
 
Cheap And Efficient Tools Euroia09
Cheap And Efficient Tools Euroia09Cheap And Efficient Tools Euroia09
Cheap And Efficient Tools Euroia09
Belen Barros Pena
 
Multivariate Data analysis Workshop at UC Davis 2012
Multivariate Data analysis Workshop at UC Davis 2012Multivariate Data analysis Workshop at UC Davis 2012
Multivariate Data analysis Workshop at UC Davis 2012
Dmitry Grapov
 
A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...
A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...
A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...
Mahmoud Hammad
 
Application Assessment Techniques
Application Assessment TechniquesApplication Assessment Techniques
Application Assessment Techniques
Denim Group
 
Software design Project Presentation-1.pptx
Software design Project Presentation-1.pptxSoftware design Project Presentation-1.pptx
Software design Project Presentation-1.pptx
krthkkholi
 
Unit no 09_developing sampling plan
Unit no 09_developing sampling planUnit no 09_developing sampling plan
Unit no 09_developing sampling plan
Jaipal Dhobale
 
Would Static Analysis Tools Help Developers with Code Reviews?
Would Static Analysis Tools Help Developers with Code Reviews?Would Static Analysis Tools Help Developers with Code Reviews?
Would Static Analysis Tools Help Developers with Code Reviews?
Sebastiano Panichella
 
Presentation on vulnerability analysis
Presentation on vulnerability analysisPresentation on vulnerability analysis
Presentation on vulnerability analysis
Asif Anik
 
Best Practices for Validating a Next-Gen Sequencing Workflow
Best Practices for Validating a Next-Gen Sequencing WorkflowBest Practices for Validating a Next-Gen Sequencing Workflow
Best Practices for Validating a Next-Gen Sequencing Workflow
Golden Helix
 
Myths and Misperceptions of Open Source Security
Myths and Misperceptions of Open Source Security Myths and Misperceptions of Open Source Security
Myths and Misperceptions of Open Source Security
Black Duck by Synopsys
 

Similar to MAVIS: A Visualization Tool for Cohesion-based Bad Smell Inspection (20)

Blackboard DevCon 2012 - Ensuring Code Quality
Blackboard DevCon 2012 - Ensuring Code QualityBlackboard DevCon 2012 - Ensuring Code Quality
Blackboard DevCon 2012 - Ensuring Code Quality
 
Design and Development of an Efficient Malware Detection Using ML
Design and Development of an Efficient Malware Detection Using MLDesign and Development of an Efficient Malware Detection Using ML
Design and Development of an Efficient Malware Detection Using ML
 
Discovering Flaws in Security-Focused Static Analysis Tools for Android using...
Discovering Flaws in Security-Focused Static Analysis Tools for Android using...Discovering Flaws in Security-Focused Static Analysis Tools for Android using...
Discovering Flaws in Security-Focused Static Analysis Tools for Android using...
 
Open Source Security for Newbies - Best Practices
Open Source Security for Newbies - Best PracticesOpen Source Security for Newbies - Best Practices
Open Source Security for Newbies - Best Practices
 
Uncertainty, Risk, and Information Value in Software Requirements and Archite...
Uncertainty, Risk, and Information Value in Software Requirements and Archite...Uncertainty, Risk, and Information Value in Software Requirements and Archite...
Uncertainty, Risk, and Information Value in Software Requirements and Archite...
 
COSC 426 Lect. 7: Evaluating AR Applications
COSC 426 Lect. 7: Evaluating AR ApplicationsCOSC 426 Lect. 7: Evaluating AR Applications
COSC 426 Lect. 7: Evaluating AR Applications
 
Webinar–Delivering a Next Generation Vulnerability Feed
Webinar–Delivering a Next Generation Vulnerability FeedWebinar–Delivering a Next Generation Vulnerability Feed
Webinar–Delivering a Next Generation Vulnerability Feed
 
___ qr code ________ lims (1)
  ___ qr code ________ lims (1)  ___ qr code ________ lims (1)
___ qr code ________ lims (1)
 
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
 
Development, Confusion and Exploration of Honeypot Technology
Development, Confusion and Exploration of Honeypot TechnologyDevelopment, Confusion and Exploration of Honeypot Technology
Development, Confusion and Exploration of Honeypot Technology
 
Cheap And Efficient Tools Euroia09
Cheap And Efficient Tools Euroia09Cheap And Efficient Tools Euroia09
Cheap And Efficient Tools Euroia09
 
Multivariate Data analysis Workshop at UC Davis 2012
Multivariate Data analysis Workshop at UC Davis 2012Multivariate Data analysis Workshop at UC Davis 2012
Multivariate Data analysis Workshop at UC Davis 2012
 
A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...
A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...
A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...
 
Application Assessment Techniques
Application Assessment TechniquesApplication Assessment Techniques
Application Assessment Techniques
 
Software design Project Presentation-1.pptx
Software design Project Presentation-1.pptxSoftware design Project Presentation-1.pptx
Software design Project Presentation-1.pptx
 
Unit no 09_developing sampling plan
Unit no 09_developing sampling planUnit no 09_developing sampling plan
Unit no 09_developing sampling plan
 
Would Static Analysis Tools Help Developers with Code Reviews?
Would Static Analysis Tools Help Developers with Code Reviews?Would Static Analysis Tools Help Developers with Code Reviews?
Would Static Analysis Tools Help Developers with Code Reviews?
 
Presentation on vulnerability analysis
Presentation on vulnerability analysisPresentation on vulnerability analysis
Presentation on vulnerability analysis
 
Best Practices for Validating a Next-Gen Sequencing Workflow
Best Practices for Validating a Next-Gen Sequencing WorkflowBest Practices for Validating a Next-Gen Sequencing Workflow
Best Practices for Validating a Next-Gen Sequencing Workflow
 
Myths and Misperceptions of Open Source Security
Myths and Misperceptions of Open Source Security Myths and Misperceptions of Open Source Security
Myths and Misperceptions of Open Source Security
 

Recently uploaded

Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 

Recently uploaded (20)

Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 

MAVIS: A Visualization Tool for Cohesion-based Bad Smell Inspection

  • 1. MAVIS: A Visualization Tool for Cohesion-based Bad Smell Inspection Lee Wei Mar (馬立偉), Ming Lun Lee (李明倫) and Hewijin Christine Jiau (焦惠津) Institute of Computer and Communication Engineering, NCKU 國立成功大學 電腦與通信工程研究所 Speaker: Lee Wei Mar (馬立偉) Date: 07/08/2011
  • 2. Outline • Introduction • Empirical Investigation • MAVIS Visualization Tool • Evaluation • Conclusion 2
  • 3. Introduction • Cohesion-based Bad Smells are structural deficiencies that violet “high cohesion and low coupling principle” – Feature Envy – God Class – Long Method • Cohesion-based bad smells are common refactoring targets during software evolution • Many bad smell detection (BSD) tools have been developed for suggesting cohesion-based bad smell candidates – The judgment of candidates still relies on developers’ expertise 3
  • 4. Empirical Investigation • Utilizing two BSD tool, InCode and JDeodorant, for bad smell removal • Conduction steps 1. Use BSD tool in finding Feature Envy candidates on a in Lab project: CARE 2. For each feature envy candidates, a developer inspect source code to answer a. Is it an Feature Envy? b. If it is a Feature Envy, can it be resolved by Move Method (MM)? • The data from two studies are analyzed 4
  • 5. Empirical Investigation (cont.) • The data from two studies are analyzed • Observations 5
  • 6. Empirical Investigation (cont.) • The data from two studies are analyzed • Observations – A large number of bad smell candidates are detected by BSD tools 6
  • 7. Empirical Investigation (cont.) • The data from two studies are analyzed • Observations – A large number of bad smell candidates are detected by BSD tools – The developer rejects about 60% of the detected candidates 7
  • 8. Empirical Investigation (cont.) • The data from two studies are analyzed • Observations – A large number of bad smell candidates are detected by BSD tools – The developer rejects about 60% of the detected candidates – Small portion of candidates can be directly removed as suggested by BSD tools 8
  • 9. Empirical Investigation (cont.) • The data from two studies are analyzed • Observations – A large number of bad smell candidates are detected by BSD tools – The developer rejects about 60% of the detected candidates – Small portion of candidates can be directly removed as suggested by BSD tools Tool support is required during bad smell inspection 9
  • 10. MAVIS Visualization Tool • MAVIS (Metric Abstraction VISualization) aims to – provide visualization for inspecting cohesion-based bad smell candidates returned by BSD tools – visualize metric abstractions, the linkage between software code structure and software metrics, for exposing the bad smell symptoms – link visualization to corresponding code for locating symptomatic code during code inspection 10
  • 12. MAVIS Visualization Tool • Data accessing metric abstractions • ATLD: Access to local data • ATFD: Access to foreign data • Message passing metric abstractions • LMP: Local message passing • MPC: Message passing coupling 12
  • 14. Source Code Navigation in MAVIS 14
  • 15. Evaluation (cont.) • Inspecting candidates with MAVIS – Subjects • HSQLDB / 199 KLOC • JEdit / 133 KLOC – Utilized BSD tool • JDeodorant 15
  • 16. Evaluation (cont.) • Half of the candidates are false positives 16
  • 17. Evaluation (cont.) • Half of the candidates are false positives • 1/3 of the candidates can be directly judged using MAVIS visualization • The code inspection effort for these candidates are eliminated 17
  • 18. Conclusion • Cohesion-based bad smell removal is a human intensive activity that requires supports for decision making • MAVIS is proposed for assisting cohesion-based bad smell inspection – visualizing metric sensitive structural information – navigating code through metric abstractions • Two case studies are performed to confirm the effectiveness of MAVIS – 1/3 of the source code inspection effort are reduced by using MAVIS 18
  • 19. Thank You Lee Wei Mar (馬立偉) lwmar@nature.ee.ncku.edu.tw Database & Software Engineering Lab, NCKU 國立成功大學 資料庫暨軟體工程實驗室