Автоматизированный перевод устаревших приложений на новые языки и платформы тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат физико-математических наук Мосиенко, Максим Алексеевич

  • Мосиенко, Максим Алексеевич
  • кандидат физико-математических науккандидат физико-математических наук
  • 2006, Санкт-Петербург
  • Специальность ВАК РФ05.13.11
  • Количество страниц 122
Мосиенко, Максим Алексеевич. Автоматизированный перевод устаревших приложений на новые языки и платформы: дис. кандидат физико-математических наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Санкт-Петербург. 2006. 122 с.

Оглавление диссертации кандидат физико-математических наук Мосиенко, Максим Алексеевич

Содержание.

Введение.

Введение.

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Введение диссертации (часть автореферата) на тему «Автоматизированный перевод устаревших приложений на новые языки и платформы»

Краткая история развития объекта исследования.6

Цели и задачи диссертационной работы.7

Тезисы, выносимые на защиту.8

Аннотация диссертационной работы по главам.9

Благодарности.10

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Мосиенко, Максим Алексеевич

Основные результаты диссертационной работы:

1. В работе выполнен системный анализ отечественных и зарубежных работ, а также путей повышения их качества на основе практики известных исследований и проведенных автором натурных испытаний.

2. Автором приведён подход к получению высококачественных результатов перевода. В его рамках предложены следующие нововведения:

• подход к преодолению трудностей языковых преобразований при переводе элементарных типов и их операций.

• стратегия создания классов на основе преобразования иерархии структурных описаний.

• метод перевода разделяемых описаний структур данных.

• метод управления зависимостью результатов перевода от внешней среды.

3. Разработанные теоретические положения и новые технические решения реализованы в составе средства реинжиниринга Modernization Workbench для автоматизированного перевода программ с различными входными и выходными языков.

4. Реализация успешно использована для перевода ряда промышленных программных комплексов.

Полученный автором подход к автоматизированному переводу позволяет существенно сократить объем необходимых ручных исправлений или полностью их исключить, что дает возможность значительно снизить затраты материальных ресурсов, денежных средств и времени на проведение перевода.

Основные положения и результаты работы докладывались на семинаре кафедры прикладной математики Санкт-Петербургского Государственного Политехнического Университета (2006, Санкт-Петербург), конференции по сопровождению и реинжинирингу программного обеспечения (CSMR 2003, Беневенто, Италия), семинару по анализу и модификации программного кода (SCAM 2003, Амстердам, Нидерланды) и опубликованы в работах [68,69,121,122].

Заключение.

Список литературы диссертационного исследования кандидат физико-математических наук Мосиенко, Максим Алексеевич, 2006 год

1. D. Baburin "Using Graph Based Representations in Reengineering", In Proceedings of International Conference on Software Maintenance, IEEE Computer Society Press, 2002, pp. 203-207

2. B. S. Baker "An Algorithm for Structuring Flowgraphs", Journal of the ACM, Vol. 24, No. 1,1977, pp. 98-120

3. I. D. Baxter, A. Yahin, L. Moura, M. Sant'Anna, L. Bier " Clone Detection Using Abstract Syntax Trees", In Proceedings of International Conference on Software Maintenance, IEEE Computer Society Press, 1998, pp. 368-377

4. B.L. Belady, M.M. Lehman "A model of large program development", IBM Systems Journal, 15(3), 1976, pp. 225-252

5. K. Benett "Do Program Transformations Help Reverse Engineering?", In Proceedings of International Conference on Software Maintenance, IEEE Computer Society Press, 1998, pp. 247-254

6. T. J. Biggerstaff, B.G. Mitbander, D.E. Webster "Program understanding and concept assignment problem", Communications of the ACM, 37 (5) 1994, pp. 72-83

7. B. W. Boehm "A Spiral Model of Software Development and Enhancement", Computer, Vol. 21, No. 5, May 1988, pp. 61-72

8. D. Boulychev, D. Koznov, A.A. Terekhov "On Project-Specific Languages and Their Application in Reengineering", In Proceedings of the Conference on Software Maintenance and Reengineering, Budapest, Hungary, March 2002, pp. 177-185.

