SlideShare a Scribd company logo
Best Practices of Static Analysis in the
SDLC




                    Part 1
                November 2010
Agenda



                 1. House Keeping - Certification Overview
                 2. Very Brief Parasoft Introduction
                 3. Today’s Agenda




Parasoft Proprietary and Confidential
House Keeping - Certification

                2 – 45 minute live interactive sessions focused on Static
                Analysis using best practices for development, testing, and
                management

                      Session 1: Best Practices of Static Analysis
                      Fri, Nov 12, 11:00am - 12:00pm PST / 2:00pm – 3:00pm EST
                      Session 2: Best Practices of Static Analysis
                      Fri, Nov 19, 11:00am - 12:00pm PST / 2:00pm - 3:00pm EST

                Materials published day after on-line session
                Final exam (multiple choice) on-line
                Certificate of completion from Parasoft Corporation




Parasoft Proprietary and Confidential
Important Note


                        This course is not designed to
                              Teach how to do security
                              Review (in depth) the reasons “why” we
                              should have solid software
                              Cover how-to use any specific tools


                        This course is designed to
                              Explain available SA techniques and what
                              they’re used for
                              Help avoid common pitfalls
                              Provide in-depth examples of selected best
                              practices and teach you how to optimize them
                              for the software development environment

Parasoft Proprietary and Confidential
About Parasoft

                  Founded in 1987
                  27 Patents for automated quality processes
                  Build quality into the process
                  Static Analysis tools since 1994




Parasoft Proprietary and Confidential
Parasoft Capabilities


       Technologies
              Quality Policy Management
              Task Management
              Code Analysis – Pattern Based
              Code Analysis – Flow Based
              Code Analysis - Metrics
              Code Review
              Unit Testing Framework
              Memory Error Detection
              Runtime Analysis
              Message/Protocol Testing
              Application Behavior Emulation
              Functional Testing
              Load Testing

Parasoft Proprietary and Confidential
Agenda for this session




              Define static analysis
              Define “false positives”
              Static analysis for Security
              Static analysis for defect prevention
              Static analysis for process improvement




Parasoft Proprietary and Confidential
What IS Static Analysis?



              Variety of methods
                    Peer Review / Manual Code Review / Code Inspection
                    Pattern-based code scanners
                    Flow-based code scanners
                    Metrics-based code scanners
                    Compiler / build output




Parasoft Proprietary and Confidential
What is: Peer Code Review


             What:
               A human review process provides checks and balances
               for finding and preventing human mistakes.
             Why:
               Find defects early
               Find real functional problems
               Increase breadth of understanding
               Increase productivity




Parasoft Proprietary and Confidential
Peer Code Review



          Review policies
                Coder / reviewer pairs
                QA reviewer / test review
                Frequency
                Scope
                Pre commit vs. post commit review
          Automation potential
                A system to enforce the review policy
                Track un-reviewed changes
                Facilitate non-blocking communication



Parasoft Proprietary and Confidential
Methods of Code Review



              Code Review “in a room”
                    Wastes time
                    Developers are inhibited
              Using an automated infrastructure
                    consistent




Parasoft Proprietary and Confidential
Determining Reviewers


              Who reviews whom
                    How close are they in the code?
                    Increase code understanding




Parasoft Proprietary and Confidential
What is: Pattern-Based SA


              What:
                    Identify specific patterns in the code
              Why:
                    Find bugs
                    Ensure inclusion of required items
                          Security
                          Branding
                    Prevent Problems
                    Improve Developers




Parasoft Proprietary and Confidential
Pattern-Based Static Analysis


              Quick scan to list possible problems
              Fixing violations prevents certain classes of
              errors
              Each source file is analyzed separately
              Static analysis categories include:
                    Logical Errors
                    API Misuse
                    Typographical Errors
                    Security
                    Threads and Synchronization
                    Performance and Optimization

Parasoft Proprietary and Confidential
What is: Data Flow Analysis


              What:
                    Simulate execution to find patterns
              Why:
                    Find real bugs




Parasoft Proprietary and Confidential
Data Flow Analysis


              Simulate hypothetical execution paths
              Detect possible errors along those paths
              Data flow analysis error categories include:
                    Exceptions
                    Optimization
                    Resource Leaks
                    API misuse
                    Security




