SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
© 2020 Perforce Software, Inc.
AUTOMATED CODE REVIEWS
USING AI AND ML
B R E N T S C H I E S T L
3 | DevOps Next 2020 perforce.com
Confidentiality Statement
The information contained in this document is strictly confidential, privileged, and
only for the information of the intended recipient. The information contained in this
document may not be otherwise used, disclosed, copied, altered, or distributed
without the prior written consent of Perforce Software, Inc.
ABOUT ME:
Brent Schiestl
• Product Manager for the Version Control portfolio at Perforce Software
• 15+ years of experience in the Business Analysis / Product
Management space (formerly at Target Corp, Infor)
• Enjoy living at the intersection between customers and software
development teams
• Husband to an amazing wife, father of a “sassy” 6-yr old girl and a
“fearless” 3-yr old boy
• Hockey fan who resides in the “state of hockey” (Minnesota)
Pre-pandemic haircut!
6 | DevOps Next 2020 perforce.com
Today’s Agenda
1
2
Introduction and Importance of Code Reviews in DevOps
Key Pillars for Valuable Code Reviews
3 How can AI/ML Enhance Automation and Efficiency of Code Reviews
Q&A5
4 Future of Automated Code Reviews
7 | DevOps Next 2020 perforce.com
Introduction to Code Review
According to Wikipedia…
• Code review (sometimes referred to as peer review) is a software quality assurance activity in which one or several people
check a program mainly by viewing and reading parts of its source code, and they do so after implementation or as an
interruption of implementation. At least one of the persons must not be the code's author. The persons performing the
checking, excluding the author, are called "reviewers”.
Code Reviews Goals:
• Better code quality – improve internal code quality and maintainability (readability, uniformity, understandability, ...)
• Finding defects – improve quality regarding external aspects, especially correctness, but also find performance problems,
security vulnerabilities, injected malware, ...
• Learning / knowledge transfer – help in transferring knowledge about the codebase, solution approaches, expectations
regarding quality, etc.; both to the reviewers as well as to the author
• Increase sense of mutual responsibility – increase a sense of collective code ownership and solidarity
• Finding better solutions – generate ideas for new and better solutions and ideas that transcend the specific code at hand
• Complying with external guidelines – Code reviews are mandatory in some contexts, e.g., air traffic software
8 | DevOps Next 2020 perforce.com
Standard Code Review Flow
Linting/static code
review is performed
A new software
build is created (CI)
Unit testing is
performed
Developer submits
pull/merge request
Code review is
created
9 | DevOps Next 2020 perforce.com
Standard Code Review Flow
Linting/static code
review is performed
A new software
build is created (CI)
Unit testing is
performed
Developer submits
pull/merge request
Code review is
created
10 | DevOps Next 2020 perforce.com
Benefits of Human-Based Code Reviews
Transparency
The entire team gets a better picture of what everyone is working on, their “style,” and even their level of productivity
Underscoring and Promoting Shared Values
Drives pride in work, making developers look forward to showing it to their colleagues
Becoming More Cohesive
Such reviews empower more experience developers to meet F2F with their peers, share best practices, praise, and improve
coding activities.
Building Self-Esteem for New Developers
Code reviews can be a great way for everyone to learn more about coding.
11 | DevOps Next 2020 perforce.com
Code Review Checklist
Source: EvokeTechnologies
12 | DevOps Next 2020 perforce.com
Code Review Best Practices
Know What to Look
for in a Code
Review
Build and Test –
Before Review
Don’t Review Code
for Longer than 60
Minutes
Check No More
than 400 Lines at a
Time
Give Feedback that
Helps (Not Hurts)
Communicate Goals
and Expectations
Include Everyone in
the Code Review
Process
Foster a Positive
Culture
Automate to Save
Time
9 Code Review Best Practices: Perforce.com
13 | DevOps Next 2020 perforce.com
• Coping with scale in Agile/DevOps processes (Time/Money)
• Error Prone and subjective when done by humans (LGTM Syndrome)
• Only 13% of pull requests are rejected due to technical reasons (Limitations) 1
• Often leads to personal conflicts and sensitivity by the recipient of feedback
Human Code Reviews – Effective when done Effectively
1 McGill University, El Zanaty, et al.
14 | DevOps Next 2020 perforce.com
Why is There a Need for AI/ML Automated Code Reviews?
15 | DevOps Next 2020 perforce.com
Code Review Process using ML
16 | DevOps Next 2020 perforce.com
Advancements in Code Reviews
“Find your biggest slowdowns by
pinpointing exactly where pull
requests get stuck on the journey
from open to deploy” – Code Climate
1. Automated Code Reviews
2. Code Coverage Analysis
3. Track progress against goals
4. Identify hot spots to focus
17 | DevOps Next 2020 perforce.com
• Time to Open — The time between an engineer’s first commit and when they open a pull request in their version
control system. The Velocity data shows that this metric has the highest correlation with cycle time.
• Time to Review — The time between when a pull request is opened and when it receives its first review. Delays at this
stage incentivize multi-tasking, so Code Climate says you’ll want to minimize the time a merge of pull request is left
waiting for review.
• Time to Approve — The time between when a pull request receives its first review and when it is approved, also
known as the Code Review process. Clearly, as we discussed earlier, this is an area that needs analysis. You don’t want
LGTM reviews, but you also don’t want people avoiding reviews or spending too long on them.
• Time to Deploy — Any additional time following the merge or pull request approval, before the change reaches
production. This seems like it might be hard to measure in some environments, but it is absolutely worth doing.
Productivity Benefits of Automated Code Reviews with AI (Code Climate)
18 | DevOps Next 2020 perforce.com
Advancements in Code Reviews
19 | DevOps Next 2020 perforce.com
Advancements in Code Reviews
• Amazon CodeGuru - Find your most expensive lines of code and improve code quality
• Profiler helps developers find an application’s most expensive lines of code along with specific
visualizations and recommendations on how to improve code to save money
• Reviewer uses machine learning to identify critical issues and hard-to-find bugs during application
development to improve code quality
Open Pull Request
Add Amazon
CodeGuru
Reviewer as
reviewer
Amazon CodeGuru
Provides Intelligent
Suggestions
• Only supports Java (currently)
• Reviewer can be done on a per repository or per pull request basis
• All about willingness to pay!
20 | DevOps Next 2020 perforce.com
• Lines are blurring between “traditional” static analysis and automated code reviews using AI/ML
• Rules and patterns vs. semantic meaning
• AI/ML in code reviews currently in the “early adopter” phase
• Existing tools are already available, integrated into the CI/CD landscape
• Be careful of the code review metrics you are tracking (unforeseen side effects)
• There will always be value in humans performing code reviews
Future of Automated Code Reviews
21 | DevOps Next 2020 perforce.com
Classification of Advanced
AI & ML Testing Tools
COMING UP NEXT…
TRACK
Testing Tools
The Rise and Benefits of Robotic
Process Automation (RPA)
TRACK
Continuous Testing
Moving to Modern DevOps
with Fuzzing and ML
TRACK
DevOps & Code
© 2020 Perforce Software, Inc.
#devopsnext-devops-code
LIVE SLACK Q&A
Thank You!

