论文部分内容阅读
Windows操作系统在桌面领域处于垄断地位,基于Linux的国产操作系统与之相比应用软件较为匮乏,严重影响了国产操作系统的使用和推广。为国产操作系统专门编写应用软件要耗费极大的人力和物力,使用兼容技术将Windows现有的应用软件迁移到国产操作系统上,可以大幅度提高国产操作系统的可用性,促进国产操作系统的生态发展。 在现有的多种兼容技术中,Wine是一种相对较高效、可行的技术,然而Wine对不同Windows应用的兼容支持程度存在较大差异,有些支持较好,有些支持较差。通过人工实际测试判断Wine对指定一款应用的兼容支持程度尽管比较准确,但人力和时间成本非常大。很多时候用户和开发者希望能够快速评估Wine对一款或多款Windows应用软件的兼容度,以便挑选合适的应用软件或进一步评估对Wine进行改进的开发工作量。为了帮助用户和开发者解决快速评估应用程序兼容度的问题,本文通过对Wine原理的分析,将兼容程度的评估抽象成一个分类问题,使用Windows应用软件调用的DLL及其API作为判断依据,使用分类算法进行兼容程度判断,设计和实现了一种自动评估Windows应用兼容度的工具。 本文的主要贡献包括: 1)基于对Wine架构和原理的分析,提出了一种根据Windows应用软件调用的DLL和API评估其在Wine上兼容度的方法。该方法将应用兼容度评估问题抽象成分类问题,通过训练可以自动评估Windows应用软件的兼容度。 2)实现了批量导出指定Windows应用所调用DLL和API信息的工具,基于该工具导出的Windows应用的信息和人工标注的兼容度信息,构建了兼容度评估样本数据集。 3)基于本文提出的兼容度评估方法和构建的样本数据集,对兼容度评估模型进行了训练,实现了完整的windows应用兼容度评估工具,并对工具的效果进行了实验分析。 实验表明,本文提出的兼容度评估方法能够有效评估Windows应用在Wine上的兼容度,所实现的工具可以快速地对大量Windows应用的兼容度做出评估,对国产操作系统的生态发展可以起到很好的助力作用。