Parasoft Proprietary and Confidential
What is: Code Metrics



              What:
                    Measurement of code based on various statistics
              Why:
                    Understanding code
                    Possible problems




Parasoft Proprietary and Confidential
Code Analysis Perceptions



              “Static analysis is a pain”
              False positives has varying definitions
                          I don’t like it
                          It was wrong




Parasoft Proprietary and Confidential
Pattern based false positives



              True false positives generally rule deficiency
              Context
                    Does this apply here and now?
                    In-code suppressions to document decision




Parasoft Proprietary and Confidential
Flow Analysis False Positives



              False positives are inevitable
              Finds real bugs
              Flow analysis is not comprehensive




Parasoft Proprietary and Confidential
Static Analysis for Security



              Flow analysis finds low-hanging fruit
              Flow won’t guarantee security
              SA prevents security problems
              Input validation is key




Parasoft Proprietary and Confidential
Static Analysis for Prevention



              It’s quicker to deal with false positives than bugs
              Flow analysis finds complicated problems
              Runtime analysis should match flow analysis
              Rules should be chosen based on real problems




Parasoft Proprietary and Confidential
SA for Process Improvement



              Flow analysis won’t find everything
              Flow rules have corresponding pattern-based
              rules
              Prevent the potential rather than chase paths




Parasoft Proprietary and Confidential
House Keeping - Certification

                2 – 45 minute live interactive sessions focused on Static
                Analysis using best practices for development, testing, and
                management

                      Session 1: Best Practices of Static Analysis
                      Fri, Nov 12, 11:00am - 12:00pm PST / 2:00pm – 3:00pm EST
                      Session 2: Best Practices of Static Analysis
                      Fri, Nov 19, 11:00am - 12:00pm PST / 2:00pm - 3:00pm EST
                             Process infrastructure
                             Workflows
                             Choosing the best configuration
                             And more
                Materials published day after on-line session
                Final exam (multiple choice) on-line
                Certificate of completion from Parasoft Corporation




Parasoft Proprietary and Confidential
Q&A



              Questions




Parasoft Proprietary and Confidential
Further Reading

           Automated Defect Prevention            (Huizinga & Kolawa)
           …Principles and processes to improve the software
           development process.


           Effective C++ / More Effective C++             (Meyers)
           …Definitive work on proper C++ design and programming.


           Effective Java               (Bloch)
           …Best-practice solutions for programming challenges.

           Design Patterns (Gamma, Helm, Johnson, Vlissides)
           …Timeless and elegant solutions to common problems.



Parasoft Proprietary and Confidential

More Related Content

What's hot (20)

PDF
Static code analysis
Prancer Io
 
PPTX
Static Analysis Security Testing for Dummies... and You
Kevin Fealey
 
PPT
Code Review
rantav
 
KEY
Security Code Review: Magic or Art?
Sherif Koussa
 
PPTX
Java Code Quality Tools
Сергей Гоменюк
 
PDF
Java Code Review Checklist
Mahesh Chopker
 
PDF
Code-Review-Principles-Process-and-Tools (1)
Aditya Bhuyan
 
PDF
Manual Code Review
n|u - The Open Security Community
 
PDF
Code Quality Lightning Talk
Jonathan Gregory
 
PPTX
Sonar
prabakaranbrick
 
PDF
Effective code reviews
Sebastian Marek
 
PPTX
Sonar Review
Kate Semizhon
 
PDF
Java Source Code Analysis using SonarQube
Angelin R
 
PPTX
Building a high quality+ products with SCA
Suman Sourav
 
PDF
Code Review: How and When
Paul Gower
 
PDF
Simplified Security Code Review Process
Sherif Koussa
 
PPTX
Static Analysis with Sonarlint
UT, San Antonio
 
PDF
Code Review
Tu Hoang
 
PPTX
Null meet Code Review
Naga Venkata Sunil Alamuri
 
PPTX
Improving Code Quality Through Effective Review Process
Dr. Syed Hassan Amin
 
Static code analysis
Prancer Io
 
Static Analysis Security Testing for Dummies... and You
Kevin Fealey
 
Code Review
rantav
 
