Object-oriented legacy system trace-based logic testing

Stéphane Ducasse, Tudor Gîrba, Roel Wuyts
{"title":"Object-oriented legacy system trace-based logic testing","authors":"Stéphane Ducasse, Tudor Gîrba, Roel Wuyts","doi":"10.1109/CSMR.2006.37","DOIUrl":null,"url":null,"abstract":"When reengineering legacy systems, it is crucial to assess if the legacy behavior has been preserved or how it changed due to the reengineering effort. Ideally if a legacy system is covered by tests, running the tests on the new version can identify potential differences or discrepancies. However, writing tests for an unknown and large system is difficult due to the lack of internal knowledge. It is especially difficult to bring the system to an appropriate state. Our solution is based on the acknowledgment that one of the few trustable piece of information available when approaching a legacy system is the running system itself. Our approach reifies the execution traces and uses logic programming to express tests on them. Thereby it eliminates the need to programatically bring the system in a particular state, and handles the test-writer a high-level abstraction mechanism to query the trace. The resulting system, called Testlog, was used on several real-world case studies to validate our claims","PeriodicalId":443362,"journal":{"name":"Conference on Software Maintenance and Reengineering (CSMR'06)","volume":"30 1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2006-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"55","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Conference on Software Maintenance and Reengineering (CSMR'06)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSMR.2006.37","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 55

Abstract

When reengineering legacy systems, it is crucial to assess if the legacy behavior has been preserved or how it changed due to the reengineering effort. Ideally if a legacy system is covered by tests, running the tests on the new version can identify potential differences or discrepancies. However, writing tests for an unknown and large system is difficult due to the lack of internal knowledge. It is especially difficult to bring the system to an appropriate state. Our solution is based on the acknowledgment that one of the few trustable piece of information available when approaching a legacy system is the running system itself. Our approach reifies the execution traces and uses logic programming to express tests on them. Thereby it eliminates the need to programatically bring the system in a particular state, and handles the test-writer a high-level abstraction mechanism to query the trace. The resulting system, called Testlog, was used on several real-world case studies to validate our claims
面向对象的基于遗留系统跟踪的逻辑测试
当对遗留系统进行再工程时,评估遗留行为是否被保留,或者由于再工程的努力,遗留行为是如何改变的,这是至关重要的。理想情况下,如果遗留系统被测试覆盖,在新版本上运行测试可以识别潜在的差异或差异。然而,由于缺乏内部知识,为未知的大型系统编写测试是困难的。使系统达到适当的状态尤其困难。我们的解决方案基于这样一种认识,即在处理遗留系统时,为数不多的可靠信息之一是运行中的系统本身。我们的方法具体化了执行轨迹,并使用逻辑编程来表达对它们的测试。因此,它消除了以编程方式使系统处于特定状态的需要,并为测试编写者处理一个高级抽象机制来查询跟踪。生成的系统称为Testlog,用于几个实际案例研究,以验证我们的说法
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
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学术官方微信