Автоматизированная система тестирования инструментов статического анализа кода
https://doi.org/10.15514/ISPRAS-2021-33(3)-3
Аннотация
Среды автоматизированного тестирования широко используются для обеспечения качества современного программного обеспечения в жизненном цикле разработки безопасного программного обеспечения. Иногда требуется проверка качества специфического программного обеспечения и поэтому требуется применение специфического подхода для решения этой задачи. В этой статье мы представляем подход и детали реализации среды автоматического тестирования, предназначенной для приёмочного тестирования инструментов статического анализа исходного кода программ. Представленная среда используется для непрерывного тестирования инструментов статического анализа исходного кода программ на языках C, C++ и Python.
Об авторах
Дамир Маратович ГИМАТДИНОВРоссия
Выпускник ВШЭ, магистр, младший инженер в Техкомпании Хуавэй
Александр Юрьевич ГЕРАСИМОВ
Россия
Кандидат физико-математических наук, старший эксперт в области автоматического и автоматизированного анализа программ электронных вычислительных машин
Пётр Алексеевич ПРИВАЛОВ
Россия
Магистр, ведущий инженер-программист
Вероника Николаевна БУТКЕВИЧ
Россия
Магистр, старший инженер
Наталья Андреевна ЧЕРНОВА
Россия
Магистр, младший инженер
Анна Антоновна ГОРЕЛОВА
Россия
Младший инженер
Список литературы
1. M. Cooper. Advanced Bash Scripting Guide – Volume 1: An in-depth exploration of the art of shell scripting. (Revision 10). Independently published, 2019, 589 p.
2. M.-A. Lemburg, M. von Löwis. PEP-263 – Defining Python Source Code Encodings. 2001. URL: https://www.python.org/dev/peps/pep-0263/.
3. NIST SAMATE Juliet Test Suite. URL: https://samate.nist.gov/SRD/testsuite.php.
4. RFC-8259. The JavaScript Object Notation (JSON) Data Interchange Format, 2017. URL: https://datatracker.ietf.org/doc/html/rfc8259.
5. H.H. AlBreiki, Q.H. Mahmoud. Evaluation of static analysis tools for software security. In Proc. of the IEEE 2014 10th International Conference on Innovations in Information Technology, 2014, pp. 93-98,
6. R. Mamood, Q.H. Mahmoud. Evaluation of static analysis tools for finding vulnerabilitites in Java and C/C++ source code. arXiv:1805.09040, 2018, 7 p.
7. T. Hofer. Evaluating static source code analysis tools. Master’s thesis. École Polytechnique Fédérale de Lausanne, 2010, pp. 1-74.
8. OWASP – Open web application security project. URL: https://owasp.org
9. M. Johns, M. Jodeit. Scanstud: a methodology for systematic, fine-grained, evaluation of static analysis tools. 4th International conference on software testing, verification and validation workshops. In Proc. of the 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops, 2011, pp. 523-530.
10. G. Hao, F. Li et al. Constructing benchmarks for supporting explainable evaluations of static application security testing tools. In Proc. of the 2019 International symposium on Theoretical Aspects of Software Engineering, 2019, pp. 66-72.
11. H.G. Rice. Classes of Recursively Enumerable Sets and Their Decision Problems. Transactions of the American Mathematical Society, vol. 74, no. 2, 1953, pp. 358-366.
12. Pylint. URL: https://pypi.org/project/pylint/.
13. JetBrains PyCharm. URL: https://www.jetbrains.com/pycharm/.
14. Flake8. URL: https://pypi.org/project/flake8/.
15. Pep8 – Python style guide checker. URL: https://pypi.org/project/pep8/.
16. Pyflakes. URL: https://github.com/PyCQA/pyflakes.
17. McCabe complexity checker. URL: https://github.com/PyCQA/mccabe.
Рецензия
Для цитирования:
ГИМАТДИНОВ Д.М., ГЕРАСИМОВ А.Ю., ПРИВАЛОВ П.А., БУТКЕВИЧ В.Н., ЧЕРНОВА Н.А., ГОРЕЛОВА А.А. Автоматизированная система тестирования инструментов статического анализа кода. Труды Института системного программирования РАН. 2021;33(3):41-50. https://doi.org/10.15514/ISPRAS-2021-33(3)-3
For citation:
GIMATDINOV D.M., GERASIMOV A.Yu., PRIVALOV P.A., BUTKEVICH V.N., CHERNOVA N.A., GORELOVA A.A. An Automated Framework for Testing Source Code Static Analysis Tools. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2021;33(3):41-50. https://doi.org/10.15514/ISPRAS-2021-33(3)-3