Mais conteúdo relacionado

Mais procurados

Code Quality Management Best Practices
Code Quality Management Best Practices Code Quality Management Best Practices
Code Quality Management Best Practices Perforce
 
HELP! I've Been Hit By An Algorithm Update - Jess Maloney - BrightonSEO Apri...
HELP! I've Been Hit By An Algorithm Update - Jess Maloney - BrightonSEO  Apri...HELP! I've Been Hit By An Algorithm Update - Jess Maloney - BrightonSEO  Apri...
HELP! I've Been Hit By An Algorithm Update - Jess Maloney - BrightonSEO Apri...Jessica Maloney
 
BrightonSEO Oct 2022_ Topical Authority Audits.pptx
BrightonSEO Oct 2022_ Topical Authority Audits.pptxBrightonSEO Oct 2022_ Topical Authority Audits.pptx
BrightonSEO Oct 2022_ Topical Authority Audits.pptxRobotZebraAgency
 
Bridging the Security Testing Gap in Your CI/CD Pipeline
Bridging the Security Testing Gap in Your CI/CD PipelineBridging the Security Testing Gap in Your CI/CD Pipeline
Bridging the Security Testing Gap in Your CI/CD PipelineDevOps.com
 
SonarQube: ¿cómo de malo es mi software?
SonarQube: ¿cómo de malo es mi software?SonarQube: ¿cómo de malo es mi software?
SonarQube: ¿cómo de malo es mi software?Tomás Moreno Bernal
 
How to Build your Own SEO Workbook in Google Sheets for Free #WTSVirtual
How to Build your Own SEO Workbook in Google Sheets for Free #WTSVirtualHow to Build your Own SEO Workbook in Google Sheets for Free #WTSVirtual
How to Build your Own SEO Workbook in Google Sheets for Free #WTSVirtualAleyda Solís
 
Winning SEO when doing Web Migrations #SEO4Life
Winning SEO when doing Web Migrations #SEO4LifeWinning SEO when doing Web Migrations #SEO4Life
Winning SEO when doing Web Migrations #SEO4LifeAleyda Solís
 
