SlideShare uma empresa Scribd logo
1 de 61
Baixar para ler offline
Would Static Analysis Tools Help
Developers with Code Reviews?
Sebastiano Panichella Venera Arnaoudova Massimiliano Di Penta Giuliano Antoniol
OUTLINE
Context:
Code Reviews.
Case Study:
Code Reviews of
6 Open Source Projects.
Results:
Warnings Resolved by
Developers During Reviews.
CODE REVIEWS
Why, What, How?
CODE REVIEWS
Why?
CODE REVIEWS
Why: concrete benefits…
Improved	
  Code	
  
Quality
Fewer	
  defects	
  
in	
  Code
Improved	
  
Knowledge	
  
Transfer
Education	
  of	
  Junior	
  
Programmers
Benefits
“Expectations, Outcomes, and Challenges of Modern Code Review”
Alberto Bacchelli and Christian Bird - ICSE 2013
“Common Outcomes of Code Review”
CODE REVIEWS
What: types of peer code reviews?
Formal	
  Inspection	
  
Process
Over	
  The	
  Shoulder	
  
Reviews
Email	
  Pass	
  Around	
  
Interviews
Tool	
  assisted	
  
reviews
Pair	
  Programming
CODE REVIEWS
What: types of peer code reviews?
Over	
  The	
  Shoulder	
  
Reviews
Email	
  Pass	
  Around	
  
Interviews
Tool	
  assisted	
  
reviews
Pair	
  Programming
“Modern code review is a
form of code inspection
which has the qualities of
being informal, tool-based
and frequent.”
“Expectations, Outcomes, and Challenges of Modern Code Review”
Alberto Bacchelli and Christian Bird - ICSE 2013
Formal	
  Inspection	
  
