Parasoft Embedded
AEP Solutions on IAR Embedded Workbench
2011
Introduction - The Scenario…
After many months of hard work, the team has delivered a reliable software solution… But then… 2 [main] sensor 9052 exception::handle: Exception: STATUS_ACCESS_VIOLATION
Back at the Developers Desk‌
Bug is found Establish procedure to reproduce Investigate root cause Analyze side effect of fix Fix root cause Test
Release
Project Budgets & Deadlines
Root Cause Analysis‌ void initPtr(int** newPtr)
// Developer Anne
{ *newPtr = (int*)malloc(sizeof(int)*10); }
int callerX()
// Developer TIM
{ int* userPtr; int returnVal =0; initPtr(&userPtr); if(userPtr[2] > 5) returnVal = -1; free(userPtr); return (returnVal); }
Some Traditional Solutions… Peer Code Reviews – Regularly & Thoroughly!
A lot of Manual Effort Takes a Considerable Amount of Time Additional tasks impacting project schedule Open to human error and so possibly ineffective
More Testing – Cover More Use-Cases!!
A lot of Manual Effort Takes a Considerable Amount of Time Additional tasks impacting project schedule Open to human error and so possibly ineffective
AEP = Quality + Productivity
Parasoft Automated Error Prevention (AEP) Solutions Establishes a Methodology for Achieving Quality Goals While maintaining High levels of Team Productivity
Parasoft Corporate Overview Founded in 1987, privately held Headquarters in Monrovia, CA 360+ employees worldwide 18 locations worldwide Technical innovator 15 US patents for software technology 10,000+ customers worldwide, over 58% of Fortune 500 client Gartner Magic Quadrant: Visionary
Solutions Overview
ALM Solution: Project management, productivity improvement, decision support solution
Language Solutions -Static analysis -Data flow analysis -Unit testing -Regression testing -SDLC team/process optimization
System Level Solution: True End-to-End Quality Framework -UI testing -WSDL testing -Unit testing -Continuous Regression testing -Scenario Testing -Load testing -Middle-tier testing
Parasoft C++test
A Comprehensive Integrated Toolkit for C and C++ Development
Automates a Broad Range of Best Practices proven to improve software development Team Productivity & Software Quality
Coding Standards Enforcement
Flow Analysis Technology
Automatic Peer Code Review System
Automatic Unit Test Generation and Execution
Runtime Application Monitoring
Summary Quality Detect & Prevent Software Bugs Early & Effectively‌
Productivity Leverage the Power of Automation to achieve Project Budgets & Deadlines