LegacyTranslate: LLM-based Multi-Agent Method for Legacy Code Translation
Radboud University(拉德堡德大学);ING(荷兰国际集团)
本文提出LegacyTranslate多智能体框架,通过三个智能体提升遗留代码翻译质量,实验显示初始翻译智能体达到45.6%可编译输出,结合API grounding和refinement智能体进一步提升编译和测试通过率。
2026-03-14 cs.SE
Towards an Architecture-centric Methodology for Migrating to Microservices
针对微服务迁移缺乏系统指导、从业者难用学术成果的问题,本文设计以架构为中心的迁移方法论,提出覆盖三阶段的指导框架,整合各类科研方法技术,后续将配套工具助力架构师高效完成迁移。
2022-07-01 cs.SE
Case Studies: Business and Technical Perspectives in Migration of Legacy Systems to Service Oriented Architecture
在采用面向服务架构(SOA)的过程中,企业的遗留系统是不可忽视的。原因是遗留系统已经在过去部署,并且在企业当前的IT架构中运行关键业务流程。然而,并不是所有的遗留系统到SOA的迁移过程都是成功的。突出正确的因素,以达到遗留系统迁移成功的特定公司是关键的价值。本研究所采用的主要研究方法是对欧洲的银行、家具、工程和航空公司等不同企业的不同公司进行访谈。通过单独的访谈,在每个案例公司中收集并确定了将遗留系统迁移到SOA的关键成功因素。最后,从业务和技术的角度对收集到的结果进行了分析,并将其作为影响遗留资产成功迁移到SOA的公认因素。
2014-12-26 cs.CY cs.SE
Developing a Model-Driven Reengineering Approach for Migrating PL/SQL Triggers to Java: A Practical Experience
本文提出一种模型驱动的再造方法,集成类似TDD的增量开发与三种验证,用于将PL/SQL触发器迁移至Java,并详细阐述实现、验证及MDE应用评估。
2025-10-23 cs.SE
Insights on Microservice Architecture Through the Eyes of Industry Practitioners
本研究通过对53名国际软件从业者的混合方法研究,分析了单体系统向微服务迁移的驱动力、实施活动、数据一致性策略及挑战,揭示了相关实践痛点与云技术的支撑作用。
2024-08-19 cs.SE
Empirical Assessment of the Perception of Software Product Line Engineering by an SME before Migrating its Code Base
LIRMM, Univ Montpellier, CNRS(LIRMM,蒙彼利埃大学,CNRS);ITK -Predict & Decide(ITK-Predict & Decide);IRISA, University of Southern Brittany(IRISA,南布列塔尼大学)
本文通过实证研究评估了中小企业在迁移代码库前对软件产品线工程的感知,发现迁移带来的利益和风险,并提出了有效的风险缓解策略。
2025-12-02 cs.AI cs.SE
Legacy Software Restructuring: Analyzing a Concrete Case
软件再模块化是逆向工程研究的一个老问题。结构良好或模块化系统的优点是众所周知的。然而,经过这么多的时间和努力,该领域似乎无法提出在实践中产生明显差异的解决方案。最近,一些研究人员开始质疑该领域的一些基本假设是否被高估了。主要的一个是评估高内聚/低耦合的教条与未知的相关性指标。在本文中,我们研究了一个真实的结构化案例(在Eclipse平台上),试图更好地理解(一些)现有的指标是否可以帮助软件工程师完成任务。结果表明,实验中使用的内聚性和耦合性指标没有达到预期的效果,可能无法帮助维护人员达到目标。我们还测量了另一种可能的重组,即减少模块之间循环依赖的数量。结果也没有达到预期。
2012-10-26 cs.SE
Penetration Testing and Legacy Systems
本文探讨了遗留系统在网络安全中的高风险性,指出常规测试忽视非功能性安全特征,提出通过渗透测试技术来帮助识别风险并保护遗留系统。
2023-12-17 cs.SE
Slicing functional aspects out of legacy applications
面向方面的软件开发建立在面向对象开发的基础上,它提供了额外的抽象边界,帮助我们将不同类型的需求分离为所谓的方面。给定一个遗留OO应用程序,识别现有的方面以帮助理解应用程序的结构,并可能将这些方面提取到可以单独维护和重用的单独软件模块中是值得的。我们提出了一种方法来提取功能方面使用程序切片。我们首先描述我们的意思是功能方面,并探讨在何种程度上,程序切片技术可以改善现有的方面挖掘和功能定位方法等方面。然后,我们描述了我们的方法应用到两个中等规模的开放源程序的结果。我们的初步结果表明,程序切片可以产生定义良好的功能方面时,适当的切片标准。最后,我们探讨了候选功能方面的设计质量的影响。
2021-09-24 cs.SE
ArchAgent: Scalable Legacy Software Architecture Recovery with LLMs
HiThink Research(慧思研究);University of Science and Technology of China(中国科学技术大学)
ArchAgent通过结合静态分析、自适应分段和LLM合成,实现大规模遗留软件架构的高效恢复与多视图业务对齐。
2026-01-19 cs.AI cs.SE
Migration of data for iKnow application at EURM - a case study
软件在进化。经过多次修改和改进后,软件将被淘汰和替换。当替换发生时,需要将数据从旧数据库迁移到新数据库中,以便新应用程序可以替换旧应用程序。欧洲大学(EURM)目前使用的学生管理应用程序(SAA)已经过时,需要更换。作为iKnow Tempus项目的一部分开发的iKnow应用程序计划取代EURM现有的学生管理应用程序。本文介绍了在将数据从SAA的旧数据库迁移到为iKnow应用程序设计的新数据库时遇到的问题。由于数据迁移可以被认为是ETL过程的一种类型,因此使用ETL过程的典型解决方案解决了这些问题。在本文中,我们描述了我们在迁移数据时遇到的问题的解决方案。
2012-05-01 cs.SE
Learning migration models for supporting incremental language migrations of software applications
遗留系统可以定义为一个显著抵制修改和进化的系统。根据文献,有两种主要的策略来迁移遗留系统:(a)用新系统替换遗留系统,(b)增量地将部分从遗留系统迁移到新系统。增量迁移允许开发人员更好地控制迁移过程中可能发生的风险。然而,这种策略更复杂,因为它需要将遗留系统分解为不同的部分,例如一组文件,并定义它们在迁移过程中的迁移顺序。据我们所知,没有办法支持开发人员进行这些活动。目的:本文提出了一种支持应用程序从一种源语言到另一种目标语言的增量语言迁移的方法MigrationExp。MigrationExp建议在特定迁移迭代中首先迁移的文件。作为一种新颖的方法,我们的方法依赖于一个排名模型的学习,使用学习排名算法,由开发人员进行迁移。方法:我们在Android应用程序迁移的背景下验证了我们的方法,从Java到Kotlin,一种新的Android官方语言。我们通过将Java代码迁移到开源应用程序开发人员编写的Kotlin来训练我们的模型。结果如下:结果表明,在提出文件迁移的任务上,我们的方法在准确预测经验观察到的迁移顺序的能力方面优于Google提出的先前的迁移策略。结论:由于大多数Android应用程序都是用Java编写的,因此我们得出结论,支持开发人员的方法(如MigrationExp)可能会对Android应用程序的开发产生重大影响。
2022-10-03 cs.SE
Reusing empirical knowledge during cloud computing adoption
将传统软件系统迁移到云平台是一个非常受欢迎的选择。但是,这样的努力可能不是没有危险的,需要在采取任何行动之前正确理解所涉及的要求和风险。现在确实时机已经成熟,可以对将系统迁移到云可能提供的内容进行现实的看法,了解导致系统质量目标失败的异常情况,并了解对策。云迁移知识体系虽然很有用,但分散在当前的文献中。对于忙碌的从业者来说,在将遗留系统与云服务集成的场景中,很难消化、综合和利用这些知识。我们解决这个问题,通过创建一个基于证据的软件工程和面向目标的建模方法之间的创新协同作用。我们开发了一个证据库,其中包含与使系统启用云相关的常见障碍和平台无关的解决策略。在给定云迁移场景的系统目标-障碍详细说明期间,进一步利用存储库。所提出的框架的适用性也得到了证明。
2020-04-17 cs.SE
A Microservices Identification Method Based on Spectral Clustering for Industrial Legacy Systems
本文提出一种基于谱聚类的自动化微服务分解方法,通过静态与动态分析提取依赖并构建图结构,利用图聚类识别高内聚低耦合的微服务候选,实验证明其性能优于现有方法且无需领域专家。
2023-12-20 cs.SE
Migrating Client Code without Change Examples
API开发人员开发软件库来修复错误、添加新功能或重构代码。为了从这种库演变中受益,客户端项目的程序员必须重复地升级他们的库使用,并使他们的代码库适应任何库API破坏性变化(例如,API重命名)。这样的自适应变化可能是乏味的并且容易出错。现有的工具在帮助程序员将客户端项目从旧的库版本迁移到新的库版本方面提供了有限的支持。例如,一些工具提取库版本之间的API映射,并且仅建议简单的自适应更改(即,语句更新);其它工具建议或自动化更复杂的编辑(例如,语句插入)。然而,当新的库版本可用时,用户通常需要提供足够的人工构建的示例来指导自动迁移,这既麻烦又耗时。在本文中,我们提出了一种新的方法,AutoUpdate,以进一步提高最先进的。而不是从变化的例子中学习,我们设计的AutoUpdate自动迁移在编译器导向的方式。也就是说,给定由升级库触发的编译错误,AutoUpdate利用13个迁移操作符来生成候选编辑,并暂时应用每个编辑,直到错误得到解决或所有编辑都被探索。我们做了两个实验。第一个实验涉及在5个流行库的版本之间迁移371个教程示例。AutoUpdate减少了92.7%的任务的迁移相关编译错误。它为32.4%的任务消除了此类错误,并且33.9%的任务具有与手动迁移相同的编辑。在第二个实验中,我们应用AutoUpdate迁移了两个真实的Lucene客户端项目。AutoUpdate成功地迁移了…
2021-05-06 cs.SE
AgenticTyper: Automated Typing of Legacy Software Projects Using Agentic AI
Darmstadt University of Applied Sciences(达姆斯塔德应用技术大学);MaibornWolff GmbH(马本沃尔夫公司)
AgenticTyper利用代理AI自动类型化遗留软件项目,通过迭代错误纠正和行为保留技术,高效解决类型错误问题。
2026-02-21 cs.AI cs.MA cs.PL
Supporting Robotic Software Migration Using Static Analysis and Model-Driven Engineering
University of York(约克大学);McMaster University(麦克马斯特大学)
机器人系统的广泛使用有助于开发与运行机器人系统的硬件平台高度耦合的机器人软件。由于维护成本增加或业务优先级变化,机器人硬件很少升级,从而增加了技术停滞的风险。要降低这一风险,就需要将系统及其软件迁移到新的硬件平台。传统的软件工程实践,如完全重新开发和基于代码的迁移,虽然有助于减轻这些过时的问题,他们是耗时和过于昂贵。我们的RoboSMi模型驱动方法支持控制机器人系统的软件在硬件平台之间的迁移。首先,RoboSMi对源硬件平台的机器人软件执行静态分析,以识别平台相关和平台无关的软件结构。通过分析表示目标平台上机器人组件架构的模型,RoboSMi建立这些组件的硬件配置,并为每个组件建议软件库,其执行将使机器人软件能够控制组件。最后,RoboSMi通过代码生成为目标平台生成软件,并指出需要机器人工程师手动干预才能完成迁移的区域。我们评估RoboSMi的适用性,并分析其使用所提供的自动化水平和性能,通过将部署用于环境监测的两个机器人系统和从螺旋桨活动板到Arduino Uno的线路跟踪任务。
2020-08-05 cs.RO cs.SE
Migrating to Cloud-Native Architectures Using Microservices: An Experience Report
近年来,迁移到云一直是工业界和学术界的热门话题。尽管云提供了许多好处,例如高可用性和可扩展性,但大多数内部部署应用程序架构还没有准备好充分利用这种环境的好处,并且使它们适应这种环境是一项重要的任务。微服务最近作为云原生的新颖架构风格出现。这些云原生架构可以促进迁移本地架构,以充分受益于云环境,因为非功能属性,如可扩展性,是这种风格所固有的。现有的云迁移方法大多没有将云原生架构视为其一等公民。因此,最终产品可能无法满足迁移的主要驱动因素。在本文中,我们打算报告我们在一个正在进行的项目中学到的经验和教训,该项目将单片内部部署软件架构迁移到微服务。我们得出的结论是,微服务不是一个适合所有人的解决方案,因为它给系统带来了新的复杂性,在采用这种风格之前,应该考虑许多因素,例如分布复杂性。但是,如果在可伸缩性和可用性方面需要高度灵活性的环境中采用,它可以提供其承诺的好处。
2015-07-29 cs.DC cs.SE
Impact of Comments on LLM Comprehension of Legacy Code
The MITRE Corporation(MITRE公司)
针对遗留系统文档缺失或不准确可能影响大语言模型理解遗留代码的研究空白,本研究采用选择题问答(MCQA)方法评估注释对大语言模型理解遗留代码的影响,给出了初步发现并规划了未来研究方向。
2025-04-23 cs.AI cs.SE
An Infrastructure Cost Optimised Algorithm for Partitioning of Microservices
针对现有微服务划分方法未考虑基础设施成本优化、迁移复杂度高且工具支持不足的问题,本文提出一种面向基础设施优化的预测算法,用于将单体软件划分为微服务,并指明了该领域的未来研究方向。
2024-08-13 cs.SE
Reversa: A Reverse Documentation Engineering Framework for Converting Legacy Software into Operational Specifications for AI Agents
Federal Institute of Goias(戈亚斯联邦理工学院);Federal University of Goias(戈亚斯联邦大学)
本文提出Reversa框架,旨在通过反向文档工程将遗留软件转换为AI代理可操作的规范,通过多代理流水线流程提取隐含规则,生成可追溯的操作规范,并提出评估协议以衡量覆盖率、可追溯性、置信度、效用和成本。
2026-05-18 cs.AI cs.SE
An AI-Assisted Migration Framework for Transforming Legacy Scientific Applications into Reusable Cloud-Based Workflows
University of Amsterdam(阿姆斯特丹大学);LifeWatch ERIC Virtual Lab Innovation Center(生命观察欧洲研究基础设施联盟虚拟实验室创新中心)
该研究提出结合RM-ODP、LLMs和DSM分析的AI辅助迁移框架,成功将两个不同领域的遗留科学应用转换为保留原功能的可重用云工作流,为遗留科学软件现代化提供可行方案。
2026-08-25 cs.SE
Tag Clouds for Software Documents Visualization
遗留软件文档很难理解和可视化。标签云技术帮助软件开发人员可视化软件文档的内容。标签云是一种众所周知的简单可视化技术。本文提出了一种新的方法来可视化软件文档,使用标签云。在本文中,标签在云中的可视化是基于它们的频率按字母顺序排列的。最重要的标签以较大的字体显示。这种方法的独创性在于它将JavaDoc的内容可视化为标记云。为了验证JavaDocCloud方法的有效性,将其应用于NanoXML实例研究,实验结果显示了软件文档中最常见和不常见的标签。
2021-09-30 cs.SE
A Model-Driven Approach to Reengineering Processes in Cloud Computing
将大型数据密集型遗留软件应用程序重新设计到云平台的过程涉及不同的相互关联的活动。这些活动与规划、架构设计、重新托管/提升、代码重构和其他相关活动有关。在这方面,云计算文献已经看到了不同方法的出现,这些方法具有到云平台的相同底层遗留应用程序再工程过程的不同观点。因此,由于缺乏集成和一致的标准模型,这些方法的有效互操作性和定制变得有问题。
2021-12-14 cs.SE
Parthenos: A Source Code Injection Approach for Software Transformation
维护遗留企业信息系统是公司中众所周知的必要性。到目前为止,它仍然是一个昂贵和耗时的过程,需要付出很大的努力和成本来实现小的变化。MITRAS寻求通过提供基于图形转换的自动维护系统模型来降低维护成本。本文介绍了Parthenos,这是MITRAS的一种不同方法,其目标是在源代码的语法和类型语义级别上保证所引入的修改的正确性。此外,它还提出了一种可扩展的体系结构,允许最不同类型的系统进行软件维护。通过功能测试来评估其有效性,使用精确度,召回率和f-测量的措施。
2021-05-12 cs.SE
Innovating the software engineering class through multi-team development
本文提出一种通过多团队协作开发与迭代维护遗留代码库来改革本科软件工程教学的新方法,并基于云端代码仓库数据和学生评价初步验证了其有效性。
2025-02-04 cs.CY cs.SE
Continuous API Evolution in Heterogenous Enterprise Software Systems
独立部署软件系统各部分的能力是现代软件开发的基石之一,并允许这些部分以不同的速度独立发展。然而,这种独立部署的一个主要挑战是确保尽管它们各自发展,但交互部分之间的接口仍然是兼容的。这对于企业软件系统尤其重要,因为它们通常高度集成并基于异构的IT基础设施。虽然已经提出了几种接口演化的方法,但其中许多方法依赖于开发人员遵守某些规则,但几乎没有提供这样做的指导。在本文中,我们提出了一种接口演化的方法,易于使用的开发人员,也解决了典型的异构企业软件,特别是遗留系统集成的挑战。
2021-03-21 cs.SE
Refactoring Software in the Automotive Domain for Execution on Heterogeneous Platforms
在计算机系统中实现更高性能的最重要方式是通过异构计算,即,采用包含多种类型处理器的硬件平台,如CPU、GPU和FPGA。有几种类型的算法可以在异构平台上执行得更快。然而,将CPU可执行软件迁移到其他类型的执行平台对软件工程提出了许多挑战。在这种类型的迁移中需要付出巨大的努力,特别是重新设计和重新实现软件。此外,在性能和其他运行时属性方面对其进行优化可能非常具有挑战性,这使得该过程复杂、昂贵且容易出错。因此,从同构平台到异构平台的成功重构过程需要一种基于明确和合理的架构决策的系统方法。在本文中,我们提出了一个决策框架,支持工程师重构软件系统时,以适应异构平台。它包括对重要因素的评估,以尽量减少在这一过程中反复出现问题的风险。通过一组问题,从业者能够制定答案,这将有助于做出适当的架构决策,以适应异构平台。该框架的内容是根据与汽车领域的架构师和开发人员的讨论而开发和发展的。
2020-05-18 cs.SE
The Journey to Serverless Migration: An Empirical Analysis of Intentions, Strategies, and Challenges
本研究通过15次访谈调查了11个系统迁移至无服务器架构的意图、策略与挑战,发现大小企业迁移动机不同且普遍采用领域驱动设计与绞杀者模式,同时面临测试事件驱动架构等技术与组织挑战。
2023-11-22 cs.SE
Every Maintenance Has Its Exemplar: The Future of Software Maintenance through Migration
The State Key Laboratory of Blockchain and Data Security, Zhejiang University(浙江大学区块链与数据安全国家重点实验室)
本文提出首个系统研究议程,探讨基于迁移的软件维护方法,旨在通过迁移技术提升自动化维护效率并解决关键挑战。
2026-02-15 cs.SE
Toward Quantum-Safe Software Engineering: A Vision for Post-Quantum Cryptography Migration
University of Maryland, Baltimore County(马里兰大学巴尔的摩县分校)
本文提出量子安全软件工程的新方向,针对后量子密码学迁移中的挑战,提出自动化量子安全适应框架及三项核心任务,推动软件工程方法革新。
2026-05-07 cs.CR cs.SE
Rust Coreutils: Rebuilding Unix Foundations in a Modern Language
Debian(德比安);LTCI, Télécom Paris, Institut Polytechnique de Paris(电信巴黎学院,巴黎理工学院 LTCI)
本文介绍用Rust重新实现GNU coreutils的开源项目Rust coreutils,该项目已成为兼容多数Linux发行版的直接替代品,为关键软件的替代开发提供了见解,也凸显现代编程特性对遗留软件包开发的吸引力。
2026-09-11 cs.SE
Migrating Code At Scale With LLMs At Google
Google(谷歌公司)
本文针对Google大规模手动迁移项目成本高的问题,提出结合变更位置发现与LLM的自动化算法,案例显示其生成超7成代码变更、减少50%耗时,为同类迁移提供有效模型。
2025-04-13 cs.AI cs.SE
Towards maintainer script modernization in FOSS distributions
自由和开放源码软件(FOSS)发行版是复杂的软件系统,由数千个软件包组成,这些软件包快速、独立地发展,没有集中协调。在软件包升级过程中,可能会遇到极端情况故障,并且很难处理,特别是当它们是由于行为不当的维护者脚本(用于完成软件包配置的可执行代码片段)造成的。在本文中,我们报告了一个软件现代化的经验,现有的遗留系统的模型,适用于自由和开源软件发行版的过程。我们提出了一个定义元模型的过程,这些元模型能够处理升级失败并帮助从升级失败中回滚,同时考虑到维护者脚本。这个过程已经被广泛应用于自由和开源软件发行版,我们报告这样的经验。
2009-09-28 cs.SE
Extensible Component Based Architecture for FLASH, A Massively Parallel, Multiphysics Simulation Code
FLASH是一种公开可用的高性能应用程序代码,它已经从一系列互不相连的遗留代码演变成一个模块化的、可扩展的软件系统。FLASH之所以成功,是因为它的功能是由科学应用的需求驱动的,而不会影响可维护性、性能和可用性。在最新的版本中,FLASH3由可相互操作的模块组成,这些模块可以组合起来生成不同的应用程序。FLASH体系结构允许其组件的任意多个替代实现共存并相互交换,从而带来更大的灵活性。此外,存在一种简单而优雅的机制,用于自定义代码功能,而无需修改源代码的核心实现。内置的单元测试框架提供可验证性,结合严格的软件维护过程,允许代码在生产和开发的双重模式下同时运行。在本文中,我们描述了FLASH3架构,重点解决方案,更具有挑战性的冲突所产生的求解器的复杂性,便携式性能要求,和遗留代码。我们还包括2005年和2007年进行的用户调查结果,这些结果突出了代码的成功。
2009-07-24 cs.SE
Static analysis-guided agentic AI translation enables Rust as a full stack bioinformatics language
Umeå University(于默奥大学);Science for Life Laboratory (SciLifeLab)(生命科学实验室(SciLifeLab))
该研究结合智能体AI与静态分析,将生物信息学遗留代码翻译为Rust,在Bascet软件上实现规模、构建时间、性能的显著优化,且支持原生Windows运行,为生物信息学软件大规模重构提供了低成本方案。
2026-08-14 cs.AI cs.SE q-bio.GN
EvoGraph: Hybrid Directed Graph Evolution toward Software 3.0
AutoHand AI
EvoGraph通过类型化有向图表示软件工件,结合小型语言模型驱动的变异算子和多目标适应度选择,实现代码、文档等自主进化,在漏洞修复、语言迁移等任务上显著优于基线,迈向软件3.0。
2025-08-07 cs.AI cs.SE
New Recruiter and Jobs: The Largest Enterprise Data Migration at LinkedIn
2019年8月,我们向会员和客户介绍了将LinkedIn的两个核心人才产品-- Jobs和Recruiter --转移到一个平台上的想法,以帮助人才专业人士提高工作效率。这个平台叫做New Recruiter & Jobs。这项工作的一个关键和困难部分是将现有数据从旧数据库迁移到新数据库,并确保没有数据差异和没有停机时间。在本文中,我们将讨论成功的数据迁移的一般架构以及我们遵循的思维过程。然后,我们将这些想法扩展到我们的情况,并更详细地解释我们的具体挑战和解决方案。在“爬坡过程”部分,我们解释了满足成功标准的内在困难,并描述了我们如何克服这些困难并实际满足成功标准。
2021-02-03 cs.DB cs.SE
The cloud paradigm: Are you tuned for the lyrics?
主要玩家、商业天使和舆论制造者正在广播最近IT炒作的欺骗性歌词:您的软件应该上升到云。有很多云,风险很高。令人沮丧的是,我们中的许多人都成为了云计算的忠实用户,但也许是由于遗留系统和遗留知识,IT专业人员,主要是那些在业务信息系统中为长尾工作的人,并没有为他们的客户生产基于云计算的系统。本主题演讲将深入探讨这种云模式的几个方面,从关于安全性和资金价值的更一般的担忧,到一般软件工程师的更具体的担忧。我们需要一个不同的软件开发过程吗?开发技术和工具是否足够成熟?开源在云计算中的作用是什么?我们如何评估基于云的开发的质量?敬请期待更多精彩!
2012-02-12 cs.DC cs.SE
Towards the interoperability of low-code platforms
Luxembourg Institute of Science and Technology(卢森堡科学与技术研究所);University of Luxembourg(卢森堡大学)
本文提出通过半自动迁移模型提升低代码平台互操作性,分析主流平台的导入导出能力,并结合大语言模型图像识别功能实现模型迁移。
2024-12-06 cs.SE
An Exploratory Study to Find Motives Behind Cross-platform Forks from Software Heritage Dataset
基于fork的开发机制为软件团队提供了灵活性和统一的流程,可以在分布式环境中轻松协作,而不会产生太多的协调开销。目前,多种社交编码平台支持基于fork的开发,如GitHub,GitLab和Bitbucket。虽然这些不同的平台实际上具有相同的功能,但它们有不同的侧重点。由于GitHub是最受欢迎的平台,并且相应的数据是公开的,因此目前的大多数研究都集中在GitHub托管的项目上。然而,我们观察到的轶事证据表明,人们对这些平台之间的选择感到困惑,一些项目正在从一个平台迁移到另一个平台,这些活动背后的原因仍然未知。随着软件遗产图数据集(SWHGD)的发展,我们有机会调查跨平台的分叉活动。在本文中,我们对10个流行的开源项目进行了探索性研究,以识别跨平台的分叉并调查背后的动机。初步结果表明,跨平台分叉确实存在。对于本研究中的10个主题系统,我们总共发现了81,357个分叉,其中179个分叉在GitLab上。基于我们的定性分析,我们发现我们识别的大多数跨平台分支都是另一个平台上的仓库的镜像,但我们仍然发现由于偏好使用不同平台支持的某些功能(例如持续集成(CI))而创建的案例。该研究为未来的研究方向奠定了基础,如了解平台之间的差异和支持跨平台协作。
2020-03-17 cs.SE
Does Migrate a Monolithic System to Microservices Decrease the Technical Debt?
背景从单体系统到微服务的迁移涉及系统的深度重构。因此,迁移通常会产生很大的经济影响,公司往往会在此过程中推迟几项活动,主要是为了加快迁移本身,但也是因为需要发布新功能。Objective.我们监测了一家中小型企业的技术债务,同时将一个遗留的单片系统迁移到微服务生态系统,以分析迁移到微服务之前和之后代码技术债务的变化。法我们进行了一个案例研究,分析了一个大项目(28万行代码)四年多的历史,其中两个团队从整体系统中提取了五个业务流程作为微服务,首先使用SonarQube分析技术债务,然后与开发人员进行定性研究,以了解系统的感知质量和最终推迟活动的动机。结果.从长远来看,微服务的发展有助于减少技术债务。尽管由于新微服务的发展,技术债务最初出现了峰值,但在相对较短的时间内,技术债务的增长速度往往比单片系统慢。
2020-07-04 cs.SE
MigMate: A VS Code Extension for LLM-based Library Migration of Python Projects
New York University Abu Dhabi(阿布扎比纽约大学);University of Alberta(阿尔伯塔大学)
MigMate是一款基于LLM的VS Code插件,通过集成自动化迁移过程,帮助开发者更高效地完成Python项目库迁移任务。
2026-03-02 cs.SE
Leveraging LLMs for Legacy Code Modernization: Challenges and Opportunities for LLM-Generated Documentation
The MITRE Corporation(MITRE公司)
本文研究利用LLM为MUMPS和IBM大型机汇编等遗留代码生成注释文档,提出提示策略与评估标准,发现LLM生成注释总体质量较高但缺乏可靠的自动化评估指标。
2024-11-22 cs.LG cs.SE
A Genetic Algorithm for Software Design Migration from Structured to Object Oriented Paradigm
将软件设计从结构化范式迁移到面向对象范式的潜在好处是多方面的,包括模块化、可扩展性和可扩展性。这种设计迁移应该自动化,因为它将减少手动过程所需的时间。我们以前的工作已经解决了这个问题的最优图聚类问题制定的二次规划(IP)。然而,已经认识到,IP的解决方案是计算困难的,因此需要基于启发式的方法来获得接近最优的解决方案。本文提出了一种遗传算法(GA)的最优聚类的目标是最大化的类内边缘,而最小化的类间的。该算法依靠基于适应度的父选择和交叉聚类元素,逐步达到最优解。该方案的实施和测试对一组真实和合成数据。实验结果表明,遗传算法优于我们以前的工作的基础上贪婪和蒙特卡罗方法的40%和49.5%。
2014-07-23 cs.NE cs.SE
Renovating Requirements Engineering: First Thoughts to Shape Requirements Engineering as a Profession
遗留软件系统通常包括使用它们的组织的重要数据,因此应该定期维护。理想情况下,组织应该依靠需求工程师来理解和管理涉众需求和系统约束的变化。然而,由于时间和成本压力,以及对实施的高度关注,组织通常选择放弃需求工程师,而专注于临时错误修复和维护。这份立场文件讨论了需求工程师可能从其他类似角色中学到的东西,这些东西对遗留系统的发展至关重要。特别是,我们比较了需求工程师(根据IREB),建筑师(根据德国法规)和产品所有者(根据“Scrum指南”)的角色。我们沿着四个维度讨论重叠:责任,自我描述,核心活动和工件。最后,我们从这些相关领域的见解,以促进需求工程师作为一个杰出的职业的概念。
2020-10-26 cs.SE
Open-Source Software Implications in the Competitive Mobile Platforms Market
PC平台的时代为未来的技术留下了竞争战略的遗产。然而,一旦未来发展成为一个拥有大量创新技术、互联网功能、通信可能性和生活便利的现在,这个概念就变得更加复杂了。从产品手机到智能手机,最终到移动终端的重大一步创造了一个具有巨大发展潜力的新行业。当前的移动平台市场正在见证一场平台战争,苹果、谷歌、诺基亚和微软等大公司扮演着重要角色。当今移动平台市场的一个重要方面是通过促进创新的开源计划所做的贡献。本文深入分析了主要参与者的开源软件战略及其对市场的影响。它首先给出了一个精确的概述过去导致目前的移动平台市场份额的状态。然后,它简要介绍了苹果,谷歌和诺基亚平台使用和发布的开源软件组件,导致他们的移动平台的开源战略。最后,本文从补充每个平台的软件开发人员社区的角度评估了情况。作者确定了移动行业开源现象的相关影响。
2015-01-11 cs.SE
Portable and Secure CI/CD for COBOL: Lessons from an Industrial Migration
Bankdata;University of Southern Denmark(南丹麦大学)
本文探讨了在受监管行业中迁移COBOL CI/CD管道的挑战,通过容器化架构减少运行时间并降低维护成本,为遗留系统现代化提供指导。
2026-04-01 cs.SE
Leveraging Large Language Models for Code Translation and Software Development in Scientific Computing
Institute for Clarity in Documentation(清晰文档研究所);Inria Paris-Rocquencourt(巴黎-罗克琴特研究所);Rajiv Gandhi University(拉贾·甘地大学);Tsinghua University(清华大学);Palmer Research Laboratories(帕勒尔研究实验室);Argonne National Laboratory(阿贡国家实验室)
本文提出CodeScribe工具,结合提示工程与用户监督,将遗留Fortran科学计算代码高效转换为C++并生成Fortran-C API,以提升科学计算软件开发生产力。
2025-03-17 cs.AI cs.SE
Conceptualising Cloud Migration Lifecycle
许多支持IT服务的企业软件系统的特点是需要高计算能力和资源消耗(Armbrust et al. 2010; Buyya et al. 2008; Koçak et al. 2013)。云计算举措作为一种可行的解决方案,通过提供广泛的服务来满足这些要求,受到了极大的关注,这些服务是普遍可访问的,可动态获取和发布的,并根据服务使用情况付费。因此,组织将云服务视为增强其遗留系统的机会。
2021-09-04 cs.SE
FIXME: Enhance Software Reliability with Hybrid Approaches in Cloud
IBM T.J. Watson Research Center(IBM T.J.沃森研究中心);IBM Research India(IBM印度研究院);IBM Research Europe(IBM欧洲研究院)
随着云计算可靠性的承诺,越来越多的企业正在迁移到云计算。云中的持续集成/部署(CICD)流程将需要更快、更透明地交付价值的开发人员与需要可靠地管理应用程序的站点可靠性工程师(SRE)联系起来。SRE将开发问题反馈给开发人员,开发人员提交修复并触发CICD重新部署。发布周期比以往任何时候都更加连续,因此代码生产速度更快,自动化程度更高。为了提供这种更高级别的敏捷性,云平台在面对更深层次的虚拟化灵活性时变得更加复杂。然而,可靠性并不是免费的,所有这些复杂性。软件工程师和SRE需要处理来自虚拟化层的更广泛的信息。因此,提供具有真正积极证据的相关信息对于快速确定问题的根本原因以缩短SRE的平均恢复时间(MTTR)和性能指标至关重要。相似性、知识或统计数据驱动的方法是有效的,但是随着数据量和类型的增加,单个方法仅限于关联不同数据源的语义关系。在本文中,我们引入FIXME,以提高软件的可靠性与混合诊断方法的企业。我们的评估结果表明,使用混合诊断方法的精度提高了约17%。研究结果有助于实践者和研究人员在高度动态的云环境中开发混合诊断。
2021-02-17 cs.AI cs.SE
Microservices Migration in Industry: Intentions, Strategies, and Challenges
为了在快速变化的环境中保持竞争力,许多公司开始将其遗留应用程序迁移到微服务架构。如此广泛的迁移过程同样需要仔细规划和考虑所涉问题和挑战。在这方面,来自行业实践的实践经验仍然很少。为了填补科学文献中的这一空白,我们对迁移到微服务的意图、策略和挑战进行了定性研究。我们通过对来自10家公司的软件专业人员进行16次深入访谈,调查了14个不同领域和规模的系统的迁移过程。我们提出了一个单独的描述,每个案件,并总结了最重要的发现。可维护性和可伸缩性被确定为迁移的主要驱动因素。由于遗留系统的高度复杂性,大多数公司更喜欢使用当前技术重写,而不是拆分现有代码库。这通常是由于缺乏适当的分解方法造成的。因此,找到正确的服务削减是一个重大的技术挑战,其次是建立必要的专业知识与新技术。组织挑战尤其与同时建立敏捷流程的大型传统公司有关。对他们来说,启动心态转变和确保团队之间的顺利合作至关重要。未来的研究软件系统的演变将特别受益于个别情况下提出。
2020-01-18 cs.NI cs.SE
Static Security Vulnerability Scanning of Proprietary and Open-Source Software: An Adaptable Process with Variants and Results
本文提出一种经行业验证的端到端静态安全漏洞扫描流程,支持专有与开源软件的定制化配置和迭代执行,并结合 DevSecOps 工具与 AI 增强,以降低源代码漏洞和供应链风险。
2025-09-21 cs.CR cs.SE
ReqGenX: An Empirical Study of Atomic Decomposition, Artifact Regeneration, and Reconstruction for Legacy SRS Documents
Texas State University(德克萨斯州立大学);Case Western Reserve University(凯斯西储大学)
研究旨在将遗留SRS文档转化为可追溯工件,以细粒度评估基于大语言模型的SRS生成。方法是用ReqGenX进行实证研究,包括分解、投票、生成工件等步骤。结果表明该方法有效,能支持评估并揭示相关权衡。
2026-07-21 cs.AI cs.SE