【技术实现步骤摘要】
通过沿着数据流的污点跟踪进行内容驱动的调试
本公开的实施例涉及通过沿着数据流的污点跟踪进行内容驱动的调试。
技术介绍
在当今时代,由于编码方式、用户输入或其他各种原因,应用经常会因运行中可能出现的错误而失败。软件开发人员通常在被称为调试器的程序中使用调试技术,以逐步执行应用来检测和诊断应用中的这种错误。以这种方式,通过使用调试器,开发人员能够洞察应用的状态(例如,分配给变量的值、线程的状态等)。通常,开发人员能够设置断点,这些断点用于在不同的点暂停程序的运行,在这些不同的点处,开发人员或工程师想要分析运行并检查这些状态变量的值。这些断点又被绑定到给定行的源代码,其中程序可以每次在运行程序时在该点无条件地停止,或者其中条件可以被设置为每次在满足该条件时(例如,当变量超过或小于阈值时等)在该行停止程序。然后,在该行停止之后,使用调试器的开发人员可以逐步运行该行之后的后续行的代码的块。当调试器以这种方式逐步运行代码时,开发人员可以检查感兴趣的变量的状态。通过检查这些不同断点处的程序状态,以及对后续行的代码的可能的逐步监控,开发人员和工程师能够跟踪这些错误的源,并能够监控整个这些应用中的数据流。尽管这种设置断点的构思很好地适用于小型非复杂代码,但是如果代码复杂,由多个开发人员编写,或者以其他方式以不可跟踪或难以跟踪的方式分割,那么要知道从哪里开始调试和/或分析代码,以及从这个起点开始直到遇到错误在哪里遵循代码,可能会很棘手。以这种方式利用断点进行调试需要一个起点(调试器从该起点逐步下降到下一个断点),将导致程序状态改 ...
【技术保护点】
1.一种计算机实现的方法,包括:/n由至少一个处理器运行收集例程以从用户收集原始数据;/n由所述至少一个处理器以所述原始数据的形式从所述用户接收所述收集例程的结果,所述收集例程的结果可以存储在中央数据储存库中;/n由所述至少一个处理器运行命令以生成图形用户界面(GUI);/n由所述至少一个处理器显示所述GUI;/n从所述GUI接收用户输入,以指定至少一个要被监控的变量以进行污点分析;/n由所述至少一个处理器以规则的间隔实行污点分析,以针对预定义的规则检查所述原始数据,以确定所述原始数据的被污点或未被污点的污点状态;/n在所述GUI上可视地表示所述污点分析的结果;/n由所述至少一个处理器根据所述污点状态,以所述规则的间隔将所述原始数据标记为被污点或未被污点;/n由所述至少一个处理器输入将在利用标记数据的过程中使用的所述标记数据;以及/n由所述至少一个处理器对污点数据进行周期性地丢弃、进一步监控或选择性地采取其他动作。/n
【技术特征摘要】
20191220 US 16/722,5641.一种计算机实现的方法,包括:
由至少一个处理器运行收集例程以从用户收集原始数据;
由所述至少一个处理器以所述原始数据的形式从所述用户接收所述收集例程的结果,所述收集例程的结果可以存储在中央数据储存库中;
由所述至少一个处理器运行命令以生成图形用户界面(GUI);
由所述至少一个处理器显示所述GUI;
从所述GUI接收用户输入,以指定至少一个要被监控的变量以进行污点分析;
由所述至少一个处理器以规则的间隔实行污点分析,以针对预定义的规则检查所述原始数据,以确定所述原始数据的被污点或未被污点的污点状态;
在所述GUI上可视地表示所述污点分析的结果;
由所述至少一个处理器根据所述污点状态,以所述规则的间隔将所述原始数据标记为被污点或未被污点;
由所述至少一个处理器输入将在利用标记数据的过程中使用的所述标记数据;以及
由所述至少一个处理器对污点数据进行周期性地丢弃、进一步监控或选择性地采取其他动作。
2.根据权利要求1所述的方法,其中,对所述污点数据进行周期性地丢弃、进一步监控或选择性地采取其他动作包括:以被动方式以规则的间隔监控所述污点数据,其中,所述污点数据被记录以供以后查看或者被丢弃。
3.根据权利要求1所述的方法,其中,对所述污点数据进行周期性地丢弃、进一步监控或选择性地采取其他动作包括:以主动方式以规则的间隔监控所述污点数据,其中,每次访问所述污点数据时,所述过程被中断。
4.根据权利要求3所述的方法,还包括在所述GUI上显示用户提示,呈现用于在中断点监控所述过程或者用于忽略并继续所述过程的选项。
5.根据权利要求4所述的方法,其中,当选择监控选项时:
在所述GUI上显示所述中断点处的、所述过程中使用的变量的值。
6.根据权利要求1所述的方法,其中,实行所述污点分析包括:
将所述原始数据作为输入馈送到神经网络机器学习分类器,所述神经网络机器学习分类器具有接收所述原始数据作为多个输入的输入层,以及包括第一节点和第二节点的输出层,其中,所述第一节点指示表示所述原始数据的总体可靠性的值,并且所述第二节点指示表示所述原始数据的总体不可靠性的值,其中,当所述第二节点具有比所述第一节点更大的值时,所述原始数据总体被认为被污点,并且当所述第一节点具有比所述第二节点更大的值时,所述原始数据总体被认为未被污点。
7.一种系统,包括:
存储器;以及
至少一个处理器,耦合到所述存储器,并且被配置为:
运行收集例程以从用户收集原始数据;
将所述原始数据存储在中央数据储存库中;
运行命令以生成图形用户界面(GUI);
显示所述GUI;
从所述GUI接收用户输入,以指定至少一个要被监控的变量以进行污点分析;
以规则的间隔实行污点分析,以针对预定义的规则检查所述原始数据,以确定所述原始数据的被污点或未被污点的污点状态;
在所述GUI上可视地表示所述污点分析的结果;
根据所述污点状态,以所述规则的间隔将所述原始数据标记为被污点或未被污点;
输入将在利用标记数据的过程中使用的所述标记数据;以及
对污点数据进行周期性地丢弃、进一步监控或选择性地采取其他动作。
8.根据权利要求7所述的系统,其中,为了对所述污点数据进行周期性地丢弃、进一步监控或选择性采取其他动作,所述至少一个处理器还被配置为:以被动方式以规则的间隔监控所述污点数据,其中,所述污点数据被记录以供以后查看或者被丢弃。
9.根据权利要求7所述的系统,其中,为...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。