Automated Sw Static Verification Using Polyspace Server and Access
Automated Sw Static Verification Using Polyspace Server and Access
이민채, ㈜만도
0
Contents
2. Project Overview
4. How did we get the “Automated Static Analysis and Collaborative Review” platform
6. Future Works
7. Conclusions
1
Mando - ADAS BU
Front Camera
Active
Safety
Automated
Driving
2
Development Process with MBD and Hand Code
Simulink Requirements
User
Requirements Acceptance
Testing
Unit Testing/
System Design Simulink Test
Integration Testing
Simulink
3
발표자 소개
▪ 연구 분야
– ADAS 및 자율주행 주행상황 판단 시스템
– 차량동역학 기반 제어시스템 설계 및 구현
– 자동차 SW 플랫폼, C/C++/Python, SW 검증
▪ 학력
이민채 책임연구원
– 한양대학교 전자전기컴퓨터공학부 학사
㈜만도 / ADAS BU
– 한양대학교 자동차공학과 석사
– 한양대학교 자동차공학과 박사
▪ 경력
– 한양대학교 자동차공학과 자동차전자제어연구소 (ACE Lab, 2006~2013)
– 자율주행자동차 경진대회 우승 (현대자동차, 2010/2012)
– 2013 무인 자율주행 자동차 경진대회 대상 (한국자동차공학회, 2013)
– ㈜만도 Global R&D Center 책임연구원 (2014 ~ 현재)
4
Project Overview
Static Code Analysis for Automotive Software
▪ Coding Guidelines
– MISRA C: Software development guidelines for the C programming language developed
by MISRA (Motor Industry Software Reliability Association)
▪ Code Metrics
– A statistical measurement of code complexity, size, coupling and cohesion
5
Project Overview
Polyspace Products
Polyspace Bug Finder Polyspace Bug Finder Server Polyspace Bug Finder Access
Polyspace Code Prover Polyspace Code Prover Server Polyspace Code Prover Access
6
Project Overview
Continuous Integration and Static Code Analysis
▪ Continuous Integration
– Automating the integration of code changes from multiple contributors
– Jenkins, Bamboo, GitLab, …
▪ Integrating Polyspace with continuous integration environment
7
Project Goals and Challenges
Conventional Development Process
8
Project Goals and Challenges
Development Process with CI and Polyspace
▪ Mathworks Polyspace products are used for static code analysis tool
– Polyspace Bug Finder Server for static code analysis with CI tools
– Polyspace Bug Finder Access for web based result review
9
Project Goals and Challenges
Development Process with CI and Polyspace
Push Trigger
10
Automated Static Analysis and Collaborative Review
Preparations for automated static analysis
11
Automated Static Analysis and Collaborative Review
Preparations for automated static analysis
Upload Results
12
Automated Static Analysis and Collaborative Review
Preparations for automated static analysis
or LDAP
▪ Polyspace Bug Finder Server is used for command line based static analysis
(w/o GUI)
14
Automated Static Analysis and Collaborative Review
First step – Command line based static analysis
15
Automated Static Analysis and Collaborative Review
First step – Command line based static analysis
C:\Sources\myfile.c
C:\Sources2\myfile2.c
16
Automated Static Analysis and Collaborative Review
First step – Command line based static analysis
17
Automated Static Analysis and Collaborative Review
First step – Command line based static analysis
18
Automated Static Analysis and Collaborative Review
Second step – Upload the results to Polyspace Access server
19
Automated Static Analysis and Collaborative Review
Second step – Upload the results to Polyspace Access server
20
Automated Static Analysis and Collaborative Review
Third step – Generate report
▪ Report template
– C:\Program Files\Polyspace\R2021a\toolbox\polyspace\psrptgen\templates
21
Automated Static Analysis and Collaborative Review
Integration with Bamboo
22
Achievements and Outlook
Web based result review and report generation
23
Achievements and Outlook
Web based result review and report generation
24
Future Works
Polyspace as You Code
25
Conclusions
▪ Pros
– Polyspace can analyze MISRA and defects at once
– Various interface to analyze/review static analysis results
– No additional costs for many lines of code or component extension
▪ Cons
– Customization of MISRA rules categories such as Mandatory, Required, and Advisory
– More detailed configuration for interrupts priority in Multitasking
– Slow Polyspace Code Prover makes adoption difficult
26
Conclusions
27
Questions?
28