Интегрированная методика автоматизированного построения формальных поведенческих моделей С-приложений по исходному коду
Диссертация
Эффективность решения задач этих этапов (верификация, восстановление документации и пр.) обеспечивается путем восстановления модели реализованной программной системы из исходного кода (возвратное проектирование, reverse engineering) и последующего ее анализа. Однако бывает, что объем восстановленных формальных спецификаций сопоставим с объемом исходных кодов системы. Кроме того, ценность… Читать ещё >
Список литературы
- Автоматизированный реинжиниринг программ. Сборник статей / под ред. А. Н. Терехова и А. А. Терехова. СПб.: СПбГУ, 2000.
- Ахтырченко К.В., Сорокваша Т. П. Методы и технологии реинжиниринга ИС. М., 2003. (Труды Института системного программирования РАН).
- Баранов С.Н., Дробинцев П. Д., Летичевский А. А., Котляров В. П. Верификационная технология базовых протоколов для разработки и проектирования программного обеспечения // Программные продукты и системы. 2005. № 1(69). С. 25−28. ISSN-0236−235X.
- Бурдонов И.Б., Демаков А. В., Косачев А. С., Максимов А. В., Петренко А. К. Формальные спецификации в технологиях обратной инженерии и верификации программы // Труды Института системного программирования РАН. М., 1999. № 1. С. 35−47.
- Бурдонов И.Б., Косачев А. С., Пономаренко В. Н., Шнитман В. З. Обзор подходов к верификации распределенных систем. М., 2003. Труды Института системного программирования РАН.
- Волкова Е.Д., Страбыкин А. Д. Методы композиции и декомпозиции исполняемых UML моделей. М., 2007. Труды Института системного программирования РАН.
- Голубев А.А. Методики создания и внедрения агентов в прикладное и системное программное обеспечение для автоматизации тестирования и мониторинга встроенных вычислительных систем. Диссерт. на соискание уч. ст. канд. техн. наук. СПб.: СПбГПУ. 2007. 150 с.
- Дробинцев П.Д. Интегрированная технология обеспечения качества программных продуктов с помощью верификации и тестирования. Диссерт. на соискание уч. ст. канд. техн. наук. СПб.: СПбГПУ, 2006. 238 с.
- Карпов Ю.Г. Теория автоматов и алгоритмов. Учебное пособие. СПб., 2000. 149 с.
- Карпов А.Н. Технология настраиваемой генерации тестов по формальным спецификациям для встроенных приложений и программных интерфейсов, реализованных на Java-подобных языках. Диссерт. на соискание уч. ст. канд. техн. наук. СПб.: СПбГПУ, 2007. 145 с.
- Касьянов В.Н., Евстигнеев В. А. Графы в программировании: обработка, визуализация и применении. СПб.: БХВ — Петербург, 2003.
- Кознов Д.В. Визуальное моделирование компонентного программного обеспечения. Диссерт. на соискание уч. ст. канд. физ.-мат. наук. СПб.: СПбГУ. 2000. 82 с.
- Котов В. Е. Сети Петри. М.: Наука, 1984. 160 с.
- Летичевский А.А. Об одном классе базовых протоколов // Проблемы программирования. 2005. № 4. С. 3−19.
- Летичевский А.А., Капитонова Ю. В., Волков В. А., и др. Спецификация систем с помощью базовых протоколов // Кибернетика и Системный Анализ. 2005. № 4. С. 3−21.
- Летичевский А.А. Верификация и тестирование интерактивных систем, специфицированных базовыми протоколами. Диссерт. на соискание уч. ст. канд. физ.-мат. наук. Киев, 2005. 138 с.
- Летичевский А.А., Капитонова Ю. В., Летичевский А. А. (мл.) и др. Инсерционное программирование // Кибернетика и системный анализ. 2003. № 1. С. 19−32.
- Питерсон Д. Теория сетей Петри и моделирование систем. М.: Мир, 1984. 264 с.
- Применение методов теории реактивных систем в задачах моделирования и качественного анализа непрерывно-дискретных систем // http://home.imm.uran.ru/dolly/voll/parijs2/nodel0.html
- Терехов А.А. Языковые преобразования в задачах реинжиниринга программного обеспечения. Диссерт. на соискание уч. ст. канд.физ.-мат. наук. СПб.: СПбГУ, 2002. 127 с.
- Терехов А.А., Верхуф К. Проблемы языковых преобразований // Открытые системы. 2001. № 5−6. С. 54−62.
- Юсупов Ю.В., Котляров В. П. Методы реинженерии формальных спецификаций поведенческих моделей // Вычислительные, измерительные и управляющие системы. Сборник научных трудов. СПб.: СПбГПУ, 2007. С. 110 119.
- Юсупов Ю.В., Котляров В. П. Автоматическое построение верификационных моделей для приложений на языке С // Системное программирование. Вып. 3. СПб.: СПбГУ, 2008. С. 97−108.
- Юсупов Ю.В., Котляров В. П. Автоматизация построения формальных поведенческих моделей из программного кода // Научно-технические ведомости СПбГПУ. СПб., 2008. № 4 (63). С. 146−153. ISSN 1994−2354.
- Alur R., Dill D.L. A Theory of Timed Automata // Theoretical Computer Science. 1994. № 126 (2). P. 183−235.
- Arnold R.S. Software Reengineering. Los Alamitos: IEEE Computer Society Press, 1993.
- ASMs // http://www.eecs.umich.edu/gasm/
- Ball T. The Use of Control-Flow and Control Dependence in Software Tools. PhD thesis. University of Wisconsin-Madison, 1993.
- Bergey J., Hefley W., Lamia W., Smith D. Reengineering Process Framework. Pittsburgh: Software Engineering Institute, Carnegie Mellon University, 1995.
- Betty H.C. Cheng and Gerald C. Gannod, Abstraction of Formal Specifications from Program Code // Proceedings of the 3rd Annual International Conference on Tools with Artificial Intelligence, November 1990. P. 125−128.
- Biggerstaff T. Design Recovery for Maintenance and Reuse // IEEE Computer. 1989. July. Pages 36−49.
- Carriere S.J., Woods S., Kazman R. Software Architectural Transformation. Pittsburgh: Software Engineering Institute, Carnegie Mellon University, 1999.
- CC-Rider // http://www.cc-rider.com/
- Chikofsky E.J., Cross J.H. Reverse Engineering and Design Recovery: A Taxonomy // IEEE Software. 1990. № 7. P. 13−17.
- CodeSurfer // http://www.grammatech.com/products/codesurfer/overview.html
- Crystal FLOW // http://www.sgvsarc.com/productcrystalflow.htm
- Drobintsev P., Kotlyarov V., Karpov A., Yusupov Yu. Usage of CASE Approach for Guaranteeing of Software Quality // Second Spring Young Researchers' Colloquium on Software Engineering. Proceedings. Volume 1. SPb., 2008. P. 7−11.
- EDT // http://www-lor.int-evry.fr/edt/#INTRODUCTION
- Eilenberg S. Automata Machines and Languages. Vol. A. New York: Academic Press, 1974.
- Ernst M.D. Static and Dynamic Analysis: Synergy and Duality // In ICSE Workshop on Dynamic Analysis (WODA). Portland, Oregon, 2003. P. 24−27.
- Ferrante J., Ottenstein K., Warren J. The Program Dependence Graph and its Use in Optimization // ACM Transactions on Programming Languages and Systems. 1987. № 9 (3), July. P. 319−349.
- Gerald C.G., Betty H.C. Using Informal and Formal Methods for the Reverse Engineering of С Programs // In Proceedings of the 1996 International Conference on Software Maintenance // IEEE. 1996. P. 265−274.
- Gerald C., Betty H.C., A Formal Approach for Reverse Engineering: A Case Study. In Proceedings of the 6th Working Conference on Reverse Engineering. 1999. October. P. 100−111.
- German A. Software Static Code Analysis Lessons Learnt, on CS551/CS651 Safety-Critical Computing, Andy German, QinetiQ Ltd.
- Hind M., Pioli A. Which Pointer Analysis Should I Use? In ACM SIGSOFT International Symposium on Software Testing and Analysis, 2000. P. 113−123.
- Hoare C.A.R. Communicating Sequential Processes. P-H, 1985.
- Holcombe M. X-machines as a Basis for Dynamic System Specification // Software Engineering Journal. 1988. Vol.8. №. 3. P. 69−77.
- Horwitz S., Reps T. The Use of Program Dependence Graphs in Software Engineering // Proceedings of the Fourteenth International Conference on Software Engineering. New York: ACM, 1992. P. 392−411.
- Horwitz S., Reps Т., Binkley D. Interprocedural Slicing Using Dependence Graphs // Proceedings of the ACM SIGPLAN 88 Conference on Programming Language Design and Implementation (Atlanta, GA, June 22−24, 1988). New York: ACM, 1988. July. P. 35−46.
- Horwitz S., Prins J., Reps T. Integrating Non-Interfering Versions of Programs // ACM Transactions on Programming Languages and Systems. New York: ACM, 1989. № 11. P. 345−387.
- ITU Recommendation Z.120: Message Sequence Charts. 11/1999.
- IEEE Computer Society TCSE, 1990 // http://tcse.org/
- IEEE Standard Glossary of Software Engineering Terminology IEEE Std 610.12−1990.
- Imagix 4D // http://www.imagix.com/
- Insight // http://sourceware.org/insight/
- ITU Recommendation Z.100: Specification and Description Language. 08/2002.
- JavaPathFinder // http://javapathfinder.sourceforge.net/
- Klaus Havelund and Willem Visser, Program Model Checking as a New Trend // International Journal on Software Tools for Technology Transfer (STTT). 2002. Vol. 4. № 1 (October). P. 8−20.
- Klocwork Extensibility Interface User’s Guide, Document version 1.3. Klocwork, 2006.
- Klocwork Insight // http://www.klocwork.com/products/insight.asp
- Letichevsky A.A., Kapitonova Y.V., Volkov V.A., Vyshemirsky V.V., Letichevsky. A.A. (Jr.). Insertion Programming // Cybernetics and System Analysis. Kiev, 2003. № l.P. 16−26.
- Letichevsky A.A., Kapitonova J.K., Letichevsky A.A. (Jr.). Insertion Programming and System Simulation // Proceedings XXVI International Workshop on Modeling of Developing Systems. Kiev, 2003. P. 19−20.
- Letichevsky A.A. and Gilbert D.R. Agents and environments. In 1st International scientific and practical conference on programming, Proceedings 2−4 September, 1998. Kiev: Glushkov Institute of Cybernetics, National Academy of Sciences of Ukraine, 1998.
- Letichevsky A., Gilbert D., A Model for Interaction of Agents and Environments // Resent Trends in Algebraic Development Techniques / In D. Bert, C. Choppy, P. Moses (Eds.). LNCS 1827. 1999. P. 311−328.
- Manna Z., Pnueli A. The Temporal Logic of Reactive and Concurrent Systems. New York: Springer-Verlag, 1992.
- Marca D.A., McGowan C.L. SADT Structured Analysis and Design Technique. McGraw-Hill, 1988. 437 p.
- Muchnick S. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, 1997. 880 p.
- Milne R. The Proof Theory for the RAISE specification language. RAISE Report REM/12, STC Technology Ltd, 1990.
- Milner R. Communication and Concurrency. Prentice Hall, 1989.
- OMG Unified modeling language spesification (draft). Version 1.3R. http://www.rational.com/uml. 1999.
- Park D.M.R. Concurrency and Automata on Infinite Sequences. In Proceedings 5th GI Conference. Vol. 104 of Lecture Notes in Computer Science. Springer-Verlag, 1981. P. 167−183.
- Promela // http://spinroot.com/spin/Man/Quick.html
- RAISE // http://www.iist.unu.edU/newrh/III/3/l/page.html
- Reps Т., Horwitz S., Sagiv M., Rosay G. Speeding up Slicing. In SIGSOFT'94: Proceedings of the Second ACM SIGSOFT Symposium on the Foundations of
- Software Engineering (New Orleans, LA, December 7−9, 1994) — ACM SIGSOFT Software Engineering Notes 19, 5 (December 1994). P. 11−20.
- Sommerville I., Software Engineering. 6th Edition. Addison-Wesley Publishing, 2002. 624 p.
- Source-Navigator // http://sourcenav.sourceforge.net/
- Spin // http://spinroot.com
- Stephen Jo. Lint, а С program Checker // Computer Science Technical Report 65. Bell Laboratories, 1977, December. P. 72−81.
- Sugiyama K., Tagawa S., Toda M. Methods for Visual Understanding of Hierarchical System Structures // IEEE Trans, on Systems, Man and Cybernetics. 1981. № 11(2). P. 109−125.
- Telelogic TTCN Suite // http://www.telelogic.com/products/ttcn/index.cftn
- Telelogic TAU G2 // http://www.telelogic.com/products/tau/tau/index.cfrn
- Thomas W. Automata on Infinite Objects // Handbook of Theoretical Computer Science / J. van Leeuwen (ed.). Vol. B. Elsevier, 1990. P. 131−191.
- Tip F. A Survey of Program Slicing Techniques // Journal of Programming Languages. 1995. № 3(3), September. P. 121−189.
- VDM-SL //http://www.csr.ncl.ac.uk/vdm/bnf.html
- VDM // http://www.vienna.cc/e/evdm.htm98. www.iprinet.kiev.ua/gf/naupp 1 .htm
- Wong K., Tilley S., Muller H., Storey M.-A. Structural Redocumentation // IEEE Software. 1995. № 12(1), January. P. 46−54.
- Yusupov Yu., Kotlyarov V. Automated Creation of Verification Model for C-programs // Second Spring Young Researchers' Colloquium on Software Engineering. Proceedings. Vol. 2. SPb., 2008. P. 7−10.