一句话:提出基于搜索的测试生成方法,自动检测电子表格迁移到Java后产生的数值偏差故障。
许多遗留金融应用以电子表格公式实现,将其迁移到Java等完整系统容易出错。数值计算的小差异可以容忍,但较大偏差可能带来严重财务后果,这类故障称为偏差故障。本文提出一种基于搜索的自动检测技术,并比较不同变体。作者在SEB Life & Pension AB迁移至Java的两个金融应用、共40个公式上评估。与随机测试和分支覆盖测试相比,相同测试生成预算下,随机和分支覆盖仅检测约25%和32%的已知故障,而该搜索方法可检测高达70%;不限制搜索预算时检测率达90%,并发现3个此前未知且经SEB专家确认的故障。
Many legacy financial applications exist as a collection of formulas implemented in spreadsheets. Migration of these spreadsheets to a full-fledged system, written in a language such as Java, is an error- prone process. While small differences in the outputs of numerical calculations from the two systems are inevitable and tolerable, large discrepancies can have serious financial implications. Such discrepancies are likely due to faults in the migrated implementation, and are referred to as deviation failures. In this paper, we present a search-based technique that seeks to reveal deviation failures automatically. We evaluate different variants of this approach on two financial applications involving 40 formulas. These applications were produced by SEB Life & Pension Holding AB, who migrated their Microsoft Excel spreadsheets to a Java application. While traditional random and branch coverage-based test generation techniques were only able to detect approximately 25% and 32% of known faults in the migrated code respectively, our search-based approach detected up to 70% of faults with the same test generation budget. Without restriction of the search budget, up to 90% of known deviation failures were detected. In addition, three previously unknown faults were detected by this method that were confirmed by SEB experts.
DOI 原文 ·
@inproceedings{paperbot4834,
title = {Search-based detection of deviation failures in the migration of legacy spreadsheet applications},
author = {M. Moein Almasi and Hadi Hemmati and Gordon Fraser and Phil McMinn and Janis Benefelds},
booktitle = {ISSTA},
year = {2018},
doi = {10.1145/3213846.3213861}
}