9. Proceedings in Compiler Construction, (ed. R. Wilhelm), volume 2027 of Lecture Notes in Computer Science, 365-370, Springer-Verlag, 2001

10. M. van den Brand, P. Klint, C. Verhoef "Reengineering needs Generic Programming Language Technology", ACM SIGPLAN Notices, Vol. 32 Issue 2, February 1997, pp. 5461

11. M. van den Brand, M.P.A. Sellink, C. Verhoef "Current Parsing Techniques in Software Renovation Considered Harmful", In Proceedings of the International Workshop on Program Comprehension, IEEE Computer Society Press, 1998, pp. 108-117.

12. M. van den Brand, M.P.A. Sellink, C. Verhoef "Generation of Components for Software Renovation Factories from Context-Free Grammars", Science of Computer Programming, Vol. 36, No. 2-3, Mar. 2000, pp. 209-266

13. M. L. Brodie, M. Stonebraker "Migrating Legacy Systems: Gateways, Interfaces and the Incremental Approach", Morgan-Kaufmann, 1995,210 p.

14. E. Byrne "Conceptual Foundation for Software Re-engineering" // In Proceedings of the International Conference on Software Maintenance, ACM Press, 1992.- p. 216-235

15. G. Canfora, A.R. Fasolino, M. Tortorella "Towards Reengineering in Reuse Reengineering Processes", In Proceedings of International Conference on Software Maintenance, IEEE Computer Society Press, 1995, pp. 147-156

16. B. Caprile, P. Tonella "Restructuring Program Identifier Names", In Proceedings of International Conference on Software Maintenance, IEEE Computer Society Press, 2000, pp. 97-107

17. ClaBen, K. Hennig, I. Mohr, M. Schulz "CUI to GUI Migration: Static Analysis of Character-Based Panels", In Proceedings of Working Conference on Software Maintenance and Reengineering, IEEE Computer Society Press, 1997.

18. N. Chapin "Do We Know What Preventive Maintenance Is?", In Proceedings of International Conference on Software Maintenance, IEEE Computer Society Press, 2000, pp. 15-17

19. E. Chikofsky, J. H. Cross II "Reverse Engineering and Design Recovery: A Taxonomy", IEEE Software, Vol. 7, No. 1, January 1990, pp. 13-17.

20. W. С. Chu "A re-engineering approach to program translation", In Proceedings of the Conference on Software Maintenance, IEEE Computer Society Press, 1993, pp. 42-50

21. S. Comella-Dorda, R. Seacord, K. Walnau, et. al. "A survey of Black-box modernization approaches for Information Systems", In Proceedings of International Conference on Software Maintenance, IEEE Computer Society Press, 2000, pp. 173-184

