Prevent All Java Software Defects       with a Single Tool                                        2010Parasoft Proprietary...
Automated Analysis Techniques              Application Tracing for Unit Tests              Pattern-Based Static Code Analy...
Introducing the Java Web App                                        JPetStore Java EE Tutorial              Spring-Based  ...
The Problem Report                      Similar Items not Aggregating in Shopping Cart              Add one item to       ...
Application Tracing for Unit Tests              Record internal method calls inside the running              application w...
Pattern-Based Static Analysis              Quick scan to list possible problems              Fixing violations prevents ce...
Runtime Error Detection              Check for anti-patterns at runtime in the              application              Viola...
Automated Unit Test Generation              Test code branches not covered by the              application-level test     ...
Data Flow Analysis              Simulate hypothetical execution paths              Detect possible errors along those path...
Regression Testing              Capture current behavior of covered code paths                    Whether the current beha...
Java Software Problems              Functional              Thread concurrency              Performance              Regre...
Comparable Tools              Static Analysis              Data Flow Analysis              Unit Test Framework (with Test ...
Upcoming SlideShare
Loading in …5
×

Java Defects

1,090 views

Published on

Learn how to prevent more Java defects by applying static code analysis, flow analysis, unit testing, and runtime error detection in concert.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,090
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java Defects

  1. 1. Prevent All Java Software Defects with a Single Tool 2010Parasoft Proprietary and Confidential
  2. 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 TestingParasoft Proprietary and Confidential
  3. 3. Introducing the Java Web App JPetStore Java EE Tutorial Spring-Based HSQL Database JSP Web Interface Apache TomcatParasoft Proprietary and Confidential
  4. 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 1Parasoft Proprietary and Confidential
  5. 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 applicationParasoft Proprietary and Confidential
  6. 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 OptimizationParasoft Proprietary and Confidential
  7. 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 SecurityParasoft Proprietary and Confidential
  8. 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 suiteParasoft Proprietary and Confidential
  9. 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 SecurityParasoft Proprietary and Confidential
  10. 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 futureParasoft Proprietary and Confidential
  11. 11. Java Software Problems Functional Thread concurrency Performance Regression Requirement Testing Code ReviewParasoft Proprietary and Confidential
  12. 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 ManagementParasoft Proprietary and Confidential

×