Process
MODERN CODE REVIEWS
“Modern code review is a
form of code inspection
which has the qualities of
being informal, tool-based
and frequent.”
“Expectations, Outcomes, and Challenges of Modern Code Review”
Alberto Bacchelli and Christian Bird - ICSE 2013
MODERN CODE REVIEWS: TOOLS
(I)
Code Reviews
Management
GERRIT: a Tool to Conduct and
Manage Code Reviews
GERRIT: a Tool to Conduct and
Manage Code Reviews
GERRIT: a Tool to Conduct and
Manage Code Reviews
GERRIT: a Tool to Conduct and
Manage Code Reviews
GERRIT: a Tool to Conduct and
Manage Code Reviews
MODERN CODE REVIEWS
(I)
Code Reviews
Management
MODERN CODE REVIEWS
(I)
Code Reviews
Management
(II)
Bugs/Issues
Detection
MODERN CODE REVIEWS
(I)
Code Reviews
Management
(II)
Bugs/Issues
Detection
LIMITATION:
provide a too extensive list
of recommendations
Past Work
Kim et al. - FSE 2007
Only10%, of suggested
warnings are removed
by bug fix changes
To What Extend Static Analysis Tools Help
Developers During Code Reviews?
To What Extent Static Analysis Tools Help
Developers During Code Reviews?
Project History
To What Extent Static Analysis Tools Help
Developers During Code Reviews?
Project History
During Code Reviews
We argue that the Use of
Static AnalysisTools
Would be Highly Beneficial
During Code Reviews…
CASE STUDY
Code Reviews of 6 Open Source Projects.
Goal: understanding how static analysis tools could
have helped in dealing with warnings developers solved
during code reviews.
Quality focus: reducing developers’ effort during the
code review task.
Perspective: develop tool to support the
configuration of static analysis tools towards warnings
that are considered relevant by developers.
CASE STUDY
RESEARCH QUESTIONS
RQ1: To what extent warnings detected by static
analysis tools are removed during code reviews?
RQ2: What kinds of warnings detected by static
analysis tool are mainly considered during code
reviews?
Projects Observe Period KLOC # of Reviews
Analysed
Uses
Checkstylee
Uses
PDM
Eclipse CDT
2013-11-29 -
2014-09-22
1,500–
1,550
309
Eclipse Platform
UI
2013-06-24 -
2014-09-09
2,092–
2,305
16
Eclipse JDT
Core
2013-05-23 -
2014-09-24
2,736–
2,554
113
OpenDaylight
Controller
2013-01-01 -
2014-09-24
149–171 161
Motech
2013-07-24 -
2014-09-24
586–1,909 209
Vaadin 2013-06-01 -
2014-09-24
6,174–
6,114
180
CONTEXT
Object:
Tools Experimented:
STUDY PROCEDURE
PATCH SETS COMPARISON…
Given a
Code Review
PATCH SETS COMPARISON…
Given a
Code Review
We use…
PATCH SETS COMPARISON…
Given a
Code Review
We use... to compare
warnings density
variation between…
Firstpatch
Lastpatch
RQ1
To what extent warnings detected by
static analysis tools are removed
during code reviews?
Projects
Density of Warnings
[P-value]
# of Warning
[P-value]
Density of Warnings
[P-value]
# of Warning
[P-value]
Eclipse CDT 0.074 0.025 0.028 <001
Eclipse JDT Core 0.450 0.919 0.351 0.624
Eclipse Platform
UI
0.132 0.857 0.011 0.2
OpenDaylight
Controller
0.080 <0.01 0.614 <0.01
Motech >0.01 <0.01 0.205 <0.01
Vaadin NA NA 0.148 0.209
Changes of Warnings Density (and Absolute
Number) During Code Reviews.
Projects
Density of Wornings
[P-value]
# of Warning
[P-value]
Density of Wornings
[P-value]
# of Warning
[P-value]
Eclipse CDT 0.074 0.025 0.028 <001
Eclipse JDT Core 0.450 0.919 0.351 0.624
Eclipse Platform
UI
0.132 0.857 0.011 0.2
OpenDaylight
Controller
0.080 <0.01 0.614 <0.01
Motech >0.01 <0.01 0.205 <0.01
Vaadin NA NA 0.148 0.209
Changes of Warnings Density (and Absolute
Number) During Code Reviews.
Projects
Density of Wornings
[P-value]
# of Warning
[P-value]
Density of Wornings
[P-value]
# of Warning
[P-value]
Eclipse CDT 0.074 0.025 0.028 <001
Eclipse JDT Core 0.450 0.919 0.351 0.624
Eclipse Platform
UI
0.132 0.857 0.011 0.2
OpenDaylight
Controller
0.080 <0.01 0.614 <0.01
Motech >0.01 <0.01 0.205 <0.01
Vaadin NA NA 0.148 0.209
Changes of Warnings Density (and Absolute
Number) During Code Reviews.
Cumulative Percentage of
Removed Warnings
Projects
Uses
Checkstyle
Uses
PDM
% of Resolved Warnings % of Resolved Warnings
Eclipse CDT 11% 11%
Eclipse
Platform UI
5% 7%
Eclipse JDT
Core
11% 9%
OpenDaylight
Controller
15% 15%
Motech 23% 13%
Vaadin - 13%
Cumulative Percentage of
Removed Warnings
Projects
Uses
Checkstyle
Uses
PDM
% of Resolved Warnings % of Resolved Warnings
Eclipse CDT 11% 11%
Eclipse
Platform UI
5% 7%
Eclipse JDT
Core
11% 9%
OpenDaylight
Controller
15% 15%
Motech 23% 13%
Vaadin - 13%
RQ2
What kinds of warnings detected by
static analysis tool are mainly
considered during code reviews?
Qualitative Analysis
Qualitative Analysis
Qualitative Analysis
Qualitative Analysis
“We randomly sampled 10% of code
reviews that resolved at least one warning”
Qualitative AnalysisQualitative Analysis
“Warning that Developers
Fix During Code Reviews:”
Qualitative Analysis
“Warning that Developers
Fix During Code Reviews:”
Type Resolution
Qualitative Analysis
“Warning that Developers
Fix During Code Reviews:”
Unused code
Type Resolution
Qualitative Analysis
“Warning that Developers
Fix During Code Reviews:”
Imports
Regular Expression
Type Resolution
Unused code
Qualitative Analysis
“Warning that Developers
Fix During Code Reviews:”
Imports
Regular Expression
Type Resolution
Unused code
Eclipse CDT:
Percentage of PDM’ Resolved Warnings
Warning Types % Resolved Warnings
Type Resolution 100%
Import 100%
Basic 75%
Sunsecure 67%
Codesize 59%
Unusedcode 58%
Logging-java 51%
j2ee 47%
Design 42%
junit 38%
Empty 33%
Javabeans 26%
Naming 14%
Braces 14%
…. …..
Eclipse CDT:
Percentage of PDM’ Resolved Warnings
Warning Types % Resolved Warnings
Type Resolution 100%
Import 100%
Basic 75%
Sunsecure 67%
Codesize 59%
Unusedcode 58%
Logging-java 51%
j2ee 47%
Design 42%
junit 38%
Empty 33%
Javabeans 26%
Naming 14%
Braces 14%
…. …..
“Quantitative Analisys Confirms
Findings of the Qualitative analysis..”
OpenDaylight Controller:
Percentage of Checkstyle’ Resolved Warnings
Warning Types % Resolved Warnings
Regular Expressions 100%
Modifiers 100%
Metrics 100%
import 53%
Whitespace 48%
Class Design 47%
Annotations 40%
Naming 16%
Coding 15%
%Javadoc Comments 12%
Size Violations 11%
Javabeans 26%
Block Checks 10%
Miscellaneous 8%
…. …..
“Similar Results for Checkstyle Warnings..”
OpenDaylight Controller:
Percentage of Checkstyle’ Resolved Warnings
Warning Types % Resolved Warnings
Regular Expressions 100%
Modifiers 100%
Metrics 100%
import 53%
Whitespace 48%
Class Design 47%
Annotations 40%
Naming 16%
Coding 15%
%
Javadoc Comments 12%
Size Violations 11%
Javabeans 26%
Block Checks 10%
Miscellaneous 8%
…. …..
Developers Fix also
Warnings related to:
1) naming convention
2) code formatting
3) code comments
By implication…
“Enforcing the removal of certain warnings
before submitting a patch..”
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?
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?
Would Static Analysis Tools Help Developers with Code Reviews?
Would Static Analysis Tools Help Developers with Code Reviews?

