使用机器学习技术实现软件现代化

Norbert Somogyi, Gábor Kövesdán
{"title":"使用机器学习技术实现软件现代化","authors":"Norbert Somogyi, Gábor Kövesdán","doi":"10.1109/SAMI50585.2021.9378659","DOIUrl":null,"url":null,"abstract":"As software engineering techniques and practices continuously evolve, programs created with an older technology stack become harder and more costly to maintain. These software are often referred to as legacy code. Naturally, the need arises to make use of the newer and more effective technologies, making the legacy code easier to maintain and operate. However, companies rarely allocate the necessary resources to manually re-implement these systems as that would be highly time-consuming and extremely costly to spend exclusively for maintenance purposes. Thus, various code modernization approaches have been proposed and tools have been created to reduce the cost of re-implementation by semi-automatically translating legacy systems into a modern, more advantageous environment. However, the source and target languages may be so different in nature that making the generated code feel as natural as possible is often difficult. These linguistic differences frequently impose the emulation of certain features between the two languages, which may prove too difficult to automatically handle using conventional static analysis of the source code. To this end, in this paper we propose the novel method of using machine learning techniques to teach the transformer on how to effectively handle cases that would otherwise be very error-prone in practice. This way, the transformation tool can achieve both a high level of automation and the ability to generate precise, error free code.","PeriodicalId":402414,"journal":{"name":"2021 IEEE 19th World Symposium on Applied Machine Intelligence and Informatics (SAMI)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-01-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Software Modernization Using Machine Learning Techniques\",\"authors\":\"Norbert Somogyi, Gábor Kövesdán\",\"doi\":\"10.1109/SAMI50585.2021.9378659\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"As software engineering techniques and practices continuously evolve, programs created with an older technology stack become harder and more costly to maintain. These software are often referred to as legacy code. Naturally, the need arises to make use of the newer and more effective technologies, making the legacy code easier to maintain and operate. However, companies rarely allocate the necessary resources to manually re-implement these systems as that would be highly time-consuming and extremely costly to spend exclusively for maintenance purposes. Thus, various code modernization approaches have been proposed and tools have been created to reduce the cost of re-implementation by semi-automatically translating legacy systems into a modern, more advantageous environment. However, the source and target languages may be so different in nature that making the generated code feel as natural as possible is often difficult. These linguistic differences frequently impose the emulation of certain features between the two languages, which may prove too difficult to automatically handle using conventional static analysis of the source code. To this end, in this paper we propose the novel method of using machine learning techniques to teach the transformer on how to effectively handle cases that would otherwise be very error-prone in practice. This way, the transformation tool can achieve both a high level of automation and the ability to generate precise, error free code.\",\"PeriodicalId\":402414,\"journal\":{\"name\":\"2021 IEEE 19th World Symposium on Applied Machine Intelligence and Informatics (SAMI)\",\"volume\":\"15 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2021-01-21\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2021 IEEE 19th World Symposium on Applied Machine Intelligence and Informatics (SAMI)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SAMI50585.2021.9378659\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE 19th World Symposium on Applied Machine Intelligence and Informatics (SAMI)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SAMI50585.2021.9378659","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

摘要

随着软件工程技术和实践的不断发展,使用旧技术栈创建的程序变得更加困难,维护成本也更高。这些软件通常被称为遗留代码。自然,需要使用更新和更有效的技术,使遗留代码更容易维护和操作。然而,公司很少分配必要的资源来手动重新实现这些系统,因为仅用于维护目的将非常耗时且成本极高。因此,已经提出了各种代码现代化方法,并创建了工具,通过半自动地将遗留系统转换为现代的、更有利的环境来减少重新实现的成本。然而,源语言和目标语言在本质上可能如此不同,以至于使生成的代码看起来尽可能自然通常是困难的。这些语言差异经常迫使两种语言之间的某些特性进行模拟,而事实可能证明,使用传统的源代码静态分析来自动处理这些特性过于困难。为此,在本文中,我们提出了一种使用机器学习技术来教变压器如何有效地处理在实践中非常容易出错的情况的新方法。这样,转换工具既可以实现高水平的自动化,又可以生成精确的、无错误的代码。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Software Modernization Using Machine Learning Techniques
As software engineering techniques and practices continuously evolve, programs created with an older technology stack become harder and more costly to maintain. These software are often referred to as legacy code. Naturally, the need arises to make use of the newer and more effective technologies, making the legacy code easier to maintain and operate. However, companies rarely allocate the necessary resources to manually re-implement these systems as that would be highly time-consuming and extremely costly to spend exclusively for maintenance purposes. Thus, various code modernization approaches have been proposed and tools have been created to reduce the cost of re-implementation by semi-automatically translating legacy systems into a modern, more advantageous environment. However, the source and target languages may be so different in nature that making the generated code feel as natural as possible is often difficult. These linguistic differences frequently impose the emulation of certain features between the two languages, which may prove too difficult to automatically handle using conventional static analysis of the source code. To this end, in this paper we propose the novel method of using machine learning techniques to teach the transformer on how to effectively handle cases that would otherwise be very error-prone in practice. This way, the transformation tool can achieve both a high level of automation and the ability to generate precise, error free code.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信