<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>遗留系统 &#8211; mylogs.cn</title>
	<atom:link href="https://mylogs.cn/tag/%e9%81%97%e7%95%99%e7%b3%bb%e7%bb%9f/feed/" rel="self" type="application/rss+xml" />
	<link>https://mylogs.cn</link>
	<description>发现、记录、分享</description>
	<lastBuildDate>Mon, 03 Aug 2026 07:10:19 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>COBOL 迁 Java，bug 一起搬</title>
		<link>https://mylogs.cn/cobol-%e8%bf%81-java%ef%bc%8c%e8%bf%9e-bug-%e9%83%bd%e8%a6%81%e4%b8%80%e8%b5%b7%e6%90%ac/</link>
					<comments>https://mylogs.cn/cobol-%e8%bf%81-java%ef%bc%8c%e8%bf%9e-bug-%e9%83%bd%e8%a6%81%e4%b8%80%e8%b5%b7%e6%90%ac/#respond</comments>
		
		<dc:creator><![CDATA[steve, zhang]]></dc:creator>
		<pubDate>Mon, 03 Aug 2026 07:09:35 +0000</pubDate>
				<category><![CDATA[科技]]></category>
		<category><![CDATA[AI编程]]></category>
		<category><![CDATA[COBOL]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[代码迁移]]></category>
		<category><![CDATA[软件工程]]></category>
		<category><![CDATA[遗留系统]]></category>
		<category><![CDATA[金融科技]]></category>
		<guid isPermaLink="false">https://mylogs.cn/?p=3412</guid>

					<description><![CDATA[你公司那套跑了几十年、没人敢动的老系统，可能正在被 AI 盯上。 2026 年 7 月 30 日，一项发布在  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">你公司那套跑了几十年、没人敢动的老系统，可能正在被 AI 盯上。</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a706f1abda83&quot;}" data-wp-interactive="core/image" data-wp-key="6a706f1abda83" class="wp-block-image size-large aligncenter wp-lightbox-container"><img fetchpriority="high" decoding="async" width="996" height="854" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://mylogs.cn/wp-content/uploads/2026/08/55cd0cb19648468a0c6c8e3c0fb04426_header.webp" alt="COBOL 迁 Java，连 bug 都要一起搬" class="wp-image-3417" style="max-width:100%;height:auto;" srcset="https://mylogs.cn/wp-content/uploads/2026/08/55cd0cb19648468a0c6c8e3c0fb04426_header.webp 996w, https://mylogs.cn/wp-content/uploads/2026/08/55cd0cb19648468a0c6c8e3c0fb04426_header-300x257.webp 300w, https://mylogs.cn/wp-content/uploads/2026/08/55cd0cb19648468a0c6c8e3c0fb04426_header-768x659.webp 768w" sizes="(max-width: 996px) 100vw, 996px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">图片来源：arXiv:2607.28271</figcaption></figure>





<p class="wp-block-paragraph">2026 年 7 月 30 日，一项发布在 arXiv 的研究提出了一种叫“锁匠循环”的方法，用来验证把遗留 COBOL 程序自动迁移成 Java 后，两者是否真的一致。研究团队为 COBOL 源码和生成的 Java 目标各准备一套模拟运行环境，在普通服务器上并行执行；再用智能体自动构造测试输入，逐层探索程序分支；遇到“锁住的段落”就分析条件、生成等价变异，直到打开新路。</p>



<p class="wp-block-paragraph">他们试了三个真实案例，代码量从 430 行到 4114 行不等，两个开源程序几乎被测满，一个接近生产规模的内部程序也达到了 91.90% 的分支覆盖率。</p>



<h2 class="wp-block-heading">兼容性真，不等于正确性真</h2>



<p class="wp-block-paragraph">有意思的是，论文专门强调：这种验证保证的是“兼容性真”，不是“语义正确真”。也就是说，Java 不仅要复现 COBOL 的原有功能，连它自带的 bug 都要一起搬过去，否则下游业务可能把“错误结果”当规则用了好几年，一改反而引发连锁故障。</p>



<p class="wp-block-paragraph">说白了，银行、保险公司用 AI 迁移老代码时，最怕的不是“改对了没有”，而是“改完之后哪儿悄悄地不一样了”。锁匠循环的价值，就是把这种“不一样”在上线前自动抓出来。</p>



<h2 class="wp-block-heading">给迁移团队的一句话</h2>



<p class="wp-block-paragraph">如果你的团队也在考虑让 AI 重写祖传代码，建议先别急着全量替换，而是拿一个小模块做这种并排验证。毕竟老系统的命根子不是代码多先进，而是业务连续性。</p>



<p class="wp-block-paragraph">来源：Agentic Method for Deterministic Validation of Legacy Code Migration（arXiv:2607.28271，作者 Andras Ferenczi 等）</p>

]]></content:encoded>
					
					<wfw:commentRss>https://mylogs.cn/cobol-%e8%bf%81-java%ef%bc%8c%e8%bf%9e-bug-%e9%83%bd%e8%a6%81%e4%b8%80%e8%b5%b7%e6%90%ac/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
