论文部分内容阅读
电子表格作为组织、存储和分析数据的终端应用程序,在各个领域(尤其是商业领域)被广泛使用,每年有数千万的用户创建、维护数以亿计的电子表格。以Microsoft Excel为代表的电子表格软件提供了诸如自动填充、复制粘贴等各种功能。一方面,这些功能给用户带来了巨大的便利,另一方面,用户对这些功能的滥用也使得电子表格更容易产生错误。有研究表明,电子表格中的错误已经给很多公司和组织带来了巨大的经济损失。电子表格由大量的、具有不同语义的数值数据和公式组成,这些数值和公式通常复杂而繁多,这使得人工检查电子表格中的错误变得困难。尽管电子表格软件也提供了一定的错误检测机制,但这些简单的机制只能检测那些特定的显而易见的错误,而对很多复杂的语义错误却无能为力。在过去的二十年里,已经有各种各样的的技术和工具被提出,以检测电子表格中的各种类型的错误。然而,却少有研究对这些技术和工具的实用性和可靠性进行评估。在这篇文章中,我们首先对三种具有影响力的技术进行实证性的研究,以评估它们检测电子表格错误的有效性和效率。之后我们会重点介绍最近被提出的一种具有优异表现的技术,以及我们对其进行的相关改进。最终我们设计并实现了一个集成化的电子表格测试工具。具体而言,本文的主要工作如下:1.在一个相当大的数据集上,对三种电子表格错误检测技术:AmCheck、UCheck、Dimension进行了详尽的评估。对这三种电子表格错误检测技术,从准确率、召回率、效率等多个方面进行深入的比较。对三种技术的局限性进行分析,并为该领域之后的研究提出了一些建议。2.介绍了一种基于单元格聚类的电子表格测试技术:CUSTODES。并从排除字符串公式、扩展种子聚类和过滤数值单元格三个方面对该技术进行了改进,大大提高了检测结果的准确率和召回率。3.设计并实现了一个具有图形化界面的电子表格测试工具。该工具集成了多种先进的电子表格测试技术,并提供了易于扩展的接口。用户可以启用不同的技术模块检测电子表格中的错误,并对结果进行整合和比较。