Why Scaling (Great) Content Is So Bloody Hard
Why Scaling (Great) Content Is So Bloody HardWhy Scaling (Great) Content Is So Bloody Hard
Why Scaling (Great) Content Is So Bloody HardAhrefs
 
Discovering SEO Opportunities through Log Analysis #DTDConf
 Discovering SEO Opportunities through Log Analysis #DTDConf Discovering SEO Opportunities through Log Analysis #DTDConf
Discovering SEO Opportunities through Log Analysis #DTDConfAleyda Solís
 
SEO Audits that Maximize Growth #SMXL19
SEO Audits that Maximize Growth #SMXL19SEO Audits that Maximize Growth #SMXL19
SEO Audits that Maximize Growth #SMXL19Aleyda Solís
 
What is No-Code/Low-Code App Development and Why Should Your Business Care?
What is No-Code/Low-Code App Development and Why Should Your Business Care?What is No-Code/Low-Code App Development and Why Should Your Business Care?
What is No-Code/Low-Code App Development and Why Should Your Business Care?kintone
 
Quality Testing and Agile at Salesforce
Quality Testing and Agile at Salesforce Quality Testing and Agile at Salesforce
Quality Testing and Agile at Salesforce Salesforce Engineering
 
Static code analysis with sonar qube
Static code analysis with sonar qubeStatic code analysis with sonar qube
Static code analysis with sonar qubeHayi Nukman
 
BrightonSEO - SearchPilot - Will Critchlow - Lessons from 100s of SEO tests
BrightonSEO - SearchPilot - Will Critchlow - Lessons from 100s of SEO testsBrightonSEO - SearchPilot - Will Critchlow - Lessons from 100s of SEO tests
BrightonSEO - SearchPilot - Will Critchlow - Lessons from 100s of SEO testsWill Critchlow
 
Open ai’s gpt 3 language explained under 5 mins
Open ai’s gpt 3 language explained under 5 minsOpen ai’s gpt 3 language explained under 5 mins
Open ai’s gpt 3 language explained under 5 minsAnshul Nema
 
The Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTop
The Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTopThe Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTop
The Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTopSynergyTop Inc
 
Darren Shaw - User Behavior and Local Search - Dallas State of Search 2014
Darren Shaw  - User Behavior and Local Search - Dallas State of Search 2014Darren Shaw  - User Behavior and Local Search - Dallas State of Search 2014
Darren Shaw - User Behavior and Local Search - Dallas State of Search 2014Darren Shaw
 
Challenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering serviceChallenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering serviceGiacomo Zecchini
 

Mais procurados (20)

Code Quality Management Best Practices
Code Quality Management Best Practices Code Quality Management Best Practices
Code Quality Management Best Practices
 
HELP! I've Been Hit By An Algorithm Update - Jess Maloney - BrightonSEO Apri...
HELP! I've Been Hit By An Algorithm Update - Jess Maloney - BrightonSEO  Apri...HELP! I've Been Hit By An Algorithm Update - Jess Maloney - BrightonSEO  Apri...
HELP! I've Been Hit By An Algorithm Update - Jess Maloney - BrightonSEO Apri...
 
BrightonSEO Oct 2022_ Topical Authority Audits.pptx
BrightonSEO Oct 2022_ Topical Authority Audits.pptxBrightonSEO Oct 2022_ Topical Authority Audits.pptx
BrightonSEO Oct 2022_ Topical Authority Audits.pptx
 
Bridging the Security Testing Gap in Your CI/CD Pipeline
Bridging the Security Testing Gap in Your CI/CD PipelineBridging the Security Testing Gap in Your CI/CD Pipeline
Bridging the Security Testing Gap in Your CI/CD Pipeline
 
SonarQube: ¿cómo de malo es mi software?
SonarQube: ¿cómo de malo es mi software?SonarQube: ¿cómo de malo es mi software?
SonarQube: ¿cómo de malo es mi software?
 
How to Build your Own SEO Workbook in Google Sheets for Free #WTSVirtual
How to Build your Own SEO Workbook in Google Sheets for Free #WTSVirtualHow to Build your Own SEO Workbook in Google Sheets for Free #WTSVirtual
How to Build your Own SEO Workbook in Google Sheets for Free #WTSVirtual
 
Winning SEO when doing Web Migrations #SEO4Life
Winning SEO when doing Web Migrations #SEO4LifeWinning SEO when doing Web Migrations #SEO4Life
Winning SEO when doing Web Migrations #SEO4Life
 
Why Scaling (Great) Content Is So Bloody Hard
Why Scaling (Great) Content Is So Bloody HardWhy Scaling (Great) Content Is So Bloody Hard
Why Scaling (Great) Content Is So Bloody Hard
 
