skip to main content
research-article

Static Analysis for Ada, C/C++ and Python: Different Languages, Different Needs

Published:08 April 2022Publication History
Skip Abstract Section

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.

References

  1. https://www.iso.org/standard/35733.htmlGoogle ScholarGoogle Scholar
  2. https://misra.org.uk/Publications/tabid/57/Default.aspxGoogle ScholarGoogle Scholar
  3. https://www.autosar.org/fileadmin/user_upload/standards /adaptive/20--11/AUTOSAR_RS_CPP14Guidelines.pdfGoogle ScholarGoogle Scholar
  4. https://github.com/AdaCore/spark2014Google ScholarGoogle Scholar
  5. https://www.adalog.fr/en/adacontrol.htmlGoogle ScholarGoogle Scholar
  6. https://learn.adacore.com/courses/GNAT_Toolchain_Intr o/chapters/gnat_tools.html#gnatmetricGoogle ScholarGoogle Scholar
  7. https://www.adacore.com/gnatpro/toolsuite/gnatcheckGoogle ScholarGoogle Scholar
  8. https://www.rtca.org/Google ScholarGoogle Scholar
  9. https://webstore.iec.ch/publication/22781Google ScholarGoogle Scholar
  10. https://www.mathworks.com/products/polyspaceada. htmlGoogle ScholarGoogle Scholar
  11. https://www.scitools.com/Google ScholarGoogle Scholar
  12. https://www.adacore.com/codepeerGoogle ScholarGoogle Scholar
  13. https://gimpel.com/Google ScholarGoogle Scholar
  14. http://cppcheck.sourceforge.net/Google ScholarGoogle Scholar
  15. https://clang-analyzer.llvm.org/Google ScholarGoogle Scholar
  16. https://clang.llvm.org/extra/clang-tidy/Google ScholarGoogle Scholar
  17. https://fbinfer.com/Google ScholarGoogle Scholar
  18. https://www.adacore.com/gems/gem-33Google ScholarGoogle Scholar
  19. http://www.cprover.org/cbmc/Google ScholarGoogle Scholar
  20. https://frama-c.com/Google ScholarGoogle Scholar
  21. https://www.sonarqube.org/Google ScholarGoogle Scholar
  22. https://flake8.pycqa.org/Google ScholarGoogle Scholar
  23. https://pypi.org/project/bandit/Google ScholarGoogle Scholar
  24. https://pylint.org/Google ScholarGoogle Scholar
  25. https://github.com/SonarSource/sonar-pythonGoogle ScholarGoogle Scholar
  26. https://www.djangoproject.com/Google ScholarGoogle Scholar
  27. https://spazioit.com/pages_en/sol_inf_en/code_quality_e n/safe-toolset-en/Google ScholarGoogle Scholar

Index Terms

(auto-classified)
  1. Static Analysis for Ada, C/C++ and Python: Different Languages, Different Needs

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!