【24h】

The Intelligent C Language Debugger

机译:智能C语言调试器

获取原文

摘要

Most current programming debuggers do not have any built-in intelligence to help programmers perform debugging. When using these non-intelligent debuggers, programmers have to debug their programs statement by statement in order to track down the bugs. There are several disadvantages with the current non-intelligent debuggers. The first disadvantage is that the debugger does not know the variable dependencies of the program being debugged. It does not understand the cause-effect semantics of the program, and how a single error in one line of code can lead to a propagation of errors in later lines of code. The second disadvantage is that the debugger cannot simplify the program being debugged. If programmers are only concerned with some particular variables when debugging the code, the debugger should have the ability to filter out the statements that have no relevancy (i.e., no dependency) with those variables. The third disadvantage is that the debugger cannot help identify the statements which would have a higher probability of causing certain program errors. If the debugger allowed programmers to provide some information regarding what is wrong (and what is right) with the program, it should be able to utilize that information and help programmers narrow down the bugs. This paper proposes an intelligent debugger which can help programmers to narrow down the bugs in a program. Using test result information provided to it, the intelligent debugger applies an enhanced static slicing algorithm to display a subset of the program containing only the statements that have a variable dependency related to the error condition(s). After slicing, the resulting program becomes more readable and understandable to the user, aiding the debugging process. Also, a variable analyzer is able to compute correctness ratio numbers to assist the user in identifying relatively weak areas of code which have the highest probability of causing certain program errors. Users can then focus on and double check those areas of code to determine if any of them are indeed causing the bugs in the program.
机译:大多数目前的编程调试器没有任何内置智能,以帮助程序员执行调试。使用这些非智能调试器时,程序员必须通过语句调试其程序语句,以便追踪错误。目前的非智能调试器有几个缺点。第一个缺点是调试器不知道正在调试程序的可变依赖性。它不了解程序的原因效果语义,以及一行代码中的单个错误如何导致在后面的代码行中的错误传播。第二个缺点是调试器无法简化正在调试的程序。如果程序员仅关注某些特定变量在调试代码时,调试器应能够过滤掉与这些变量没有相关性(即,不依赖性)的语句。第三个缺点是,调试器无法帮助识别具有较高概率导致某些程序错误的陈述。如果调试器允许程序员提供有关该程序的错误(以及什么是正确的),它应该能够利用该信息,并帮助程序员缩小错误。本文提出了一种智能调试器,可以帮助程序员缩小程序中的错误。使用提供给它的测试结果信息,智能调试器应用增强的静态切片算法来显示仅包含与错误条件相关的可变依赖性的语句的程序的子集。切片后,生成的程序对用户变得更可读和可理解,并辅助调试过程。此外,可变分析器能够计算正确性比数,以帮助用户识别具有最高概率导致某些程序错误的代码区域的相对较弱的区域。然后,用户可以专注于并仔细检查这些代码区域以确定其中的任何一个是否确实导致程序中的错误。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号