Mais conteúdo relacionado

Mais procurados

Realtime selenium interview questions
Realtime selenium interview questionsRealtime selenium interview questions
Realtime selenium interview questionsKuldeep Pawar
 
Selenium interview-questions-freshers
Selenium interview-questions-freshersSelenium interview-questions-freshers
Selenium interview-questions-freshersNaga Mani
 
Patterns in Testing
Patterns in TestingPatterns in Testing
Patterns in TestingJoe Chavez
 
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...DevLabs Alliance
 
Dev labs alliance top 20 basic java interview questions for sdet
Dev labs alliance top 20 basic java interview questions for sdetDev labs alliance top 20 basic java interview questions for sdet
Dev labs alliance top 20 basic java interview questions for sdetDevLabs Alliance
 
Spring Framework Core Technologies
Spring Framework Core TechnologiesSpring Framework Core Technologies
Spring Framework Core TechnologiesDmitriy Gorban
 
Top 20 cucumber interview questions for sdet
Top 20 cucumber interview questions for sdetTop 20 cucumber interview questions for sdet
Top 20 cucumber interview questions for sdetDevLabs Alliance
 
Top 20 Junit interview questions for sdet
Top 20 Junit interview questions for sdetTop 20 Junit interview questions for sdet
Top 20 Junit interview questions for sdetDevLabs Alliance
 
Regular use of static code analysis in team development
Regular use of static code analysis in team developmentRegular use of static code analysis in team development
Regular use of static code analysis in team developmentPVS-Studio
 
PVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ codePVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ codePVS-Studio
 
Introducing Keyword-Driven Test Automation
Introducing Keyword-Driven Test AutomationIntroducing Keyword-Driven Test Automation
Introducing Keyword-Driven Test AutomationTechWell
 
Software testing tools (free and open source)
Software testing tools (free and open source)Software testing tools (free and open source)
Software testing tools (free and open source)Wael Mansour
 
How to do code review and use analysis tool in software development
How to do code review and use analysis tool in software developmentHow to do code review and use analysis tool in software development
How to do code review and use analysis tool in software developmentMitosis Technology
 
Introducing Keyword-driven Test Automation
Introducing Keyword-driven Test AutomationIntroducing Keyword-driven Test Automation
Introducing Keyword-driven Test AutomationTechWell
 
Quest to the best test automation for low code development platform kherrazi ...
Quest to the best test automation for low code development platform kherrazi ...Quest to the best test automation for low code development platform kherrazi ...
Quest to the best test automation for low code development platform kherrazi ...Rachid Kherrazi
 

Mais procurados (20)

nullcon 2011 - Fuzzing with Complexities
nullcon 2011 - Fuzzing with Complexitiesnullcon 2011 - Fuzzing with Complexities
nullcon 2011 - Fuzzing with Complexities
 
Realtime selenium interview questions
Realtime selenium interview questionsRealtime selenium interview questions
Realtime selenium interview questions
 
Selenium interview-questions-freshers
Selenium interview-questions-freshersSelenium interview-questions-freshers
Selenium interview-questions-freshers
 
Patterns in Testing
Patterns in TestingPatterns in Testing
Patterns in Testing
 
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
 
Dev labs alliance top 20 basic java interview questions for sdet
Dev labs alliance top 20 basic java interview questions for sdetDev labs alliance top 20 basic java interview questions for sdet
Dev labs alliance top 20 basic java interview questions for sdet
 
