Abstract
Spazio IT has been working on the Independent Software Verification and Validation of several codebases, some written in Ada, others in C/C++ and more recently also in Python; in all cases Spazio IT has used static analysis techniques and tools facilitating code inspection. Static analysis has always proven to be beneficial, but depending on the programming language, its advantages have emerged in different areas and namely: metrics and structural analysis for Ada, bugs finding at execution/semantic level for C/C++ and errors finding at compilation/syntactical level for Python. The paper presents first some general considerations on static analysis, then it concentrates on static analysis specifically applied to Ada, C/C++ and Python codebases. Finally, the paper describes Spazio IT future activities in the area of static analysis.
- https://www.iso.org/standard/35733.htmlGoogle Scholar
- https://misra.org.uk/Publications/tabid/57/Default.aspxGoogle Scholar
- https://www.autosar.org/fileadmin/user_upload/standards /adaptive/20--11/AUTOSAR_RS_CPP14Guidelines.pdfGoogle Scholar
- https://github.com/AdaCore/spark2014Google Scholar
- https://www.adalog.fr/en/adacontrol.htmlGoogle Scholar
- https://learn.adacore.com/courses/GNAT_Toolchain_Intr o/chapters/gnat_tools.html#gnatmetricGoogle Scholar
- https://www.adacore.com/gnatpro/toolsuite/gnatcheckGoogle Scholar
- https://www.rtca.org/Google Scholar
- https://webstore.iec.ch/publication/22781Google Scholar
- https://www.mathworks.com/products/polyspaceada. htmlGoogle Scholar
- https://www.scitools.com/Google Scholar
- https://www.adacore.com/codepeerGoogle Scholar
- https://gimpel.com/Google Scholar
- http://cppcheck.sourceforge.net/Google Scholar
- https://clang-analyzer.llvm.org/Google Scholar
- https://clang.llvm.org/extra/clang-tidy/Google Scholar
- https://fbinfer.com/Google Scholar
- https://www.adacore.com/gems/gem-33Google Scholar
- http://www.cprover.org/cbmc/Google Scholar
- https://frama-c.com/Google Scholar
- https://www.sonarqube.org/Google Scholar
- https://flake8.pycqa.org/Google Scholar
- https://pypi.org/project/bandit/Google Scholar
- https://pylint.org/Google Scholar
- https://github.com/SonarSource/sonar-pythonGoogle Scholar
- https://www.djangoproject.com/Google Scholar
- https://spazioit.com/pages_en/sol_inf_en/code_quality_e n/safe-toolset-en/Google Scholar
Index Terms
(auto-classified)Static Analysis for Ada, C/C++ and Python: Different Languages, Different Needs
Recommendations
Static Analyses in Python Programming Courses
SIGCSE '19: Proceedings of the 50th ACM Technical Symposium on Computer Science EducationStudents learning to program often rely on feedback from the compiler and from instructor-provided test cases to help them identify errors in their code. This feedback focuses on functional correctness, and the output, which is often phrased in ...
Static Slicing for Python First-Class Objects
QSIC '13: Proceedings of the 2013 13th International Conference on Quality SoftwareProgram slicing is an important program analysis technique and now has been used in many fields of software engineering. However, most existing program slicing methods focus on static programming languages such as C/C++ and Java, and methods on dynamic ...
Combined Static and Dynamic Analysis
Static analysis is usually faster than dynamic analysis but less precise. Therefore it is often desirable to retain information from static analysis for run-time verification, or to compare the results of both techniques. However, this requires writing ...






Comments