SlideShare a Scribd company logo
Prevent All Java Software Defects
       with a Single Tool



                                        2010




Parasoft Proprietary and Confidential
Automated Analysis Techniques



              Application Tracing for Unit Tests
              Pattern-Based Static Code Analysis
              Runtime Error Detection
              Automated Unit Test Generation
              Data Flow Analysis
              Regression Testing




Parasoft Proprietary and Confidential
Introducing the Java Web App

                                        JPetStore Java EE Tutorial

              Spring-Based
              HSQL Database
              JSP Web Interface
              Apache Tomcat




Parasoft Proprietary and Confidential
The Problem Report

                      Similar Items not Aggregating in Shopping Cart

              Add one item to
              the cart
              Add the same
              item again
              Expected: a
              single line item
              with quantity 2
              Found: 2 line
              items each with
              quantity 1

Parasoft Proprietary and Confidential
Application Tracing for Unit Tests



              Record internal method calls inside the running
              application when the problem occurs
              Replicate the problem in a JUnit test
              Alter the JUnit test to assert the correct behavior
              Now possible solutions can be tested quickly
              without redeploying the web application




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
Runtime Error Detection


              Check for anti-patterns at runtime in the
              application
              Violations are presented in the context of real-
              world data values to stress their importance
              Runtime error categories include:
                    Threads and Synchronization
                    Performance and Optimization
                    Application Crashes
                    Functional Errors
                    Security



Parasoft Proprietary and Confidential
Automated Unit Test Generation


              Test code branches not covered by the
              application-level test
              Combine these unit tests with runtime error
              detection to check the new execution paths
              Build a baseline regression test suite




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
Regression Testing


              Capture current behavior of covered code paths
                    Whether the current behavior is right or wrong
              Alert when code modifications cause a change in
              behavior
              Developers can then mark JUnit assertions as
              correct behavior to increase the severity if those
              assertions fail in the future




Parasoft Proprietary and Confidential
Java Software Problems


              Functional
              Thread concurrency
              Performance
              Regression
              Requirement Testing
              Code Review




Parasoft Proprietary and Confidential
Comparable Tools


              Static Analysis
              Data Flow Analysis
              Unit Test Framework (with Test Engineer)
              Profiler
              QA Functional Tester
              Code Review
              Code Metrics Measurement
              Code Duplication Detection
              Task Management


Parasoft Proprietary and Confidential

More Related Content

What's hot (20)

PPTX
Security for developers
Abdelrhman Shawky
 
PDF
SAST vs. DAST: What’s the Best Method For Application Security Testing?
Cigital
 
PDF
Effective and Efficient API Misuse Detection via Exception Propagation and Se...
XavierDevroey
 
PDF
Manual Code Review
n|u - The Open Security Community
 
PDF
Continuous Integration: Live Static Analysis with Puma Scan
Cypress Data Defense
 
PDF
Automation of Security scanning easy or cheese
Katherine Golovinova
 
PPTX
Automation of Security scanning easy or cheese?
Dmitriy Gumeniuk
 
PPTX
Top 5 Code Coverage Tools in DevOps
scmGalaxy Inc
 
PPT
IBM AppScan Standard - The Web Application Security Solution
hearme limited company
 
PDF
Testing Tool Evaluation Criteria
basma_iti_1984
 
PDF
Pragmatic Java Test Automation
Dmitry Buzdin
 
PPTX
Types of test tools
Vaibhav Dash
 
PDF
Sast 2021
Felix Dobslaw
 
PDF
Test Automation Frameworks Using Selenium | Edureka
Edureka!
 
PPTX
Code Quality Management iOS
Arpit Kulsreshtha
 
PPT
IBM AppScan Enterprise - The total software security solution
hearme limited company
 
PDF
Testing Tools
Ted Husted
 
PDF
Types of Non Functional Testing
iFour Technolab Pvt. Ltd.
 
PPTX
Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b...
Rana Khalil
 
PPTX
Software testing tools (free and open source)
Wael Mansour
 
Security for developers
Abdelrhman Shawky
 
SAST vs. DAST: What’s the Best Method For Application Security Testing?
Cigital
 
Effective and Efficient API Misuse Detection via Exception Propagation and Se...
XavierDevroey
 
Continuous Integration: Live Static Analysis with Puma Scan
Cypress Data Defense
 
Automation of Security scanning easy or cheese
Katherine Golovinova
 