Security Code Review: Magic or Art?
Sherif Koussa
 
Java Code Quality Tools
Сергей Гоменюк
 
Java Code Review Checklist
Mahesh Chopker
 
Code-Review-Principles-Process-and-Tools (1)
Aditya Bhuyan
 
Code Quality Lightning Talk
Jonathan Gregory
 
Effective code reviews
Sebastian Marek
 
Sonar Review
Kate Semizhon
 
Java Source Code Analysis using SonarQube
Angelin R
 
Building a high quality+ products with SCA
Suman Sourav
 
Code Review: How and When
Paul Gower
 
Simplified Security Code Review Process
Sherif Koussa
 
Static Analysis with Sonarlint
UT, San Antonio
 
Code Review
Tu Hoang
 
Null meet Code Review
Naga Venkata Sunil Alamuri
 
Improving Code Quality Through Effective Review Process
Dr. Syed Hassan Amin
 

Viewers also liked (13)

PDF
Static Code Analysis
Annyce Davis
 
PDF
Static Analysis and Code Optimizations in Glasgow Haskell Compiler
Ilya Sergey
 
PPTX
Poster Analysis Source Code
kirstysals
 
PDF
Doxygen 사용법
YoungSu Son
 
PPT
Source Code Analysis with SAST
Blueinfy Solutions
 
PDF
RIPS - static code analyzer for vulnerabilities in PHP
Sorina Chirilă
 
PPTX
Hp fortify source code analyzer(sca)
Nagaraju Repala
 