Discovering SEO Opportunities through Log Analysis #DTDConf
 Discovering SEO Opportunities through Log Analysis #DTDConf Discovering SEO Opportunities through Log Analysis #DTDConf
Discovering SEO Opportunities through Log Analysis #DTDConf
 
Github copilot
Github copilotGithub copilot
Github copilot
 
Modular design
Modular design   Modular design
Modular design
 
SEO Audits that Maximize Growth #SMXL19
SEO Audits that Maximize Growth #SMXL19SEO Audits that Maximize Growth #SMXL19
SEO Audits that Maximize Growth #SMXL19
 
What is No-Code/Low-Code App Development and Why Should Your Business Care?
What is No-Code/Low-Code App Development and Why Should Your Business Care?What is No-Code/Low-Code App Development and Why Should Your Business Care?
What is No-Code/Low-Code App Development and Why Should Your Business Care?
 
Quality Testing and Agile at Salesforce
Quality Testing and Agile at Salesforce Quality Testing and Agile at Salesforce
Quality Testing and Agile at Salesforce
 
Static code analysis with sonar qube
Static code analysis with sonar qubeStatic code analysis with sonar qube
Static code analysis with sonar qube
 
BrightonSEO - SearchPilot - Will Critchlow - Lessons from 100s of SEO tests
BrightonSEO - SearchPilot - Will Critchlow - Lessons from 100s of SEO testsBrightonSEO - SearchPilot - Will Critchlow - Lessons from 100s of SEO tests
BrightonSEO - SearchPilot - Will Critchlow - Lessons from 100s of SEO tests
 
Open ai’s gpt 3 language explained under 5 mins
Open ai’s gpt 3 language explained under 5 minsOpen ai’s gpt 3 language explained under 5 mins
Open ai’s gpt 3 language explained under 5 mins
 
The Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTop
The Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTopThe Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTop
The Rise Of Low-Code And No-Code Platforms And Its Future | SynergyTop
 
Darren Shaw - User Behavior and Local Search - Dallas State of Search 2014
Darren Shaw  - User Behavior and Local Search - Dallas State of Search 2014Darren Shaw  - User Behavior and Local Search - Dallas State of Search 2014
Darren Shaw - User Behavior and Local Search - Dallas State of Search 2014
 
Challenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering serviceChallenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering service
 

Semelhante a Automated Code Reviews with AI and ML - DevOps Next

code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdfcode_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdfsarah david
 
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptxcode_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptxsarah david
 
Leveraging AI and ML in Test Management Systems - DevOps Next
Leveraging AI and ML in Test Management Systems - DevOps NextLeveraging AI and ML in Test Management Systems - DevOps Next
Leveraging AI and ML in Test Management Systems - DevOps NextPerfecto by Perforce
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Maven Logix
 
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...Cuneiform Consulting Pvt Ltd.
 
Xen Project Contributor Training - Part 1 introduction v1.0
Xen Project Contributor Training - Part 1 introduction v1.0Xen Project Contributor Training - Part 1 introduction v1.0
Xen Project Contributor Training - Part 1 introduction v1.0The Linux Foundation
 
Peer Code Review An Agile Process
Peer Code Review An Agile ProcessPeer Code Review An Agile Process
Peer Code Review An Agile Processgsporar
 
Code review best practice
Code review best practiceCode review best practice
Code review best practiceOren Digmi
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQASymphony
 
Software Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionSoftware Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionJosh Gough
 
Technical debt strategy
Technical debt strategyTechnical debt strategy
Technical debt strategyMasas Dani
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategiesRaquel Pau
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAdam Stephensen
 
Improving our Approach Towards Capturing Value in Requirements
Improving our Approach Towards Capturing Value in RequirementsImproving our Approach Towards Capturing Value in Requirements
Improving our Approach Towards Capturing Value in RequirementsOsama M. Khaled
 
How to create a successful proof of concept
How to create a successful proof of conceptHow to create a successful proof of concept
How to create a successful proof of conceptETLSolutions
 
Code Review Best Practices
Code Review Best PracticesCode Review Best Practices
Code Review Best PracticesTrisha Gee
 
Agile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker Charak
Agile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker CharakAgile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker Charak
Agile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker CharakAgileNetwork
 
Software Quality Architecture And Code Audit
Software Quality Architecture And Code AuditSoftware Quality Architecture And Code Audit
Software Quality Architecture And Code AuditXebia IT Architects
 

Semelhante a Automated Code Reviews with AI and ML - DevOps Next (20)

code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdfcode_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
 
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptxcode_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
 
Leveraging AI and ML in Test Management Systems - DevOps Next
Leveraging AI and ML in Test Management Systems - DevOps NextLeveraging AI and ML in Test Management Systems - DevOps Next
Leveraging AI and ML in Test Management Systems - DevOps Next
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening
 
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
 