Spring Framework Core Technologies
Spring Framework Core TechnologiesSpring Framework Core Technologies
Spring Framework Core Technologies
 
Top 20 cucumber interview questions for sdet
Top 20 cucumber interview questions for sdetTop 20 cucumber interview questions for sdet
Top 20 cucumber interview questions for sdet
 
Top 20 Junit interview questions for sdet
Top 20 Junit interview questions for sdetTop 20 Junit interview questions for sdet
Top 20 Junit interview questions for sdet
 
Test Automation and Keyword-driven testing af Brian Nielsen, CISS/AAU
Test Automation and Keyword-driven testing af Brian Nielsen, CISS/AAUTest Automation and Keyword-driven testing af Brian Nielsen, CISS/AAU
Test Automation and Keyword-driven testing af Brian Nielsen, CISS/AAU
 
Regular use of static code analysis in team development
Regular use of static code analysis in team developmentRegular use of static code analysis in team development
Regular use of static code analysis in team development
 
PVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ codePVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ code
 
Introducing Keyword-Driven Test Automation
Introducing Keyword-Driven Test AutomationIntroducing Keyword-Driven Test Automation
Introducing Keyword-Driven Test Automation
 
Software testing tools (free and open source)
Software testing tools (free and open source)Software testing tools (free and open source)
Software testing tools (free and open source)
 
Robotium - sampath
Robotium - sampathRobotium - sampath
Robotium - sampath
 
How to do code review and use analysis tool in software development
How to do code review and use analysis tool in software developmentHow to do code review and use analysis tool in software development
How to do code review and use analysis tool in software development
 
Introducing Keyword-driven Test Automation
Introducing Keyword-driven Test AutomationIntroducing Keyword-driven Test Automation
Introducing Keyword-driven Test Automation
 
Java quick reference
Java quick referenceJava quick reference
Java quick reference
 
Quest to the best test automation for low code development platform kherrazi ...
Quest to the best test automation for low code development platform kherrazi ...Quest to the best test automation for low code development platform kherrazi ...
Quest to the best test automation for low code development platform kherrazi ...
 
Unit testing (eng)
Unit testing (eng)Unit testing (eng)
Unit testing (eng)
 

Destaque

EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16msohn
 
Code review
Code reviewCode review
Code reviewdqpi
 
Jaroslav Šnajdr: Getting a Business Collaboration Service Into Cloud: A Case ...
Jaroslav Šnajdr: Getting a Business Collaboration Service Into Cloud: A Case ...Jaroslav Šnajdr: Getting a Business Collaboration Service Into Cloud: A Case ...
Jaroslav Šnajdr: Getting a Business Collaboration Service Into Cloud: A Case ...WebExpo
 
Jakub Vrána: Code Reviews with Phabricator
Jakub Vrána: Code Reviews with PhabricatorJakub Vrána: Code Reviews with Phabricator
Jakub Vrána: Code Reviews with PhabricatorWebExpo
 
Review your code like a Googler
Review your code like a GooglerReview your code like a Googler
Review your code like a GooglerDariusz Łuksza
 
Scaling your code review
Scaling your code reviewScaling your code review
Scaling your code reviewSander Bol
 
WordCamp US 2016 - Ryan Markel: Code Review
WordCamp US 2016 - Ryan Markel: Code ReviewWordCamp US 2016 - Ryan Markel: Code Review
WordCamp US 2016 - Ryan Markel: Code Reviewthemarkel
 
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)Sung Kim
 
Code reviews
Code reviewsCode reviews
Code reviewsJuan Maiz
 
Peer Code Review An Agile Process
Peer Code Review An Agile ProcessPeer Code Review An Agile Process
Peer Code Review An Agile Processgsporar
 
Fix Your Broken Windows With Code Reviews - phpist14
Fix Your Broken Windows With Code Reviews - phpist14Fix Your Broken Windows With Code Reviews - phpist14
Fix Your Broken Windows With Code Reviews - phpist14Lemi Orhan Ergin
 
How to successfully grow a code review culture
How to successfully grow a code review cultureHow to successfully grow a code review culture
How to successfully grow a code review cultureNina Zakharenko
 
How to build a great coding culture
How to build a great coding cultureHow to build a great coding culture
How to build a great coding cultureMark Halvorson
 
Sass Code Reviews - How one code review changed my life #SassConf2015
Sass Code Reviews - How one code review changed my life #SassConf2015Sass Code Reviews - How one code review changed my life #SassConf2015
Sass Code Reviews - How one code review changed my life #SassConf2015Stacy Kvernmo
 

