Polyspace
DeveloperMathWorks[1]
Stable release
R2022b / September 15, 2022; 3 years ago (2022-09-15)
Operating systemCross-platform[2]
Typestatic code analysis
LicenseProprietary
Websitewww.mathworks.com/products/polyspace.html Edit this on Wikidata

Polyspace is a static code analysis tool for large-scale analysis by abstract interpretation to detect, or prove the absence of, certain run-time errors in source code for the C, C++, and Ada programming languages. The tool also checks source code for adherence to appropriate code standards.[3]

History

edit

Polyspace was originally developed by the French company PolySpace Technologies, which was acquired by MathWorks in 2007.[4] The product was subsequently integrated into MATLAB.

Common uses

edit

Polyspace examines the source code to determine where potential run-time errors such as arithmetic overflow, buffer overrun, division by zero, and others could occur. Software developers and quality assurance managers use this information to identify which parts of the code are faulty or proven to be reliable. Other parts of the code are marked for unproven checks and deserve individual review.[5][6]

Code standards or guidelines such as MISRA C attempt to address code quality, portability, and reliability. The product checks C and C++ source code for conformance to a subset of rules in these coding standards.[7]

Capabilities

edit

The product family consists of Polyspace Code Prover and Polyspace Bug Finder. The Code Prover module annotates source code with a color-coding scheme to indicate the status of each element in the code.[8] It uses formal methods-based static code analysis to verify program execution at the language level.[6] The tool checks each code instruction by taking into account all possible values of every variable at every point in the code, providing a formal diagnostic for each operation in the code under both normal and abnormal usage conditions.[9]

The Bug Finder module identifies software bugs by performing static program analysis on source code. It finds defects such as numerical computation, programming, memory, and other errors. It also produces software metrics such as Comment density of a source file, Cyclomatic complexity, Number of lines, parameters, call levels, etc. in a function, Identified run-time errors in the software.[10]

See also

edit

References

edit
  1. ^ Pele, Anne-Francoise (2007-04-25). "The Mathworks acquires PolySpace Technologies". EETimes. Archived from the original on 2012-02-11. Retrieved 2010-08-13.
  2. ^ The MathWorks - Polyspace - Requirements
  3. ^ Deutsch, Alain (2003-11-27). "Static Verification of Dynamic Properties" (PDF). Polyspace Technologies. Archived from the original (PDF) on 2012-03-13. Retrieved 2014-05-17.
  4. ^ Pelé, Anne-Françoise (2007-04-25). "The Mathworks acquires PolySpace Technologies". EE Times. Retrieved 2024-07-12.
  5. ^ Brat, Guillaume (2004). "Experimental Evaluation of Verification and Validation Tools on Martian Rover Software". Formal Methods in System Design. 25 (2/3): 167–198. doi:10.1023/B:FORM.0000040027.28662.a4. hdl:2060/20040010327.
  6. ^ a b Exponent (2012-09-24). "Exponent's Investigation of Toyota ETCS-i Vehicle Hardware and Software". Exponent. Archived from the original on 2014-07-27. Retrieved 2010-09-07.
  7. ^ MathWorks: static code analysis.
  8. ^ Jones, Paul; Jetley, Raoul; Abraham, Jay (2010-02-09). "A Formal Methods-based verification approach to medical device software analysis". Embedded Systems Design. Retrieved 2010-08-16.
  9. ^ Wissing, Klaus (2007-09-27). "Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors" (PDF). Workshop on Applied Program Analysis. Retrieved 2010-08-13.
  10. ^ "Software Metrics-MATLAB". India: MathWorks. Retrieved 2015-08-27.
edit

📚 Artikel Terkait di Wikipedia

List of tools for static code analysis

synonym for code analysis). CodePeer ConQAT Fluctuat LDRA Testbed MALPAS Polyspace SofCheck Inspector Squore Understand Astree Axivion Suite (Bauhaus) BLAST

Cyclomatic complexity

Standardization Organization. Generating cyclomatic complexity metrics with Polyspace The role of empiricism in improving the reliability of future software

MathWorks

automotive, software and other fields. The company's other products include Polyspace, SimEvents, Stateflow, and ThingSpeak. In 1999, the U.S. Department of

Ariane flight V88

Gunter's Space Page. Retrieved 29 November 2011. Faure, Christèle. "PolySpace Technologies History". Retrieved 3 October 2010. Todd, David (March 2007)

Dangling pointer

the programmer that the memory has already been freed). Tools such as Polyspace, TotalView, Valgrind, Mudflap, AddressSanitizer, or tools based on LLVM

MISRA C

owned by Vector Informatik GmbH). MISRA C:1998, C:2004, C:2012, C++:2008. Polyspace by MathWorks PVS-Studio by Program Verification Systems SonarQube by SonarSource

SQuORE

tracking system) and tools (reads outputs of Checkstyle, PMD, FindBugs, Polyspace, Coverity or SonarQube) and publishes a summarised view of the project

List of MATLAB software and tools

— model testing framework Simulink Coverage — coverage analysis tool Polyspace — static analysis and verification tools Simulink Check — modelling standards