Xen Project Contributor Training - Part 1 introduction v1.0
Xen Project Contributor Training - Part 1 introduction v1.0Xen Project Contributor Training - Part 1 introduction v1.0
Xen Project Contributor Training - Part 1 introduction v1.0
 
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
 
Code review best practice
Code review best practiceCode review best practice
Code review best practice
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the Enterprise
 
Software Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionSoftware Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous Inspection
 
Technical debt strategy
Technical debt strategyTechnical debt strategy
Technical debt strategy
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
 
Test Policy and Practices
Test Policy and PracticesTest Policy and Practices
Test Policy and Practices
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
Improving our Approach Towards Capturing Value in Requirements
Improving our Approach Towards Capturing Value in RequirementsImproving our Approach Towards Capturing Value in Requirements
Improving our Approach Towards Capturing Value in Requirements
 
How to create a successful proof of concept
How to create a successful proof of conceptHow to create a successful proof of concept
How to create a successful proof of concept
 
Code Review Best Practices
Code Review Best PracticesCode Review Best Practices
Code Review Best Practices
 
Agile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker Charak
Agile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker CharakAgile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker Charak
Agile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker Charak
 
Software Quality Architecture And Code Audit
Software Quality Architecture And Code AuditSoftware Quality Architecture And Code Audit
Software Quality Architecture And Code Audit
 

Mais de Perfecto by Perforce

Is BDD Worth It? Considerations for Advanced Test Automation
Is BDD Worth It? Considerations for Advanced Test AutomationIs BDD Worth It? Considerations for Advanced Test Automation
Is BDD Worth It? Considerations for Advanced Test AutomationPerfecto by Perforce
 
Yoda debunks the top 5 challenges of continuous testing in the cloud
Yoda debunks the top 5 challenges of continuous testing in the cloudYoda debunks the top 5 challenges of continuous testing in the cloud
Yoda debunks the top 5 challenges of continuous testing in the cloudPerfecto by Perforce
 
5 Mobile App Trends & What They Mean for Dev & Testing
5 Mobile App Trends & What They Mean for Dev & Testing5 Mobile App Trends & What They Mean for Dev & Testing
5 Mobile App Trends & What They Mean for Dev & TestingPerfecto by Perforce
 
How to Scale Digital App Testing With Jenkins & Automation You Can Trust
How to Scale Digital App Testing With Jenkins & Automation You Can TrustHow to Scale Digital App Testing With Jenkins & Automation You Can Trust
How to Scale Digital App Testing With Jenkins & Automation You Can TrustPerfecto by Perforce
 
Mastering Cross-Browser Test Automation With Cypress and Selenium
Mastering Cross-Browser Test Automation With Cypress and SeleniumMastering Cross-Browser Test Automation With Cypress and Selenium
Mastering Cross-Browser Test Automation With Cypress and SeleniumPerfecto by Perforce
 
Cloud Testing Has Never Been Easier or More Accessible
Cloud Testing Has Never Been Easier or More AccessibleCloud Testing Has Never Been Easier or More Accessible
Cloud Testing Has Never Been Easier or More AccessiblePerfecto by Perforce
 
Cognitive Engineering - Shifting Right with Gated.AI Testing - DevOps Next
Cognitive Engineering - Shifting Right with Gated.AI Testing - DevOps NextCognitive Engineering - Shifting Right with Gated.AI Testing - DevOps Next
Cognitive Engineering - Shifting Right with Gated.AI Testing - DevOps NextPerfecto by Perforce
 
The Rise and Benefits of Robotic Process Automation (RPA) - DevOps Next
The Rise and Benefits of Robotic Process Automation (RPA) - DevOps NextThe Rise and Benefits of Robotic Process Automation (RPA) - DevOps Next
The Rise and Benefits of Robotic Process Automation (RPA) - DevOps NextPerfecto by Perforce
 
The New Categories of Software Defects in the Era of AI and ML - DevOps Next
The New Categories of Software Defects in the Era of AI and ML - DevOps NextThe New Categories of Software Defects in the Era of AI and ML - DevOps Next
The New Categories of Software Defects in the Era of AI and ML - DevOps NextPerfecto by Perforce
 
Moving to Modern DevOps with Fuzzing and ML - DevOps Next
Moving to Modern DevOps with Fuzzing and ML - DevOps NextMoving to Modern DevOps with Fuzzing and ML - DevOps Next
Moving to Modern DevOps with Fuzzing and ML - DevOps NextPerfecto by Perforce
 
