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
Introducing the Java Web App JPetStore Java EE Tutorial Spring-Based HSQL Database JSP Web Interface Apache Tomcat
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
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
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
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
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
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
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
Java Software Problems Functional Thread concurrency Performance Regression Requirement Testing Code Review
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

More Related Content

PDF
Java Defects
PPTX
IGT's Intelligent Automation Framework
PDF
Just Enough (Automated) Testing
PPTX
Software Evaluation
PPSX
Software testing and_quality_assurance_powerpoint_presentation
PPTX
How to Optimise Continuous Testing
PPTX
Creating Digital Confidence with Test Automation
PPTX
Automation Testing
Java Defects
IGT's Intelligent Automation Framework
Just Enough (Automated) Testing
Software Evaluation
Software testing and_quality_assurance_powerpoint_presentation
How to Optimise Continuous Testing
Creating Digital Confidence with Test Automation
Automation Testing

What's hot (20)

PPTX
Introduction to Automation Testing
PDF
automation framework
PDF
Clean & Dirty Acceptance Tests with Cucumber & Watir
PDF
04 test controlling and tracking
PPT
Automation framework
PPTX
Introduction to test automation
PPT
Reactis
PDF
Presentation Verification & Validation
PDF
Automation Framework Design
PPTX
Mobile Test Automation Framework : Presented By Shankar Garg
PPT
Test Automation Framework Designs
ODP
Query Management system-Iv review
PDF
Test automation wipro
PPT
Keyword Driven Testing using TestComplete
PPT
1.microsoft visual studio 2010 test manager
PPTX
The complete guide for software integration testing | David Tzemach
PDF
End-to-End Automation: Providing Stakeholders Feedback on Quality
PDF
Query Management system-Iv review
PPTX
Testing web based applications
PDF
TLC2018 Tanya Kravtsov: 10 Steps to CI, Testing and Delivery
Introduction to Automation Testing
automation framework
Clean & Dirty Acceptance Tests with Cucumber & Watir
04 test controlling and tracking
Automation framework
Introduction to test automation
Reactis
Presentation Verification & Validation
Automation Framework Design
Mobile Test Automation Framework : Presented By Shankar Garg
Test Automation Framework Designs
Query Management system-Iv review
Test automation wipro
Keyword Driven Testing using TestComplete
1.microsoft visual studio 2010 test manager
The complete guide for software integration testing | David Tzemach
End-to-End Automation: Providing Stakeholders Feedback on Quality
Query Management system-Iv review
Testing web based applications
TLC2018 Tanya Kravtsov: 10 Steps to CI, Testing and Delivery
Ad

Viewers also liked (6)

PPT
Code Analysis-run time error prediction
PDF
Tools for static analyses of Java af Hans Søndergaard, ViaUC
PDF
No Flex Zone: Empathy Driven Development
PPTX
Presentation jug novembre2015
PPTX
Java Code Quality Tools
PPT
Source Code Scanners
Code Analysis-run time error prediction
Tools for static analyses of Java af Hans Søndergaard, ViaUC
No Flex Zone: Empathy Driven Development
Presentation jug novembre2015
Java Code Quality Tools
Source Code Scanners
Ad

Similar to Beyond Static Analysis: Integrating Java Static Analysis with Unit Testing and More (20)

PPTX
Java Code Quality Tools
PDF
Jdj Foss Java Tools
PDF
Testing Theories & Methodologies
PPT
Ensuring code quality
PPTX
How To Avoid Continuously Delivering Faulty Software
PDF
What is system level analysis
PPTX
How to Avoid Continuously Delivering Faulty Software
PPT
TEA Presentation V 0.3
PDF
[Europe merge world tour] Coverity Development Testing
PPT
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
DOCX
Software Testing Notes in three pages .docx
PDF
Software testing
PDF
Apex Unit Testing in the Real World
PDF
Neil Tompson - SoftTest Ireland
DOC
Mohammed Kharma - A flexible framework for quality assurance and testing of s...
ODP
Static Analysis in IDEA
DOCX
Become a Selenium Test Automation Expert: Get Job-Ready Training at NareshIT
PPTX
Slides for Houston iPhone Developers' Meetup (April 2012)
 
PDF
NessPRO Italy on CAST
PPT
Assessing Unit Test Quality
Java Code Quality Tools
Jdj Foss Java Tools
Testing Theories & Methodologies
Ensuring code quality
How To Avoid Continuously Delivering Faulty Software
What is system level analysis
How to Avoid Continuously Delivering Faulty Software
TEA Presentation V 0.3
[Europe merge world tour] Coverity Development Testing
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
Software Testing Notes in three pages .docx
Software testing
Apex Unit Testing in the Real World
Neil Tompson - SoftTest Ireland
Mohammed Kharma - A flexible framework for quality assurance and testing of s...
Static Analysis in IDEA
Become a Selenium Test Automation Expert: Get Job-Ready Training at NareshIT
Slides for Houston iPhone Developers' Meetup (April 2012)
 
NessPRO Italy on CAST
Assessing Unit Test Quality

More from Erika Barron (18)

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

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Electronic commerce courselecture one. Pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Machine Learning_overview_presentation.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Unlocking AI with Model Context Protocol (MCP)
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
“AI and Expert System Decision Support & Business Intelligence Systems”
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
The Rise and Fall of 3GPP – Time for a Sabbatical?
Electronic commerce courselecture one. Pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Machine Learning_overview_presentation.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Review of recent advances in non-invasive hemoglobin estimation
Reach Out and Touch Someone: Haptics and Empathic Computing
Building Integrated photovoltaic BIPV_UPV.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Dropbox Q2 2025 Financial Results & Investor Presentation
Programs and apps: productivity, graphics, security and other tools
MIND Revenue Release Quarter 2 2025 Press Release
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Assigned Numbers - 2025 - Bluetooth® Document
MYSQL Presentation for SQL database connectivity
Unlocking AI with Model Context Protocol (MCP)

Beyond Static Analysis: Integrating Java Static Analysis with Unit Testing and More

  • 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
  • 3. Introducing the Java Web App JPetStore Java EE Tutorial Spring-Based HSQL Database JSP Web Interface Apache Tomcat
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 11. Java Software Problems Functional Thread concurrency Performance Regression Requirement Testing Code Review
  • 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