Automation of Security scanning easy or cheese?
Dmitriy Gumeniuk
 
Top 5 Code Coverage Tools in DevOps
scmGalaxy Inc
 
IBM AppScan Standard - The Web Application Security Solution
hearme limited company
 
Testing Tool Evaluation Criteria
basma_iti_1984
 
Pragmatic Java Test Automation
Dmitry Buzdin
 
Types of test tools
Vaibhav Dash
 
Sast 2021
Felix Dobslaw
 
Test Automation Frameworks Using Selenium | Edureka
Edureka!
 
Code Quality Management iOS
Arpit Kulsreshtha
 
IBM AppScan Enterprise - The total software security solution
hearme limited company
 
Testing Tools
Ted Husted
 
Types of Non Functional Testing
iFour Technolab Pvt. Ltd.
 
Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b...
Rana Khalil
 
Software testing tools (free and open source)
Wael Mansour
 

Similar to Java Defects (20)

PDF
Parasoft fda software compliance part2
Engineering Software Lab
 
PPT
Beyond Static Analysis: Integrating Java Static Analysis with Unit Testing an...
Erika Barron
 
PDF
How to Select a Static Analysis Tool
Parasoft_Mitchell
 
PDF
Beyond Static Analysis: Integrating C and C++ Static Analysis with Unit Testi...
Erika Barron
 
PPTX
How to Avoid Continuously Delivering Faulty Software
Parasoft
 
PDF
Neil Tompson - SoftTest Ireland
David O'Dowd
 
PPTX
How To Avoid Continuously Delivering Faulty Software
Erika Barron
 
PDF
A Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
Parasoft
 
PDF
Parasoft Concerto A complete ALM platform that ensures quality software can b...
Engineering Software Lab
 
PPT
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
Engineering Software Lab
 
PDF
Testing Theories & Methodologies
Yi Xu
 
PPT
TEA Presentation V 0.3
Ian McDonald
 
PPTX
How to Avoid Continuously Delivering Faulty Software
Perforce
 
PPTX
BUSTED! How to Find Security Bugs Fast!
Parasoft
 
PDF
[Europe merge world tour] Coverity Development Testing
Perforce
 
PDF
Unit testingandcontinousintegrationfreenest1dot4
JAMK
 
PDF
Apex Unit Testing in the Real World
Salesforce Developers
 
PPTX
Zero-bug Software, Mathematically Guaranteed
Ashley Zupkus
 
PDF
Secure Programming With Static Analysis
ConSanFrancisco123
 
PPTX
Непрерывное тестирование для улучшения качества кода
SQALab
 
Parasoft fda software compliance part2
Engineering Software Lab
 
Beyond Static Analysis: Integrating Java Static Analysis with Unit Testing an...
Erika Barron
 
How to Select a Static Analysis Tool
Parasoft_Mitchell
 
Beyond Static Analysis: Integrating C and C++ Static Analysis with Unit Testi...
Erika Barron
 
How to Avoid Continuously Delivering Faulty Software
Parasoft
 
Neil Tompson - SoftTest Ireland
David O'Dowd
 
How To Avoid Continuously Delivering Faulty Software
Erika Barron
 
A Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
Parasoft
 
Parasoft Concerto A complete ALM platform that ensures quality software can b...
Engineering Software Lab
 
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
Engineering Software Lab
 
Testing Theories & Methodologies
Yi Xu
 
TEA Presentation V 0.3
Ian McDonald
 
How to Avoid Continuously Delivering Faulty Software
Perforce
 
BUSTED! How to Find Security Bugs Fast!
Parasoft
 
[Europe merge world tour] Coverity Development Testing
Perforce
 
Unit testingandcontinousintegrationfreenest1dot4
JAMK
 
Apex Unit Testing in the Real World
Salesforce Developers
 
Zero-bug Software, Mathematically Guaranteed
Ashley Zupkus
 
Secure Programming With Static Analysis
ConSanFrancisco123
 
Непрерывное тестирование для улучшения качества кода
SQALab
 
Ad

More from Erika Barron (17)

PDF
Parasoft PIE infographic
Erika Barron
 
PDF
Parasoft Case Study: Wipro
Erika Barron
 
PDF
Are Your Continuous Tests Too Fragile for Agile?
Erika Barron
 
PDF
Real World Static Analysis Boot Camp
Erika Barron
 