How Does AIOps Benefit DevOps Pipeline and Software Quality? - DevOps Next
How Does AIOps Benefit DevOps Pipeline and Software Quality? - DevOps NextHow Does AIOps Benefit DevOps Pipeline and Software Quality? - DevOps Next
How Does AIOps Benefit DevOps Pipeline and Software Quality? - DevOps NextPerfecto by Perforce
 
Classification of Advanced AI and ML Testing Tools - DevOps Next
Classification of Advanced AI and ML Testing Tools - DevOps NextClassification of Advanced AI and ML Testing Tools - DevOps Next
Classification of Advanced AI and ML Testing Tools - DevOps NextPerfecto by Perforce
 
Advancing the State of The Art in AI and Testing - DevOps Next
Advancing the State of The Art in AI and Testing - DevOps NextAdvancing the State of The Art in AI and Testing - DevOps Next
Advancing the State of The Art in AI and Testing - DevOps NextPerfecto by Perforce
 
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best PracticesHow to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best PracticesPerfecto by Perforce
 
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...Perfecto by Perforce
 
Fast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App TestingFast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App TestingPerfecto by Perforce
 
Best Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility TestingBest Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility TestingPerfecto by Perforce
 
Deliver Flawless Mobile Apps Faster with CI/CD & CT
Deliver Flawless Mobile Apps Faster with CI/CD & CTDeliver Flawless Mobile Apps Faster with CI/CD & CT
Deliver Flawless Mobile Apps Faster with CI/CD & CTPerfecto by Perforce
 
How to Eliminate Escaped Defects With a Proven Test Automation Coverage Strategy
How to Eliminate Escaped Defects With a Proven Test Automation Coverage StrategyHow to Eliminate Escaped Defects With a Proven Test Automation Coverage Strategy
How to Eliminate Escaped Defects With a Proven Test Automation Coverage StrategyPerfecto by Perforce
 
Accelerating Digital Transformation With API Lifecycle & Test Automation
Accelerating Digital Transformation With API Lifecycle & Test AutomationAccelerating Digital Transformation With API Lifecycle & Test Automation
Accelerating Digital Transformation With API Lifecycle & Test AutomationPerfecto by Perforce
 

Mais de Perfecto by Perforce (20)

Is BDD Worth It? Considerations for Advanced Test Automation
Is BDD Worth It? Considerations for Advanced Test AutomationIs BDD Worth It? Considerations for Advanced Test Automation
Is BDD Worth It? Considerations for Advanced Test Automation
 
Yoda debunks the top 5 challenges of continuous testing in the cloud
Yoda debunks the top 5 challenges of continuous testing in the cloudYoda debunks the top 5 challenges of continuous testing in the cloud
Yoda debunks the top 5 challenges of continuous testing in the cloud
 
5 Mobile App Trends & What They Mean for Dev & Testing
5 Mobile App Trends & What They Mean for Dev & Testing5 Mobile App Trends & What They Mean for Dev & Testing
5 Mobile App Trends & What They Mean for Dev & Testing
 
How to Scale Digital App Testing With Jenkins & Automation You Can Trust
How to Scale Digital App Testing With Jenkins & Automation You Can TrustHow to Scale Digital App Testing With Jenkins & Automation You Can Trust
How to Scale Digital App Testing With Jenkins & Automation You Can Trust
 
Mastering Cross-Browser Test Automation With Cypress and Selenium
Mastering Cross-Browser Test Automation With Cypress and SeleniumMastering Cross-Browser Test Automation With Cypress and Selenium
Mastering Cross-Browser Test Automation With Cypress and Selenium
 
Cloud Testing Has Never Been Easier or More Accessible
Cloud Testing Has Never Been Easier or More AccessibleCloud Testing Has Never Been Easier or More Accessible
Cloud Testing Has Never Been Easier or More Accessible
 
Cognitive Engineering - Shifting Right with Gated.AI Testing - DevOps Next
Cognitive Engineering - Shifting Right with Gated.AI Testing - DevOps NextCognitive Engineering - Shifting Right with Gated.AI Testing - DevOps Next
Cognitive Engineering - Shifting Right with Gated.AI Testing - DevOps Next
 
The Rise and Benefits of Robotic Process Automation (RPA) - DevOps Next
The Rise and Benefits of Robotic Process Automation (RPA) - DevOps NextThe Rise and Benefits of Robotic Process Automation (RPA) - DevOps Next
The Rise and Benefits of Robotic Process Automation (RPA) - DevOps Next
 
The New Categories of Software Defects in the Era of AI and ML - DevOps Next
The New Categories of Software Defects in the Era of AI and ML - DevOps NextThe New Categories of Software Defects in the Era of AI and ML - DevOps Next
The New Categories of Software Defects in the Era of AI and ML - DevOps Next
 
