本文主要探讨了一种用于Web应用测试数据生成与筛选的创新方法,该方法结合了约束求解技术,旨在提高测试的有效性和效率。文章指出,现有的程序代码抄袭检测系统存在一定的局限性,因此提出了一个混合式程序抄袭检测方法,该方法综合运用了文本分析、结构度量和属性计数技术。
正文:
在当前的计算机科学教育中,程序设计课程作业的抄袭现象是一个普遍存在的问题。为了解决这一问题,研究人员不断探索和开发新的程序代码抄袭检测技术。文中提到,传统的抄袭检测技术主要分为基于文本比对和面向结构及属性计数的两类。Ottenstein在1976年提出的属性计数方法是此类技术的早期代表,它通过统计源代码中的变量、运算符等属性数量来评估两个程序的相似度。
本文作者杨超提出了一种混合式程序代码抄袭检测方法,该方法结合了多种技术,包括文档指纹技术和Winnowing算法。首先,通过文档指纹技术计算源代码的文本相似度,这有助于识别直接复制粘贴的部分。接着,利用动态控制结构树(DCS)来表示程序代码,并应用Winnowing算法计算结构相似度,这样可以捕捉到代码结构上的相似性。此外,还收集和统计每个变量的信息,通过变量相似度算法来分析变量节点,以获取变量层面的相似度。
每种相似度度量都被赋予一个相应的权重,这些权重反映了不同层面的抄袭可能性。通过综合这些相似度,可以得出总体的代码相似度,从而更准确地检测出抄袭行为。实验结果显示,该方法在不同抄袭阈值下的检测准确度和查全率均优于JPLAG系统,尤其在处理结构简单程序时,其平均准确度显著高于JPLAG,体现出更高的检测效果。
这一研究对于提高程序代码抄袭检测的准确性具有重要意义,尤其是在教育环境中,可以帮助教师更有效地识别和防止编程作业的抄袭。同时,这种混合式方法的思路也可以应用于Web应用测试数据的生成和筛选,通过结合多种策略和算法,优化测试用例的选择,确保测试的覆盖率和有效性。
本文的研究不仅为程序代码抄袭检测提供了新的解决方案,也为Web应用测试领域带来了启发,强调了结合多种技术手段解决复杂问题的重要性。这种方法的实施和推广有望进一步提升软件质量,降低因抄袭引发的教学和职业伦理问题。