Preview

Труды Института системного программирования РАН

Расширенный поиск

Использование легковесного статического анализа для проверки настраиваемых семантических ограничений языка программирования

Аннотация

Для достижения переносимости, надёжности и безопасности программ на С и С++ может применяться введение дополнительных ограничений на язык и стиль программирования. В работе предложен новый метод формализации и классификация таких ограничений, описана система их автоматической проверки, основанная на применении быстрого и нетребовательного к ресурсам статического анализа, использующего средства компилятора, а также способ её интеграции с распространёнными системами сборки проектов.

Об авторе

В. Н. Игнатьев
ИСП РАН
Россия


Список литературы

1. «Guidelines for the use of the C language in critical systems», MISRA-C:2004, 2004

2. «Guidelines for the Use of the C++ Language in Critical Systems», ISBN 978-906400-03-3 (paperback), June 2008.

3. «Joint Strike Fighter air vehicle С++ coding standards for the system development and demonstration program», Lockheed Martin Corporation, 2005

4. «High Integrity C++ Coding Standard Manual - Version 2.4», The programming research group, 2007

5. The annotated ANSI C Standard American National Standard for Programming Languages—C: ANSI/ISO 9899-1990

6. «Code Complete», S. McConnel, Microsoft Press; 1 edition (January 1, 1993)

7. «The Practice of Programming», Brian W. Kernighan, Rob Pike, Addison-Wesley Professional; 1 edition (February 14, 1999)

8. «Coding standards for high-confidence embedded systems», Paul Anderson, MILCOM2008

9. «A Coding Rule Conformance Checker Integrated into GCC», Marpons, Marino, Carro, Herranz, Fredlund, Moreno-Navarro, and Polo, Electronic Notes in Theoretical Computer Science, 2007

10. «A tool for checking coding standards for C++», S. Mohammed Saleem (Master of technology thesis), 1999

11. «Standard error classification to support software reliability assessment», John B. Bowen, afips, pp.697, 1980 Proceedings of the National Computer Conference, 1980

12. «The Detection of Faulty Code Violating Implicit Coding Rules», Tomoko Matsumura, Akito Monden, Ken-ichi Matsumoto, isese, pp.173, 2002 International Symposium on Empirical Software Engineering (ISESE'02), 2002

13. «A Framework for Source Code Search Using Program Patterns», S. Paul, A. Prakash, IEEE Transactions on Software Engineering, vol. 20, no. 6, pp. 463-475, June 1994

14. Doxygen. Средство автоматической генерации документации. http://www.doxygen.org

15. «LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation», Chris Lattner, Vikram Adve, cgo, pp.75, International Symposium on Code Generation and Optimization (CGO'04), 2004

16. CLANG: C, Objective C, C++ frontend for LLVM, Apple, Inc, http://clang.llvm.org/

17. «Использование статического анализа для поиска уязвимостей и критических ошибок в исходном коде программ.» А. Аветисян, А. Белеванцев, А. Бородин, В. Несов. Труды Института системного программирования РАН, том 21, 2011 г, стр. 23-38

18. «Механизмы расширения системы статического анализа Svace детекторами новых видов уязвимостей и критических ошибок.» А. Аветисян, А. Бородин. Труды Института системного программирования РАН, том 21, 2011 г, Стр. 39-54

19. «The Definitive Guide to SQLite», Allen, Grant; Owens, Mike (November 5, 2010). (2nd ed.). Apress. p. 368. ISBN 1430232250.

20. Инфраструктура для кросс-компиляции. http://www.scratchbox.org/

21. Standard – the C++ language. Report ISO/IEC 14882: 1998, Information Technology Council (NCTIS).

22. «О некоторых задачах анализа и трансформации программ.» С. Гайсарян, А. Чернов, А. Белеванцев, О. Маликов, Д. Мельник, А. Меньшикова. Труды Института системного программирования РАН, том 5, 2004 г. Стр. 7-40.


Рецензия

Для цитирования:


Игнатьев В.Н. Использование легковесного статического анализа для проверки настраиваемых семантических ограничений языка программирования. Труды Института системного программирования РАН. 2012;22.

For citation:


Ignatyev V. Static analysis usage for customizable checks of programming languages semantic constraints. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2012;22. (In Russ.)



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)