Moving to Modern DevOps with Fuzzing and ML - DevOps Next
Moving to Modern DevOps with Fuzzing and ML - DevOps NextMoving to Modern DevOps with Fuzzing and ML - DevOps Next
Moving to Modern DevOps with Fuzzing and ML - DevOps Next
 
How Does AIOps Benefit DevOps Pipeline and Software Quality? - DevOps Next
How Does AIOps Benefit DevOps Pipeline and Software Quality? - DevOps NextHow Does AIOps Benefit DevOps Pipeline and Software Quality? - DevOps Next
How Does AIOps Benefit DevOps Pipeline and Software Quality? - DevOps Next
 
Classification of Advanced AI and ML Testing Tools - DevOps Next
Classification of Advanced AI and ML Testing Tools - DevOps NextClassification of Advanced AI and ML Testing Tools - DevOps Next
Classification of Advanced AI and ML Testing Tools - DevOps Next
 
Advancing the State of The Art in AI and Testing - DevOps Next
Advancing the State of The Art in AI and Testing - DevOps NextAdvancing the State of The Art in AI and Testing - DevOps Next
Advancing the State of The Art in AI and Testing - DevOps Next
 
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best PracticesHow to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
 
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
 
Fast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App TestingFast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
 
Best Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility TestingBest Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility Testing
 
Deliver Flawless Mobile Apps Faster with CI/CD & CT
Deliver Flawless Mobile Apps Faster with CI/CD & CTDeliver Flawless Mobile Apps Faster with CI/CD & CT
Deliver Flawless Mobile Apps Faster with CI/CD & CT
 
How to Eliminate Escaped Defects With a Proven Test Automation Coverage Strategy
How to Eliminate Escaped Defects With a Proven Test Automation Coverage StrategyHow to Eliminate Escaped Defects With a Proven Test Automation Coverage Strategy
How to Eliminate Escaped Defects With a Proven Test Automation Coverage Strategy
 
Accelerating Digital Transformation With API Lifecycle & Test Automation
Accelerating Digital Transformation With API Lifecycle & Test AutomationAccelerating Digital Transformation With API Lifecycle & Test Automation
Accelerating Digital Transformation With API Lifecycle & Test Automation
 

