Генерация тестов для семантических анализаторов
Ключевые слова:
статическая семантика
семантический анализатор
автоматическая генерация тестов
Аннотация
В статье исследуется проблема построения программ-тестов для модулей проверки статической семантики в компиляторах, рассматриваются существующие способы формального описания правил статической семантики языков программирования и обсуждаются причины, мешающие использованию существующих нотаций для решения задачи генерации семантически корректных программ-тестов. Кроме того, предлагается собственный подход к описанию правил статической семантики языков программирования, удобный для построения семантически управляемого генератора программ-тестов.
Раздел
Раздел 2. Программирование
Библиографические ссылки
- Hanford K.V. Automatic generation of test cases // IBM System Journal. 1970. 9, N 4. 242-257.
- Purdom P. A sentence generator for testing parsers // Behavior and Information Technology. 1972. 12, N 3. 366-375.
- Wichmann B.A., Jones B. Testing ALGOL 60 compilers // Software -Practice and Experience. 1976. 6, N 2. 261-270.
- Celentano A., Crespi Reghezzi S., Della Vigna P., Ghezzi C., Granata G., Savoretti F. Compiler testing using a sentence generator // Software -Practice and Experience. 1980. 10, N 11. 897-918.
- Duncan A.G., Hutchison J.S. Using attributed grammars to test designs and implementation // Proceedings of the 5th International Conference on Software Engineering. Piscataway: IEEE Press, 1981. 170-178.
- 愦灭;percentEmin G.u n Sirer, Brian N. Bershad. Using production grammars in software Sirer E.G., Bershad B.N. Using production grammars in software testing // Proceedings of the 2nd Conference on Domain-Specific Languages. New York: ACM Press, 1999. 1-13.
- Kalinov A., Kossatchev A., Petrenko A., Posypkin M., Shishkov V. Using ASM specifications for automatic test suite generation for mpC parallel programming language compiler // Proceedings of the 4th International Workshop on Action Semantics. BRISC Notes Series. University of Aarhus (Denmark), 2002. 96-106.
- Kalinov A., Kossatchev A., Petrenko A., Posypkin M., Shishkov V. Using ASM specifications for compiler testing // 愦灭;percent In Abstract State Machines -愦灭;percentAdvances in Theory and Applications10th International Workshop, ASM 2003. 愦灭;percent2003. Volume 2589 of LNCS. 415. Proceedings of the 10th International Workshop on Abstract State Machines. Lecture Notes in Computer Science. Vol. 2589. New York-Heidelberg-Berlin: Springer-Verlag, 2003. 415.
- Kossatchev A.S., Kutter P., Posypkin M.A. Automated generation of strictly conforming tests based on formal specification of dynamic semantics of the programming language // Programming and Computing Software. 2004. 30, N 4. 218-229.
- Van Wijngaarden A., Mailloux B.J., Peck J.E., Koster C.H. A. Report on the algorithmic language Algol-68. MR 101, Mathematisch Centrum. Amsterdam, 1969.
- Hoare C.A. R., Wirth N. An axiomatic definition of the programming language PASCAL // Acta Informatica. 1973. 2, N 4. 335-355.
- Lee J.A. N. Computer semantics. New York: Van Nostrand Co., 1972.
- Lucas P., Lauer P., Stigleitner H. Method and notation for the formal definition of programming languages. IBM Technical Report 25.087. IBM Lab. Vienna, 1968.
- Lucas P., Walk K. On the formal description of PL/1 // Annual Review Automatic Programming. 1969. 6, N 3. 105-182.
- Wegner P. The Vienna definition language // Computer Surveys. 1972. 4, N 1. 5-63.
- Knuth D.E. Semantics of context-free languages // Mathematical Systems Theory. 1968. 2, N 2. 127-146.
- Knuth D.E. Semantics of context-free languages: Correction // Mathematical Systems Theory. 1971. 5, N 1. 179.
- Yacc and Lex. http://dinosaur.compilertools.net/
- Kastens U. Attribute grammars as a specification method // Proceedings of the International Summer School on Attribute Grammars. Lecture Notes in Computer Science. Vol. 545. New York-Heidelberg-Berlin: Springer-Verlag, 1991. 16-47.
- Bischoff K.M. Ox: An attribute-grammar compiling system based on yacc, lex and c: User reference manual. User Manual, 1993. http://citeseer.ist.psu.edu/bischoff93ox.html
- Pagan F. Formal specification of programming languages: A panoramic primer. Englewood Cliffs: Prentice Hall, 1981.
- Slonneger K., Barry L. Kurtz formal syntax and semantics of programming languages: A laboratory based approach. London: Addison-Wesley Longman Publishing Co., 1995.
- Зеленов С.В., Зеленова С.А., Косачев А.С., Петренко А.К. Генерация тестов для компиляторов и других текстовых процессоров // Программирование. 2003. 29, № 3. 104-111.
- Gurevich Y. Abstract state machines: An overview of the project // Foundations of Information and Knowledge Systems. Lecture Notes in Computer Science. Vol. 2942. New York-Heidelberg-Berlin: Springer-Verlag, 2004. 6-13.
- Посыпкин М.А. Применение формальных методов для тестирования компиляторов. Диссертационная работа на соискание ученой степени кандидата физико-математических наук. М., ИСП РАН, 2004.
- Архипова М.В. Генерация тестов для семантических анализаторов. Препринт ИСП РАН. № 9. M., ИСП РАН, 2006.