PPTX
Service Virtualization: Delivering Complex Test Environments on Demand
Erika Barron
 
PDF
How the Cloud Shifts the Burden of Security to Development
Erika Barron
 
PPTX
Static Analysis and the FDA Guidance for Medical Device Software
Erika Barron
 
PPTX
Creating Complete Test Environments in the Cloud
Erika Barron
 
PPTX
12 Days of Coding Errors
Erika Barron
 
PDF
APIs Gone Wild - Star West 2013
Erika Barron
 
PPTX
Cloud migration slides
Erika Barron
 
PPT
Complex End-to-End Testing
Erika Barron
 
PDF
How the Grinch Stole Software Testing
Erika Barron
 
PDF
Service Virtualization
Erika Barron
 
PPT
Beyond Static Analysis: Integrating .NET Static Analysis with Unit Testing a...
Erika Barron
 
PDF
Software Development Graveyard
Erika Barron
 
PPT
The Development Graveyard: How Software Projects Die
Erika Barron
 
Parasoft PIE infographic
Erika Barron
 
Parasoft Case Study: Wipro
Erika Barron
 
Are Your Continuous Tests Too Fragile for Agile?
Erika Barron
 
Real World Static Analysis Boot Camp
Erika Barron
 
Service Virtualization: Delivering Complex Test Environments on Demand
Erika Barron
 
How the Cloud Shifts the Burden of Security to Development
Erika Barron
 
Static Analysis and the FDA Guidance for Medical Device Software
Erika Barron
 
Creating Complete Test Environments in the Cloud
Erika Barron
 
12 Days of Coding Errors
Erika Barron
 
APIs Gone Wild - Star West 2013
Erika Barron
 
Cloud migration slides
Erika Barron
 
Complex End-to-End Testing
Erika Barron
 
How the Grinch Stole Software Testing
Erika Barron
 
Service Virtualization
Erika Barron
 
Beyond Static Analysis: Integrating .NET Static Analysis with Unit Testing a...
Erika Barron
 
Software Development Graveyard
Erika Barron
 
The Development Graveyard: How Software Projects Die
Erika Barron
 
Ad

Recently uploaded (20)

PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 

Java Defects

  • 1. Prevent All Java Software Defects with a Single Tool 2010 Parasoft Proprietary and Confidential
  • 2. Automated Analysis Techniques Application Tracing for Unit Tests Pattern-Based Static Code Analysis Runtime Error Detection Automated Unit Test Generation Data Flow Analysis Regression Testing Parasoft Proprietary and Confidential
  • 3. Introducing the Java Web App JPetStore Java EE Tutorial Spring-Based HSQL Database JSP Web Interface Apache Tomcat Parasoft Proprietary and Confidential
  • 4. The Problem Report Similar Items not Aggregating in Shopping Cart Add one item to the cart Add the same item again Expected: a single line item with quantity 2 Found: 2 line items each with quantity 1 Parasoft Proprietary and Confidential
  • 5. Application Tracing for Unit Tests Record internal method calls inside the running application when the problem occurs Replicate the problem in a JUnit test Alter the JUnit test to assert the correct behavior Now possible solutions can be tested quickly without redeploying the web application Parasoft Proprietary and Confidential
  • 6. 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
  • 7. Runtime Error Detection Check for anti-patterns at runtime in the application Violations are presented in the context of real- world data values to stress their importance Runtime error categories include: Threads and Synchronization Performance and Optimization Application Crashes Functional Errors Security Parasoft Proprietary and Confidential
  • 8. Automated Unit Test Generation Test code branches not covered by the application-level test Combine these unit tests with runtime error detection to check the new execution paths Build a baseline regression test suite Parasoft Proprietary and Confidential
  • 9. 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
  • 10. Regression Testing Capture current behavior of covered code paths Whether the current behavior is right or wrong Alert when code modifications cause a change in behavior Developers can then mark JUnit assertions as correct behavior to increase the severity if those assertions fail in the future Parasoft Proprietary and Confidential
  • 11. Java Software Problems Functional Thread concurrency Performance Regression Requirement Testing Code Review Parasoft Proprietary and Confidential
  • 12. Comparable Tools Static Analysis Data Flow Analysis Unit Test Framework (with Test Engineer) Profiler QA Functional Tester Code Review Code Metrics Measurement Code Duplication Detection Task Management Parasoft Proprietary and Confidential