Último

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Automated Code Reviews with AI and ML - DevOps Next

  • 1.
  • 2. © 2020 Perforce Software, Inc. AUTOMATED CODE REVIEWS USING AI AND ML B R E N T S C H I E S T L
  • 3. 3 | DevOps Next 2020 perforce.com Confidentiality Statement The information contained in this document is strictly confidential, privileged, and only for the information of the intended recipient. The information contained in this document may not be otherwise used, disclosed, copied, altered, or distributed without the prior written consent of Perforce Software, Inc.
  • 4. ABOUT ME: Brent Schiestl • Product Manager for the Version Control portfolio at Perforce Software • 15+ years of experience in the Business Analysis / Product Management space (formerly at Target Corp, Infor) • Enjoy living at the intersection between customers and software development teams • Husband to an amazing wife, father of a “sassy” 6-yr old girl and a “fearless” 3-yr old boy • Hockey fan who resides in the “state of hockey” (Minnesota) Pre-pandemic haircut!
  • 5.
  • 6. 6 | DevOps Next 2020 perforce.com Today’s Agenda 1 2 Introduction and Importance of Code Reviews in DevOps Key Pillars for Valuable Code Reviews 3 How can AI/ML Enhance Automation and Efficiency of Code Reviews Q&A5 4 Future of Automated Code Reviews
  • 7. 7 | DevOps Next 2020 perforce.com Introduction to Code Review According to Wikipedia… • Code review (sometimes referred to as peer review) is a software quality assurance activity in which one or several people check a program mainly by viewing and reading parts of its source code, and they do so after implementation or as an interruption of implementation. At least one of the persons must not be the code's author. The persons performing the checking, excluding the author, are called "reviewers”. Code Reviews Goals: • Better code quality – improve internal code quality and maintainability (readability, uniformity, understandability, ...) • Finding defects – improve quality regarding external aspects, especially correctness, but also find performance problems, security vulnerabilities, injected malware, ... • Learning / knowledge transfer – help in transferring knowledge about the codebase, solution approaches, expectations regarding quality, etc.; both to the reviewers as well as to the author • Increase sense of mutual responsibility – increase a sense of collective code ownership and solidarity • Finding better solutions – generate ideas for new and better solutions and ideas that transcend the specific code at hand • Complying with external guidelines – Code reviews are mandatory in some contexts, e.g., air traffic software
  • 8. 8 | DevOps Next 2020 perforce.com Standard Code Review Flow Linting/static code review is performed A new software build is created (CI) Unit testing is performed Developer submits pull/merge request Code review is created
  • 9. 9 | DevOps Next 2020 perforce.com Standard Code Review Flow Linting/static code review is performed A new software build is created (CI) Unit testing is performed Developer submits pull/merge request Code review is created
  • 10. 10 | DevOps Next 2020 perforce.com Benefits of Human-Based Code Reviews Transparency The entire team gets a better picture of what everyone is working on, their “style,” and even their level of productivity Underscoring and Promoting Shared Values Drives pride in work, making developers look forward to showing it to their colleagues Becoming More Cohesive Such reviews empower more experience developers to meet F2F with their peers, share best practices, praise, and improve coding activities. Building Self-Esteem for New Developers Code reviews can be a great way for everyone to learn more about coding.
  • 11. 11 | DevOps Next 2020 perforce.com Code Review Checklist Source: EvokeTechnologies
  • 12. 12 | DevOps Next 2020 perforce.com Code Review Best Practices Know What to Look for in a Code Review Build and Test – Before Review Don’t Review Code for Longer than 60 Minutes Check No More than 400 Lines at a Time Give Feedback that Helps (Not Hurts) Communicate Goals and Expectations Include Everyone in the Code Review Process Foster a Positive Culture Automate to Save Time 9 Code Review Best Practices: Perforce.com
  • 13. 13 | DevOps Next 2020 perforce.com • Coping with scale in Agile/DevOps processes (Time/Money) • Error Prone and subjective when done by humans (LGTM Syndrome) • Only 13% of pull requests are rejected due to technical reasons (Limitations) 1 • Often leads to personal conflicts and sensitivity by the recipient of feedback Human Code Reviews – Effective when done Effectively 1 McGill University, El Zanaty, et al.
  • 14. 14 | DevOps Next 2020 perforce.com Why is There a Need for AI/ML Automated Code Reviews?
  • 15. 15 | DevOps Next 2020 perforce.com Code Review Process using ML
  • 16. 16 | DevOps Next 2020 perforce.com Advancements in Code Reviews “Find your biggest slowdowns by pinpointing exactly where pull requests get stuck on the journey from open to deploy” – Code Climate 1. Automated Code Reviews 2. Code Coverage Analysis 3. Track progress against goals 4. Identify hot spots to focus
  • 17. 17 | DevOps Next 2020 perforce.com • Time to Open — The time between an engineer’s first commit and when they open a pull request in their version control system. The Velocity data shows that this metric has the highest correlation with cycle time. • Time to Review — The time between when a pull request is opened and when it receives its first review. Delays at this stage incentivize multi-tasking, so Code Climate says you’ll want to minimize the time a merge of pull request is left waiting for review. • Time to Approve — The time between when a pull request receives its first review and when it is approved, also known as the Code Review process. Clearly, as we discussed earlier, this is an area that needs analysis. You don’t want LGTM reviews, but you also don’t want people avoiding reviews or spending too long on them. • Time to Deploy — Any additional time following the merge or pull request approval, before the change reaches production. This seems like it might be hard to measure in some environments, but it is absolutely worth doing. Productivity Benefits of Automated Code Reviews with AI (Code Climate)
  • 18. 18 | DevOps Next 2020 perforce.com Advancements in Code Reviews
  • 19. 19 | DevOps Next 2020 perforce.com Advancements in Code Reviews • Amazon CodeGuru - Find your most expensive lines of code and improve code quality • Profiler helps developers find an application’s most expensive lines of code along with specific visualizations and recommendations on how to improve code to save money • Reviewer uses machine learning to identify critical issues and hard-to-find bugs during application development to improve code quality Open Pull Request Add Amazon CodeGuru Reviewer as reviewer Amazon CodeGuru Provides Intelligent Suggestions • Only supports Java (currently) • Reviewer can be done on a per repository or per pull request basis • All about willingness to pay!
  • 20. 20 | DevOps Next 2020 perforce.com • Lines are blurring between “traditional” static analysis and automated code reviews using AI/ML • Rules and patterns vs. semantic meaning • AI/ML in code reviews currently in the “early adopter” phase • Existing tools are already available, integrated into the CI/CD landscape • Be careful of the code review metrics you are tracking (unforeseen side effects) • There will always be value in humans performing code reviews Future of Automated Code Reviews
  • 21. 21 | DevOps Next 2020 perforce.com Classification of Advanced AI & ML Testing Tools COMING UP NEXT… TRACK Testing Tools The Rise and Benefits of Robotic Process Automation (RPA) TRACK Continuous Testing Moving to Modern DevOps with Fuzzing and ML TRACK DevOps & Code
  • 22. © 2020 Perforce Software, Inc. #devopsnext-devops-code LIVE SLACK Q&A