Destaque (17)

PVS-Studio vs Clang
PVS-Studio vs ClangPVS-Studio vs Clang
PVS-Studio vs Clang
 
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
 
Code review
Code reviewCode review
Code review
 
Jaroslav Šnajdr: Getting a Business Collaboration Service Into Cloud: A Case ...
Jaroslav Šnajdr: Getting a Business Collaboration Service Into Cloud: A Case ...Jaroslav Šnajdr: Getting a Business Collaboration Service Into Cloud: A Case ...
Jaroslav Šnajdr: Getting a Business Collaboration Service Into Cloud: A Case ...
 
Jakub Vrána: Code Reviews with Phabricator
Jakub Vrána: Code Reviews with PhabricatorJakub Vrána: Code Reviews with Phabricator
Jakub Vrána: Code Reviews with Phabricator
 
Review your code like a Googler
Review your code like a GooglerReview your code like a Googler
Review your code like a Googler
 
Scaling your code review
Scaling your code reviewScaling your code review
Scaling your code review
 
WordCamp US 2016 - Ryan Markel: Code Review
WordCamp US 2016 - Ryan Markel: Code ReviewWordCamp US 2016 - Ryan Markel: Code Review
WordCamp US 2016 - Ryan Markel: Code Review
 
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
 
Code reviews
Code reviewsCode reviews
Code reviews
 
Peer Code Review An Agile Process
Peer Code Review An Agile ProcessPeer Code Review An Agile Process
Peer Code Review An Agile Process
 
Fix Your Broken Windows With Code Reviews - phpist14
Fix Your Broken Windows With Code Reviews - phpist14Fix Your Broken Windows With Code Reviews - phpist14
Fix Your Broken Windows With Code Reviews - phpist14
 
Code Review
Code ReviewCode Review
Code Review
 
Effective code reviews
Effective code reviewsEffective code reviews
Effective code reviews
 
How to successfully grow a code review culture
How to successfully grow a code review cultureHow to successfully grow a code review culture
How to successfully grow a code review culture
 
How to build a great coding culture
How to build a great coding cultureHow to build a great coding culture
How to build a great coding culture
 
Sass Code Reviews - How one code review changed my life #SassConf2015
Sass Code Reviews - How one code review changed my life #SassConf2015Sass Code Reviews - How one code review changed my life #SassConf2015
Sass Code Reviews - How one code review changed my life #SassConf2015
 

Semelhante a Would Static Analysis Tools Help Developers with Code Reviews?

The Power of Feedback Loops
The Power of Feedback LoopsThe Power of Feedback Loops
The Power of Feedback LoopsAgileCymru
 
Software Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionSoftware Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionJosh Gough
 
Top 10 static code analysis tool
Top 10 static code analysis toolTop 10 static code analysis tool
Top 10 static code analysis toolscmGalaxy Inc
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLCAdeel Rasheed
 
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...The University of Adelaide
 
Part5 - enforcing coding standard and best practices with jas forge v1.0
Part5 -  enforcing coding standard and best practices with jas forge v1.0Part5 -  enforcing coding standard and best practices with jas forge v1.0
Part5 - enforcing coding standard and best practices with jas forge v1.0Jasmine Conseil
 
Code-Review-Principles-Process-and-Tools (1)
Code-Review-Principles-Process-and-Tools (1)Code-Review-Principles-Process-and-Tools (1)
Code-Review-Principles-Process-and-Tools (1)Aditya Bhuyan
 
Slides for Houston iPhone Developers' Meetup (April 2012)
Slides for Houston iPhone Developers' Meetup (April 2012)Slides for Houston iPhone Developers' Meetup (April 2012)
Slides for Houston iPhone Developers' Meetup (April 2012)lqi
 
Continuous Inspection of Code Quality: SonarQube
Continuous Inspection of Code Quality: SonarQubeContinuous Inspection of Code Quality: SonarQube
Continuous Inspection of Code Quality: SonarQubeEmre Dündar
 
Using HPC Resources to Exploit Big Data for Code Review Analytics
Using HPC Resources to Exploit Big Data for Code Review AnalyticsUsing HPC Resources to Exploit Big Data for Code Review Analytics
Using HPC Resources to Exploit Big Data for Code Review AnalyticsThe University of Adelaide
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010Klocwork
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategiesRaquel Pau
 

Semelhante a Would Static Analysis Tools Help Developers with Code Reviews? (20)

The Power of Feedback Loops
The Power of Feedback LoopsThe Power of Feedback Loops
The Power of Feedback Loops
 
Software Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionSoftware Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous Inspection
 
