【摘 要】
:
在编写程序中发生错误时,提供与错误相关的精准反馈可以帮助程序员更加快速地修复程序。错误定位技术作为一种常用的软件调试技术,可以通过生成一个语句怀疑度等级列表,帮助使用者快速、准确地查找程序中潜在的错误。虽然错误定位技术已有较为广泛的研究,但是大多数方法基于商业或开源项目设计,有研究表明,近40%的初学者程序不满足这些错误定位技术使用的前提条件。此外,由于初学者程序具有结构简单、形式多样的特点,使用
论文部分内容阅读
在编写程序中发生错误时,提供与错误相关的精准反馈可以帮助程序员更加快速地修复程序。错误定位技术作为一种常用的软件调试技术,可以通过生成一个语句怀疑度等级列表,帮助使用者快速、准确地查找程序中潜在的错误。虽然错误定位技术已有较为广泛的研究,但是大多数方法基于商业或开源项目设计,有研究表明,近40%的初学者程序不满足这些错误定位技术使用的前提条件。此外,由于初学者程序具有结构简单、形式多样的特点,使用传统错误定位技术对其进行定位的效果并不理想。本课题拟研究一种适合初学者程序的错误定位技术,提高定位的准确性,进而提高初学者编程学习效率。在软件开发的实践过程中,观察程序中的变量值变化情况是开发者常用的一种程序调试方法。本课题基于模拟程序调试的启发,提出了基于变量值序列的错误定位技术(Variable Value Sequence Based Fault Localization,VSBFL)和基于变量怀疑度的错误定位技术(Variable Suspicion based Fault Localization,Vsus FL),用于帮助初学者调试程序。这些错误定位技术可以自动记录变量在程序运行过程中的变化情况,评判变量的中间状态是否正确,生成关于变量的怀疑度,从而为初学者报告程序中潜在的错误语句。此外,Vsus FL可以计算变量怀疑度并映射到语句怀疑度,进而形成新的怀疑度公式,实现将Vsus FL与现有错误定位技术的结合,进一步提高错误定位准确性。本课题详细介绍了于变量值序列的错误定位技术和基于变量怀疑度的错误定位技术的原理与方法,并在224个真实的初学者错误程序上进行了实证研究以评估其错误定位性能。实验结果表明,在面向初学者错误程序定位上,VSBFL的性能优于目前广泛使用的错误定位方法,且适用于不同类型的初学者程序。进一步的实验表明,将Vsus FL与其他技术结合后定位效果更为精准,稳定性也得到提升。
其他文献
图像配准是指通过寻找最佳的空间变换关系,让两幅不同成像条件下获取的图像实现最佳对准的过程。近年来图像配准技术蓬勃发展,在医学、材料力学以及遥感等领域已经得到了广泛应用。其中遥感领域的配准是遥感图像解译的基础性工作,只有在对图像精确配准之后才可以进行后续的图像融合、变化检测等操作。光学遥感影像通常分辨率高,可以提供地面目标更丰富的细节信息,所以针对光学遥感影像的图像配准技术成为了遥感技术的探究重点之
滚动轴承的健康运行对机械设备的安全具有极其重要的作用,为防止滚动轴承失效而导致机械故障,通过对滚动轴承退化机理进行研究,实现对其剩余寿命的预测,已成为制造行业研究领域中的热点问题。本文通过分析滚动轴承的振动信号,研究了基于自编码器的特征融合方法,基于Bi LSTM-CRF的轴承剩余寿命预测方法。本文主要研究工作如下:1)基于轴承的失效形式、退化规律和主流的振动信号特征提取研究,通过分析并提取轴承的
学生在线编程评测系统(Online Judge System,OJ)被广泛应用于程序设计的教学之中。但现有OJ系统只返回程序是否正确。学生由于缺乏编程的实践经验,在独立定位程序发生错误位置的过程中经常遇到困难且难以自我解决。自动错误定位技术可以帮助程序开发人员定位错误,但现有错误定位技术的研究基于人工植入错误的开源项目或者工业程序,在包含真实错误的学生程序上定位错误精度不高。为了提升自动错误定位技
简缩极化(Compact Polarimetric,CP)是针对目前的合成孔径雷达(SAR)系统提出的一种新的SAR极化工作模式。简缩极化在一定程度上融合了全极化和双极化的优点,有效规避了二者的缺点。与双极化相比,可以通过调节发射信号之间的相对相位来获取更加丰富的地物信息,能更好的描述地物真实形貌;同样也可以视为全极化系统不同通道间信息的线性组合,它能有效避免全极化系统在成像幅宽、系统设计等方面的
相较于传统控制方法,模糊控制能够有效处理复杂系统中存在的不精确性问题,从而得到了广泛应用。随着其应用范围的不断扩大,基于模糊控制的被控系统安全性就显得尤为重要;而传统的测试方法由于无法覆盖所有输入空间,因此不能确保结论的完备性;为了将形式化验证方法引入基于模糊控制的应用验证中,保证其结论对于任意输入均成立,建立一个可复用的模糊控制器形式化模型是必不可少的工作。为此,本课题采用了形式化方法中的定理证
数字电路的功能可靠是集成电路行业发展的重要基础,基于模型的验证方法被广泛应用于数字电路功能验证中。但是,目前大多数建模方法复杂度较高,所建模型难以准确表示数字电路的功能行为和时序行为,进而难以确保基于模型进行的功能验证是有效和充分的。扩展有限状态机(Extended Finite State Machine,EFSM)作为一种形式化描述模型,能够准确表征系统的动态行为,常用于各类系统的建模与验证中
全源最短路径是图计算的一个典型问题,它与描述复杂系统的最基本特征量——平均路径长度的求解密切相关,这为深入研究真实的复杂网络系统的基本构造与特征量奠定了基础。不仅如此,随着人类对生产与生活效率需求的增加,有关最短路径的问题越来越成为了不同专业的研究基础,为交通运输、旅行路径选取等问题提供了有效解决办法。因此,全源最短路径问题其具有重大的理论意义和很高的实用性。尽管求解最短路径的优化算法不断涌现,但
化工行业作为我国国民经济中的重要角色,其技术水平影响着国家的工业实力以及人民的生活质量。化工行业供给了汽油、柴油等我国主要能源,其产物还被作为农业、建筑以及材料工业等行业的原材料。化工行业在生产过程中不仅需要投入大量资源,还会排放大量的大气及水污染物。因此,推动化工行业地可持续发展、推进化工装置精细化和信息化建设对提升我国工业化实力、实现我国工业可持续发展有着重要意义。本文研究分析了以催化裂化装置
API(Application Programming Interface)作为软件工具包、软件框架等应用程序的功能访问接口,在日常的软件开发任务中被广泛使用。当前由于很多帮助文档存在质量不高、代码示例不完整等问题,导致开发人员经常面临API使用问题。近年来,随着大数据和人工智能技术在代码搜索和推荐领域取得的研究进展,很多学者在API使用模式推荐问题上做了相关研究和探索,并取得了一系列研究成果。但
基因变异普遍存在于自然界的个体中,部分基因的变异能让个体细胞出现异常进而引发疾病,如癌症、孤独症等。如今深度学习的发展日新月异,科学家们开始在生物信息学领域使用深度学习方法进行研究,进一步分析与人类疾病息息相关的基因结构变异,比如缺失变异、插入变异等。在深度学习中,随着神经网络的深度不断增加,神经网络训练时所需的数据也越来越多,但是基因结构变异在基因数据中属于小样本事件,因此变异基因的样本数据十分