22. A. van Deursen, P. Klint, C. Verhoef "Research issues in renovation of legacy systems", in Finance J.P. (ed.) Fundamental Approaches to Software Engineering (FASE'99), Lecture Notes in Computer Science, Springer Verlag, 1999, pp. 1-23

23. A. van Deursen, T. Kuipers "Identifying objects using cluster and concept analysis", In Proceedings of International Conference on Software Engineering, IEEE Computer Society Press, 1999, pp. 249-255, available from http://www.cwi.nl/~arie/papers/

24. A. van Deursen, L. Moonen "Type Inference for COBOL Systems", In Proceedings of Working Conference on Reverse Engineering, IEEE Computer Society Press, 1998, pp. 220230

25. W.C. Dietrich, Jr., L.R. Nackman, F. Gracer "Saving a legacy with objects", In Proceedings of Object-Oriented Programming: Systems, Languages and Applications Conference, New Orleans, Louisiana, October 1989, Sigplan Notices, 24 (10), 1989, pp. 77-83

26. S. Ducasse, M. Rieger, S. Demeyer "A Language Independent Approach for Detecting Duplicated Code", In Proceedings of International Conference on Software Maintenance, IEEE Computer Society Press, 1999, pp. 109-118

27. M. Fowler, K. Beck, J. Brant, et. al., "Refactoring: Improving Design of Existing Code", Addison Wesley Longman, 1999

28. E. Gamma, J. R. Helm, R. Johnson, J. Vlissides Design Patterns: Elements of Reusable Object Oriented Software, Addison-Wesley, 1995

29. J.P. Gibson, T.F. Dowling, B.A. Malloy "The Application of Correctness Preserving Transformations To Software Maintenance", In Proceedings of International Conference on Software Maintenance, IEEE Computer Society Press, 2000, pp. 1-10

30. R. Glass. "Cobol-A Contradiction and an Enigma", Communications of the ACM, Vol. 40, No. 9, 1997, pp. 11-13.

31. J. Graham "Migrating To Object Technology" .- Addison-Wesley, 1995 P.502

32. R. Gray, T. Bickmore, S. Williams, "Reengineering Cobol Systems to Ada," In Proceedings of Air Force/Army/Navy Software Technology Conference, US Dept. of Defense, 1995.

33. M. Harsu "Reengineering Legacy Software through Language Conversion", Report A-2000-8, Department of Computer and Information Sciences, University of Tampere (Doctoral thesis), June 2000,150 pp.

34. IBM ToolBox for Java, http://www-l.ibm.com/servers/eserver/iseries/toolbox/

35. Jacobson, F. Lindstrom, "Re-engineering of Old Systems to an Object-Oriented Architecture", In Proceedings of the Conference on Object-Oriented Programming Systems, Languages and Applications, ACM, New York, 1991, pp. 340-350.

36. J. Joiner, W. Tsai "Re-engineering Legacy Cobol Programs", Communications of the ACM, Vol. 41, No. 5,1998

37. C. Jones "Estimating Software Costs", McGraw-Hill, 1998.

38. C. Jones "The Year 2000 Software Problem Quantifying the Costs and Assessing the Consequences", Addison-Wesley, 1998

39. M. Jonge "Pretty-Printing for Software Reengineering", In Proceedings of International Conference on Software Maintenance, IEEE Computer Society Press, 2002, pp. 550-559

40. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, С. V. Lopes, J.-M. Loingtier, J. Irwin "Aspect-Oriented Programming", In Proceedings of the European Conference on Object-Oriented Programming, Springer-Verlag, 1997, pp. 220-242.

41. G.A. Kiran, S. Haripriya, P. Jalo "Effect of object-orientation on maintainability of software", In Proceedings of International Conference on Software Maintenance, IEEE Computer Society Press, 1997, pp 114-119

42. P.Klint "How Understanding and Restructuring differ from Compiling a Rewriting Perspective", In Proceedings of International Workshop on Program Comprehension, IEEE Computer Society Press, 2003, pp. 2-12

43. J. W. Klop "Term rewriting systems", In Handbook of Logic in Computer Science, Vol. II, Oxford University Press, 1992, p. 1-116.

44. K. Kontogiannis "Evaluation Experiments on the Detection of Programming Patterns Using Soft w are Metrics", In Proceedings of Working Conference on Reverse Engineering, IEEE Computer Society Press, 1997, pp. 44-54

45. W. Kozaczynski, J. Q. Ning, A. Engberts "Program Concept Recognition and Transformation", IEEE Transactions on Software Engineering, Vol. 18, No. 12, December 1992, pp. 1065-1075.

46. B. Krieg-Briickner "Language comparison and source-to-source translation", in P. Pepper (ed.), Program Transformation and Programming Environments, Springer, 1984, pp. 299304

47. K. Kontogiannis, P. Patil "Evidence Driven Object Identification in Procedural Systems", In Proceedings of Conference on Software Technology and Engineering Practice, Pittsburgh PA., September 1999, pp. 12-21.

48. R. Krikhaar, A. Postma, A. Sellink, M. Stroucken, C. Verhoef "A two phase process for software architecture improvement", International Conference on Software Maintenance, IEEE Computer Society Press, 1999, pp. 371-380

49. LegacyJ's PercCobol Cobol to Java compiler, http://www.legacvi.com/lgcvi percl .html

50. G.F. Levy "Improving the output of the FORTRAN to С translator, f2c", Software -Practice and Experience 25 (2) 1995, pp. 217-227

51. B. Lientz, E. B. Swanson "Problems of application software maintenance", Communications of the ACM, Vol. 24, No. 11,1981, pp. 763-769.

52. B. Lientz, E. B. Swanson, G. E. Tompkins "Characteristics of application software maintenance", Communications of the ACM, Vol. 21, No. 6,1978, pp. 466-471.

53. R. LSmmel, C. Verhoef "Cracking the 500 Language Problem", IEEE Software, Vol. 18, No. 6, pp. 78-88.

54. L. Markosian, P. Newcomb, R. Brand, S. Burson, T. Kitzmiller "Using an Enabling Technology to Reengineering Legacy Systems", Communications of the ACM, Vol. 37 (5), pp. 58-70

55. J. Martin, H. Miiller "Strategies for Migration from С to Java", In Proceedings of Conference on Software Maintenance and Reengineering, IEEE Computer Society Press, 2001, pp. 200-209.

56. M. Moore "Issues in user interface migration"

57. M. Mossienko "Automated Cobol to Java Recycling", In Proceedings of Conference on Software Maintenance and Reengineering, IEEE Computer Society Press, 2003, pp. 40-49

58. Natural Adabas 4GL, Software AG

59. P. Newcomb, "Reengineering Procedural Into Object-Oriented Systems" In Proceedings of Working Conference on Reverse Engineering, IEEE Computer Society Press, 1996, pp 237249

60. Novosoft, C2J С to Java translator, http://www.novosoft.ru/c2j.html

61. A. Quilici "A Memory-Based Approach to Recognizing Programming Plans", Communications of the ACM, Vol. 37, No. 5, May 1994, pp. 84-93.

62. V. Rajlich, K. Bennett "A Staged Model for the Software Life Cycle" Computer, Vol. 33, No. 7, July 2000, pp. 66-71

63. W. W. Royce, "Managing the Development of Large Software Systems: Concepts and Techniques," In Proceedings of WESCON, 1970, pp 1-9. Also available in Proceedings of ICSE, Computer Society Press, 1987, pp. 328-338.

64. M.P.A. Sellink, H.M. Sneed, and C. Verhoef, "Restructuring of COBOL/CICS Legacy Systems," In Proceedings of Conference on Maintenance and Reengineering, IEEE Computer Society Press, 1999, pp. 72-82.

65. M.P.A. Sellink, C. Verhoef "Native Patterns", In Proceedings of Working Conference on Reverse Engineering, IEEE Computer Society Press, 1998, pp. 89-103.

66. M.P.A. Sellink, C. Verhoef "Scaffolding for Software Renovation", In Proceedings of Conference on Software Maintenance and Reengineering, IEEE Computer Society Press, 2000,pp. 151-160.

67. M. Serrano, C. Montes, D. Carver "Evolutionary Migration of Legacy Systems to an Object-Based Distributed Environment", In Proceedings of International Conference Software Maintenance, Computer Society Press, 1999, pp. 86-98

68. H. M. Sneed "Encapsulating Legacy Software for Use in Client/Server Systems", In Proceedings of Working Conference on Reverse Engineering, IEEE Computer Society Press, 1996, pp. 104-119

69. H. M. Sneed "Estimating the Costs of Software Maintenance Tasks", In Proceedings of International Conference on Software Maintenance, IEEE Computer Society Press, 1995, pp. 168-181

70. H. M. Sneed "Measuring Performance of Software Maintenance Department", In Proceedings of Working Conference on Reverse Engineering, IEEE Computer Society Press, 1997, pp. 119-127

71. H. M. Sneed "Object-Oriented COBOL Recycling", In Proceedings of Working Conference on Reverse Engineering, IEEE Computer Society Press, 1996, pp. 169-178

72. H. M. Sneed "Program Interface Reengineering for Wrapping", In Proceedings of Working Conference Reverse Engineering, IEEE Computer Society Press, 1997, pp. 206-215

73. H. M. Sneed "Risks Involved in Reengineering Projects", In Proceedings of Working Conference Reengineering Engineering, IEEE Computer Society Press, 1999, pp. 204-212.

74. H. M. Sneed "Wrapping Legacy COBOL programs behind XML interface ", In Proceedings of Working Conference Reverse Engineering, IEEE Computer Society Press, 2001, pp. 189197

75. Н. М. Sneed, Е. Niary "Extracting Object-Oriented Specification from Procedurally Oriented Programs", In Proceedings of Working Conference on Reverse Engineering, IEEE Computer Society Press, 1995, pp. 217-226

76. H. M. Sneed, C. Verhoef "Reengineering the Corporation A Manifesto for IT Evolution", Encyclopedia of Software Engineering, 2001 (pages ??).

77. E. B. Swanson "The dimensions of maintenance", In Proceedings of International Conference on Software Engineering, ACM Press, 1976, pp. 492-497.

78. A. A. Terekhov "Automated Extraction of Classes from Legacy Systems", In Proceedings of TOOLS EE, 2000.

79. A. A. Terekhov "Automating Language Conversion: A Case Study", In Proceedings of the International Conference on Software Maintenance, 2001. pp. 654-658.

80. A. A. Terekhov, C. Verhoef "The Realities of Language Conversions", IEEE Software, November/December 2000, Vol. 17, No. 6, pp. 111-124.

81. S. Tilley, D. Smith "Legacy System Reengineering" // In Proceedings of International Workshop on Software Technology and Engineering Practice, 1997

82. N. Veerman "Revitalizing the modifiability of legacy assets", In Proceedings of Conference on Software Maintenance and Reengineering, Computer Society Press, 2003, pp. 19-29

83. C. Verhoef "How to Implement the Future?", In Proceedings of EUROMICRO, IEEE Computer Society Press, 2000, pp. 32-50, available at http://www.cs.vu.nl/~x/future/future.html

84. C. Verhoef "Software Development is a Special Case of Maintenance", In Proceedings of International Conference on Software Engineering and Applications, IEEE Computer Society Press, 1999

85. C. Verhoef "The Realities of Large Software Portfolios", unpublished work, available at http://adam.wins.uva.nl/~x/lsp/lsp.html

86. Visual Basic 6 Reference guide, Microsoft

87. VS COBOL II. Application Programming Language Reference, 4th ed., IBM Corp., Armonk, N.Y., 1993

88. R.C. Waters "Program translation via abstraction and reimplementation", IEEE Transactions on Software Engineering, Vol. 14, No. 8,1988, pp. 1207-1228

89. B. Weide, W. Heym "Reverse Engineering of Legacy Code Exposed" // In Proceedings of International Conference on Software Engineering .- ACM Press, 1995.- p. 327-331

90. N. Weiderman, L. Northrop, D. Smith, et al. "Implications of Distributed Object Technology for Reengineering" // CMU/SEI-97-TR-005. Pittsburg, PA: Software Reengineering Institute, Carnegi Melon University, 1997

91. M. Weiser "Program Slicing", IEEE Transactions on Software Engineering, Vol. 10, No. 4, 1984, pp. 352-357.

92. T. Wiggerts "Using Clustering Algorithms In Legacy Systems Remodularization", In Proceedings of Working Conference on Reverse Engineering, IEEE Computer Society Press, 1997, pp. 33-42

93. T. Wiggerts, H. Bosma, E. Fielt "Scenarios for the Identification of Objects in Legacy Systems", In Proceedings of Working Conference on Reverse Engineering, IEEE Computer Society Press, 1997, pp. 24-33

94. World Wide Web Consortium, "Extensible Markup Language (XML) 1.0 (Second Edition)", http://www.w3.org/TR/2000/REC-xml-200010Q6.pdf.

95. World Wide Web Consortium, "XSL Transformations (XSLT) Version 1.0", http://www.w3.org/TR/xslt

96. D.M. Yellin "Attribute grammar inversion and source-to-source translation", Lecture Notes in Computer Science 302, Springer, 1988

97. S. Yip "Software maintenance in Hong Kong", In Proceeding of ICSM'95, Opio, France, October, 1995, pp. 88-97

98. A. Ахо, P. Сети, Д. Ульман Компиляторы: принципы, технологии и инструменты.: Пер. с англ. М.:Издательский дом «Вильяме», 2001. - 768с.

99. В. Богданов, В. Гордеев "Практический опыт написания синтаксического анализатора языка программирования КОБОЛ" // в сб. "Автоматизированный реинжиниринг программ", СПб, изд-во С.-Петербургского университета, 2000. С. 6475

100. В. Богданов "Синтезирующая часть системы Rescue Ware" // в сб. "Автоматизированный реинжиниринг программ", СПб, изд-во С.-Петербургского университета, 2000. С. 76-82

101. Ф. Брукс Мифический человеко-месяц или как создаются программные системы.- Пер. с англ. СПб.: Символ-Плюс, 1999 - 304 с.

102. М.А. Бульонков, Д.Е. Бабурин "HyperCode открытая система визуализации программ", в сб. "Автоматизированный реинжиниринг программ", СПб, изд-во С.-Петербургского университета, 2000. С. 165-183.

103. Г. Буч Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд./Пер. с англ. М.: «Издательство Бином», СПб.: «Невский диалект», 2000. - 560 с.

104. К. Волошин, О. Плисс "Трансляция вызовов и переходов из COBOL в С++" // в сб. "Автоматизированный реинжиниринг программ", СПб, изд-во С.-Петербургского университета, 2000. С. 83-102

105. К. Волошин, О. Плисс "Устранение локальных GOTO" // в сб. "Автоматизированный реинжиниринг программ", СПб, изд-во С.-Петербургского университета, 2000. С. 103-109

106. К. Джермейн Программирование на IBM/360 М.: Мир, 1971. - 870 с.

107. А. Друнин "Автоматизированное построение программных компонент на основе устаревших программ" // в сб. "Автоматизированный реинжиниринг программ", СПб, изд-во С.-Петербургского университета, 2000. С. 184-205

108. Б. Казанский "Генерация программ на целевых языках в задачах реинжиниринга", в сб. "Автоматизированный реинжиниринг программ", СПб, изд-во С.-Петербургского университета, 2000. С. 118-144

109. М. Мосиенко "Построение динамической поддержки для задач реинжиниринга", в сб. "Автоматизированный реинжиниринг программ", СПб, изд-во С.-Петербургского университета, 2000. С. 145-164.

110. М. Мосиенко, А. Тиунова "Интеграция программной логики с пользовательским интерфейсом в процессе реинжиниринга" в сб. "Труды кафедры системного программирования", СПб, изд-во С.-Петербургского университета, 2004. С. 199-224.

111. М.В. Попов "Процедурное представление программ при переводе с языка COBOL" в сб. "Труды кафедры системного программирования", СПб, изд-во С.-Петербургского университета, 2003. С.

112. Б. Страуструп Язык программирования С++, 3-е изд./ Пер. с англ. СПб: "Невский Диалект", 1999г. - 991с.

113. А. А. Терехов "Языковые преобразования в задачах реенжиниринга программного обеспечения", 2002, диссертация

114. А. Н. Терехов, А. А. Терехов (ред.) "Автоматизированный реинжиниринг программ", СПб, изд-во С.-Петербургского университета, 2000,332 с.

115. А. Н. Терехов, JI. А. Эрлих, А. А. Терехов "История и архитектура проекта RescueWare", в сб. "Автоматизированный реинжиниринг программ", СПб, изд-во С.-Петербургского университета, 2000. С. 7-19.

116. Б. Эккель Философия Java. Библиотека программиста. СПб.: Питер, 2001. -880с.

117. JI. Эрлих "Технология реинжиниринга и компонентизации устаревших программных комплексов", 2002, диссертация

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.