Top 10 static code analysis tool
Top 10 static code analysis toolTop 10 static code analysis tool
Top 10 static code analysis tool
 
1.Basic Introduction (1).ppt
1.Basic Introduction (1).ppt1.Basic Introduction (1).ppt
1.Basic Introduction (1).ppt
 
postdev.pptx
postdev.pptxpostdev.pptx
postdev.pptx
 
Ensuring code quality
Ensuring code qualityEnsuring code quality
Ensuring code quality
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
Test-Driven Code Review: An Empirical Study
Test-Driven Code Review: An Empirical StudyTest-Driven Code Review: An Empirical Study
Test-Driven Code Review: An Empirical Study
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
 
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...
 
Part5 - enforcing coding standard and best practices with jas forge v1.0
Part5 -  enforcing coding standard and best practices with jas forge v1.0Part5 -  enforcing coding standard and best practices with jas forge v1.0
Part5 - enforcing coding standard and best practices with jas forge v1.0
 
Static Code Analysis
Static Code AnalysisStatic Code Analysis
Static Code Analysis
 
Code-Review-Principles-Process-and-Tools (1)
Code-Review-Principles-Process-and-Tools (1)Code-Review-Principles-Process-and-Tools (1)
Code-Review-Principles-Process-and-Tools (1)
 
Slides for Houston iPhone Developers' Meetup (April 2012)
Slides for Houston iPhone Developers' Meetup (April 2012)Slides for Houston iPhone Developers' Meetup (April 2012)
Slides for Houston iPhone Developers' Meetup (April 2012)
 
Continuous Inspection of Code Quality: SonarQube
Continuous Inspection of Code Quality: SonarQubeContinuous Inspection of Code Quality: SonarQube
Continuous Inspection of Code Quality: SonarQube
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
Using HPC Resources to Exploit Big Data for Code Review Analytics
Using HPC Resources to Exploit Big Data for Code Review AnalyticsUsing HPC Resources to Exploit Big Data for Code Review Analytics
Using HPC Resources to Exploit Big Data for Code Review Analytics
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010
 
mydevops.pptx
mydevops.pptxmydevops.pptx
mydevops.pptx
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
 

Mais de Sebastiano Panichella

The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...Sebastiano Panichella
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSebastiano Panichella
 
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSebastiano Panichella
 
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSimulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSebastiano Panichella
 
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...Sebastiano Panichella
 
COSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical SystemsCOSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical SystemsSebastiano Panichella
 
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Sebastiano Panichella
 
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...Sebastiano Panichella
 
Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...Sebastiano Panichella
 
The 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringThe 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
The 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingThe 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingSebastiano Panichella
 
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...Sebastiano Panichella
 
Exposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play AppsExposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play AppsSebastiano Panichella
 
Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Sebastiano Panichella
 
NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22Sebastiano Panichella
 
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
 "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.  "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021. Sebastiano Panichella
 
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...Sebastiano Panichella
 
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...Sebastiano Panichella
 

Mais de Sebastiano Panichella (20)

The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software Engineering
 
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation Track
 
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
 
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSimulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
 
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
 
COSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical SystemsCOSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical Systems
 
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
 
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
 
Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...
 
The 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringThe 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software Engineering
 
The 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingThe 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz Testing
 
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
 
Exposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play AppsExposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play Apps
 
Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22
 
NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22
 
NLBSE’22: Tool Competition
NLBSE’22: Tool CompetitionNLBSE’22: Tool Competition
NLBSE’22: Tool Competition
 
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
 "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.  "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
 
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
 
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
 

Último

Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Chameera Dedduwage
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxNikitaBankoti2
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsaqsarehman5055
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyPooja Nehwal
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Kayode Fayemi
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxraffaeleoman
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfSenaatti-kiinteistöt
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar TrainingKylaCullinane
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Delhi Call girls
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesPooja Nehwal
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024eCommerce Institute
 
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMoumonDas2
 
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxmohammadalnahdi22
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...Sheetaleventcompany
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Hasting Chen
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaKayode Fayemi
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Vipesco
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardsticksaastr
 

Último (20)

Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animals
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
 
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptx
 
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
 
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
 