PPTX
A2 - broken authentication and session management(OWASP thailand chapter Apri...
Noppadol Songsakaew
 
PPTX
A8 cross site request forgery (csrf) it 6873 presentation
Albena Asenova-Belal
 
PDF
Static Analysis For Security and DevOps Happiness w/ Justin Collins
Sonatype
 
PDF
Secure Code Review 101
Narudom Roongsiriwong, CISSP
 
PPTX
OWASP A1 - Injection | The art of manipulation
Pavan M
 
PPTX
OWASP A7 and A8
Pavan M
 
Static Code Analysis
Annyce Davis
 
Static Analysis and Code Optimizations in Glasgow Haskell Compiler
Ilya Sergey
 
Poster Analysis Source Code
kirstysals
 
Doxygen 사용법
YoungSu Son
 
Source Code Analysis with SAST
Blueinfy Solutions
 
RIPS - static code analyzer for vulnerabilities in PHP
Sorina Chirilă
 
Hp fortify source code analyzer(sca)
Nagaraju Repala
 
A2 - broken authentication and session management(OWASP thailand chapter Apri...
Noppadol Songsakaew
 
A8 cross site request forgery (csrf) it 6873 presentation
Albena Asenova-Belal
 
Static Analysis For Security and DevOps Happiness w/ Justin Collins
Sonatype
 
Secure Code Review 101
Narudom Roongsiriwong, CISSP
 
OWASP A1 - Injection | The art of manipulation
Pavan M
 
OWASP A7 and A8
Pavan M
 
Ad

Similar to Best Practices of Static Code Analysis in the SDLC (20)

PDF
Parasoft fda software compliance part2
Engineering Software Lab
 
PDF
How to Select a Static Analysis Tool
Parasoft_Mitchell
 
PDF
Java Defects
Erika Barron
 
PDF
Parasoft Concerto A complete ALM platform that ensures quality software can b...
Engineering Software Lab
 
PPTX
How to Avoid Continuously Delivering Faulty Software
Parasoft
 
PPTX
Jason Kent - AppSec Without Additional Tools
centralohioissa
 
PDF
How penetration testing techniques can help you improve your qa skills
Marian Marinov
 
PPT
Agnitio: its static analysis, but not as we know it
Security BSides London
 
PDF
Beyond Static Analysis: Integrating C and C++ Static Analysis with Unit Testi...
Erika Barron
 
PPTX
apidays LIVE Paris 2021 - Inside API delivery Pipeline, the checklist! - Fran...
apidays
 
PDF
Is av dead or just missing in action - avar2016
rajeshnikam
 
PPTX
Is Antivirus (AV) Dead or Just Missing in Action
Quick Heal Technologies Ltd.
 
PPTX
Cloud Security vs Security in the Cloud
Tjylen Veselyj
 
PPT
Zap attack proxy
Artem Vasilenko
 
PPTX
Evaluating Web App, Mobile App, and API Security - Matt Cohen
Inman News
 
PPT
Cost effective web application testing
Harinath Pudipeddi
 
PPT
Cost Effective Web Application Testing
Hari Pudipeddi
 
PPT
Cost effective web application testing
Harinath Pudipeddi
 
PDF
Devops security-An Insight into Secure-SDLC
Suman Sourav
 
PPTX
Security Testing - Tools & Techniques
Ramakrishnan Seshagiri
 
Parasoft fda software compliance part2
Engineering Software Lab
 
How to Select a Static Analysis Tool
Parasoft_Mitchell
 
Java Defects
Erika Barron
 
Parasoft Concerto A complete ALM platform that ensures quality software can b...
Engineering Software Lab
 
How to Avoid Continuously Delivering Faulty Software
Parasoft
 
Jason Kent - AppSec Without Additional Tools
centralohioissa
 
How penetration testing techniques can help you improve your qa skills
Marian Marinov
 
Agnitio: its static analysis, but not as we know it
Security BSides London
 
Beyond Static Analysis: Integrating C and C++ Static Analysis with Unit Testi...
Erika Barron
 
apidays LIVE Paris 2021 - Inside API delivery Pipeline, the checklist! - Fran...
apidays
 
Is av dead or just missing in action - avar2016
rajeshnikam
 
Is Antivirus (AV) Dead or Just Missing in Action
Quick Heal Technologies Ltd.
 
Cloud Security vs Security in the Cloud
Tjylen Veselyj
 
Zap attack proxy
Artem Vasilenko
 
Evaluating Web App, Mobile App, and API Security - Matt Cohen
Inman News
 
Cost effective web application testing
Harinath Pudipeddi
 
Cost Effective Web Application Testing
Hari Pudipeddi
 
Cost effective web application testing
Harinath Pudipeddi
 
Devops security-An Insight into Secure-SDLC
Suman Sourav
 
Security Testing - Tools & Techniques
Ramakrishnan Seshagiri
 
Ad

Recently uploaded (20)

PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Biography of Daniel Podor.pdf
Daniel Podor
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 

Best Practices of Static Code Analysis in the SDLC

  • 1. Best Practices of Static Analysis in the SDLC Part 1 November 2010
  • 2. Agenda 1. House Keeping - Certification Overview 2. Very Brief Parasoft Introduction 3. Today’s Agenda Parasoft Proprietary and Confidential
  • 3. House Keeping - Certification 2 – 45 minute live interactive sessions focused on Static Analysis using best practices for development, testing, and management Session 1: Best Practices of Static Analysis Fri, Nov 12, 11:00am - 12:00pm PST / 2:00pm – 3:00pm EST Session 2: Best Practices of Static Analysis Fri, Nov 19, 11:00am - 12:00pm PST / 2:00pm - 3:00pm EST Materials published day after on-line session Final exam (multiple choice) on-line Certificate of completion from Parasoft Corporation Parasoft Proprietary and Confidential
  • 4. Important Note This course is not designed to Teach how to do security Review (in depth) the reasons “why” we should have solid software Cover how-to use any specific tools This course is designed to Explain available SA techniques and what they’re used for Help avoid common pitfalls Provide in-depth examples of selected best practices and teach you how to optimize them for the software development environment Parasoft Proprietary and Confidential
  • 5. About Parasoft Founded in 1987 27 Patents for automated quality processes Build quality into the process Static Analysis tools since 1994 Parasoft Proprietary and Confidential
  • 6. Parasoft Capabilities Technologies Quality Policy Management Task Management Code Analysis – Pattern Based Code Analysis – Flow Based Code Analysis - Metrics Code Review Unit Testing Framework Memory Error Detection Runtime Analysis Message/Protocol Testing Application Behavior Emulation Functional Testing Load Testing Parasoft Proprietary and Confidential
  • 7. Agenda for this session Define static analysis Define “false positives” Static analysis for Security Static analysis for defect prevention Static analysis for process improvement Parasoft Proprietary and Confidential
  • 8. What IS Static Analysis? Variety of methods Peer Review / Manual Code Review / Code Inspection Pattern-based code scanners Flow-based code scanners Metrics-based code scanners Compiler / build output Parasoft Proprietary and Confidential
  • 9. What is: Peer Code Review What: A human review process provides checks and balances for finding and preventing human mistakes. Why: Find defects early Find real functional problems Increase breadth of understanding Increase productivity Parasoft Proprietary and Confidential
  • 10. Peer Code Review Review policies Coder / reviewer pairs QA reviewer / test review Frequency Scope Pre commit vs. post commit review Automation potential A system to enforce the review policy Track un-reviewed changes Facilitate non-blocking communication Parasoft Proprietary and Confidential
  • 11. Methods of Code Review Code Review “in a room” Wastes time Developers are inhibited Using an automated infrastructure consistent Parasoft Proprietary and Confidential
  • 12. Determining Reviewers Who reviews whom How close are they in the code? Increase code understanding Parasoft Proprietary and Confidential
  • 13. What is: Pattern-Based SA What: Identify specific patterns in the code Why: Find bugs Ensure inclusion of required items Security Branding Prevent Problems Improve Developers Parasoft Proprietary and Confidential
  • 14. Pattern-Based Static Analysis Quick scan to list possible problems Fixing violations prevents certain classes of errors Each source file is analyzed separately Static analysis categories include: Logical Errors API Misuse Typographical Errors Security Threads and Synchronization Performance and Optimization Parasoft Proprietary and Confidential
  • 15. What is: Data Flow Analysis What: Simulate execution to find patterns Why: Find real bugs Parasoft Proprietary and Confidential
  • 16. Data Flow Analysis Simulate hypothetical execution paths Detect possible errors along those paths Data flow analysis error categories include: Exceptions Optimization Resource Leaks API misuse Security Parasoft Proprietary and Confidential
  • 17. What is: Code Metrics What: Measurement of code based on various statistics Why: Understanding code Possible problems Parasoft Proprietary and Confidential
  • 18. Code Analysis Perceptions “Static analysis is a pain” False positives has varying definitions I don’t like it It was wrong Parasoft Proprietary and Confidential
  • 19. Pattern based false positives True false positives generally rule deficiency Context Does this apply here and now? In-code suppressions to document decision Parasoft Proprietary and Confidential
  • 20. Flow Analysis False Positives False positives are inevitable Finds real bugs Flow analysis is not comprehensive Parasoft Proprietary and Confidential
  • 21. Static Analysis for Security Flow analysis finds low-hanging fruit Flow won’t guarantee security SA prevents security problems Input validation is key Parasoft Proprietary and Confidential
  • 22. Static Analysis for Prevention It’s quicker to deal with false positives than bugs Flow analysis finds complicated problems Runtime analysis should match flow analysis Rules should be chosen based on real problems Parasoft Proprietary and Confidential
  • 23. SA for Process Improvement Flow analysis won’t find everything Flow rules have corresponding pattern-based rules Prevent the potential rather than chase paths Parasoft Proprietary and Confidential
  • 24. House Keeping - Certification 2 – 45 minute live interactive sessions focused on Static Analysis using best practices for development, testing, and management Session 1: Best Practices of Static Analysis Fri, Nov 12, 11:00am - 12:00pm PST / 2:00pm – 3:00pm EST Session 2: Best Practices of Static Analysis Fri, Nov 19, 11:00am - 12:00pm PST / 2:00pm - 3:00pm EST Process infrastructure Workflows Choosing the best configuration And more Materials published day after on-line session Final exam (multiple choice) on-line Certificate of completion from Parasoft Corporation Parasoft Proprietary and Confidential
  • 25. Q&A Questions Parasoft Proprietary and Confidential
  • 26. Further Reading Automated Defect Prevention (Huizinga & Kolawa) …Principles and processes to improve the software development process. Effective C++ / More Effective C++ (Meyers) …Definitive work on proper C++ design and programming. Effective Java (Bloch) …Best-practice solutions for programming challenges. Design Patterns (Gamma, Helm, Johnson, Vlissides) …Timeless and elegant solutions to common problems. Parasoft Proprietary and Confidential