Would Static Analysis Tools Help Developers with Code Reviews?

  • 1. Would Static Analysis Tools Help Developers with Code Reviews? Sebastiano Panichella Venera Arnaoudova Massimiliano Di Penta Giuliano Antoniol
  • 2. OUTLINE Context: Code Reviews. Case Study: Code Reviews of 6 Open Source Projects. Results: Warnings Resolved by Developers During Reviews.
  • 5. CODE REVIEWS Why: concrete benefits… Improved  Code   Quality Fewer  defects   in  Code Improved   Knowledge   Transfer Education  of  Junior   Programmers Benefits “Expectations, Outcomes, and Challenges of Modern Code Review” Alberto Bacchelli and Christian Bird - ICSE 2013 “Common Outcomes of Code Review”
  • 6. CODE REVIEWS What: types of peer code reviews? Formal  Inspection   Process Over  The  Shoulder   Reviews Email  Pass  Around   Interviews Tool  assisted   reviews Pair  Programming
  • 7. CODE REVIEWS What: types of peer code reviews? Over  The  Shoulder   Reviews Email  Pass  Around   Interviews Tool  assisted   reviews Pair  Programming “Modern code review is a form of code inspection which has the qualities of being informal, tool-based and frequent.” “Expectations, Outcomes, and Challenges of Modern Code Review” Alberto Bacchelli and Christian Bird - ICSE 2013 Formal  Inspection   Process
  • 8. MODERN CODE REVIEWS “Modern code review is a form of code inspection which has the qualities of being informal, tool-based and frequent.” “Expectations, Outcomes, and Challenges of Modern Code Review” Alberto Bacchelli and Christian Bird - ICSE 2013
  • 9. MODERN CODE REVIEWS: TOOLS (I) Code Reviews Management
  • 10. GERRIT: a Tool to Conduct and Manage Code Reviews
  • 11. GERRIT: a Tool to Conduct and Manage Code Reviews
  • 12. GERRIT: a Tool to Conduct and Manage Code Reviews
  • 13. GERRIT: a Tool to Conduct and Manage Code Reviews
  • 14. GERRIT: a Tool to Conduct and Manage Code Reviews
  • 15. MODERN CODE REVIEWS (I) Code Reviews Management
  • 16. MODERN CODE REVIEWS (I) Code Reviews Management (II) Bugs/Issues Detection
  • 17. MODERN CODE REVIEWS (I) Code Reviews Management (II) Bugs/Issues Detection LIMITATION: provide a too extensive list of recommendations
  • 18. Past Work Kim et al. - FSE 2007 Only10%, of suggested warnings are removed by bug fix changes
  • 19. To What Extend Static Analysis Tools Help Developers During Code Reviews?
  • 20. To What Extent Static Analysis Tools Help Developers During Code Reviews? Project History
  • 21. To What Extent Static Analysis Tools Help Developers During Code Reviews? Project History During Code Reviews We argue that the Use of Static AnalysisTools Would be Highly Beneficial During Code Reviews…
  • 22. CASE STUDY Code Reviews of 6 Open Source Projects.
  • 23. Goal: understanding how static analysis tools could have helped in dealing with warnings developers solved during code reviews. Quality focus: reducing developers’ effort during the code review task. Perspective: develop tool to support the configuration of static analysis tools towards warnings that are considered relevant by developers. CASE STUDY
  • 24. RESEARCH QUESTIONS RQ1: To what extent warnings detected by static analysis tools are removed during code reviews? RQ2: What kinds of warnings detected by static analysis tool are mainly considered during code reviews?
  • 25. Projects Observe Period KLOC # of Reviews Analysed Uses Checkstylee Uses PDM Eclipse CDT 2013-11-29 - 2014-09-22 1,500– 1,550 309 Eclipse Platform UI 2013-06-24 - 2014-09-09 2,092– 2,305 16 Eclipse JDT Core 2013-05-23 - 2014-09-24 2,736– 2,554 113 OpenDaylight Controller 2013-01-01 - 2014-09-24 149–171 161 Motech 2013-07-24 - 2014-09-24 586–1,909 209 Vaadin 2013-06-01 - 2014-09-24 6,174– 6,114 180 CONTEXT Object: Tools Experimented:
  • 28. PATCH SETS COMPARISON… Given a Code Review We use…
  • 29. PATCH SETS COMPARISON… Given a Code Review We use... to compare warnings density variation between… Firstpatch Lastpatch
  • 30.
  • 31. RQ1 To what extent warnings detected by static analysis tools are removed during code reviews?
  • 32. Projects Density of Warnings [P-value] # of Warning [P-value] Density of Warnings [P-value] # of Warning [P-value] Eclipse CDT 0.074 0.025 0.028 <001 Eclipse JDT Core 0.450 0.919 0.351 0.624 Eclipse Platform UI 0.132 0.857 0.011 0.2 OpenDaylight Controller 0.080 <0.01 0.614 <0.01 Motech >0.01 <0.01 0.205 <0.01 Vaadin NA NA 0.148 0.209 Changes of Warnings Density (and Absolute Number) During Code Reviews.
  • 33. Projects Density of Wornings [P-value] # of Warning [P-value] Density of Wornings [P-value] # of Warning [P-value] Eclipse CDT 0.074 0.025 0.028 <001 Eclipse JDT Core 0.450 0.919 0.351 0.624 Eclipse Platform UI 0.132 0.857 0.011 0.2 OpenDaylight Controller 0.080 <0.01 0.614 <0.01 Motech >0.01 <0.01 0.205 <0.01 Vaadin NA NA 0.148 0.209 Changes of Warnings Density (and Absolute Number) During Code Reviews.
  • 34. Projects Density of Wornings [P-value] # of Warning [P-value] Density of Wornings [P-value] # of Warning [P-value] Eclipse CDT 0.074 0.025 0.028 <001 Eclipse JDT Core 0.450 0.919 0.351 0.624 Eclipse Platform UI 0.132 0.857 0.011 0.2 OpenDaylight Controller 0.080 <0.01 0.614 <0.01 Motech >0.01 <0.01 0.205 <0.01 Vaadin NA NA 0.148 0.209 Changes of Warnings Density (and Absolute Number) During Code Reviews.
  • 35. Cumulative Percentage of Removed Warnings Projects Uses Checkstyle Uses PDM % of Resolved Warnings % of Resolved Warnings Eclipse CDT 11% 11% Eclipse Platform UI 5% 7% Eclipse JDT Core 11% 9% OpenDaylight Controller 15% 15% Motech 23% 13% Vaadin - 13%
  • 36. Cumulative Percentage of Removed Warnings Projects Uses Checkstyle Uses PDM % of Resolved Warnings % of Resolved Warnings Eclipse CDT 11% 11% Eclipse Platform UI 5% 7% Eclipse JDT Core 11% 9% OpenDaylight Controller 15% 15% Motech 23% 13% Vaadin - 13%
  • 37. RQ2 What kinds of warnings detected by static analysis tool are mainly considered during code reviews?
  • 41. Qualitative Analysis “We randomly sampled 10% of code reviews that resolved at least one warning”
  • 42. Qualitative AnalysisQualitative Analysis “Warning that Developers Fix During Code Reviews:”
  • 43. Qualitative Analysis “Warning that Developers Fix During Code Reviews:” Type Resolution
  • 44. Qualitative Analysis “Warning that Developers Fix During Code Reviews:” Unused code Type Resolution
  • 45. Qualitative Analysis “Warning that Developers Fix During Code Reviews:” Imports Regular Expression Type Resolution Unused code
  • 46. Qualitative Analysis “Warning that Developers Fix During Code Reviews:” Imports Regular Expression Type Resolution Unused code
  • 47. Eclipse CDT: Percentage of PDM’ Resolved Warnings Warning Types % Resolved Warnings Type Resolution 100% Import 100% Basic 75% Sunsecure 67% Codesize 59% Unusedcode 58% Logging-java 51% j2ee 47% Design 42% junit 38% Empty 33% Javabeans 26% Naming 14% Braces 14% …. …..
  • 48. Eclipse CDT: Percentage of PDM’ Resolved Warnings Warning Types % Resolved Warnings Type Resolution 100% Import 100% Basic 75% Sunsecure 67% Codesize 59% Unusedcode 58% Logging-java 51% j2ee 47% Design 42% junit 38% Empty 33% Javabeans 26% Naming 14% Braces 14% …. ….. “Quantitative Analisys Confirms Findings of the Qualitative analysis..”
  • 49. OpenDaylight Controller: Percentage of Checkstyle’ Resolved Warnings Warning Types % Resolved Warnings Regular Expressions 100% Modifiers 100% Metrics 100% import 53% Whitespace 48% Class Design 47% Annotations 40% Naming 16% Coding 15% %Javadoc Comments 12% Size Violations 11% Javabeans 26% Block Checks 10% Miscellaneous 8% …. ….. “Similar Results for Checkstyle Warnings..”
  • 50. OpenDaylight Controller: Percentage of Checkstyle’ Resolved Warnings Warning Types % Resolved Warnings Regular Expressions 100% Modifiers 100% Metrics 100% import 53% Whitespace 48% Class Design 47% Annotations 40% Naming 16% Coding 15% % Javadoc Comments 12% Size Violations 11% Javabeans 26% Block Checks 10% Miscellaneous 8% …. ….. Developers Fix also Warnings related to: 1) naming convention 2) code formatting 3) code comments
  • 51. By implication… “Enforcing the removal of certain warnings before submitting a patch..”