The Intelligent C Language Debugger

نویسندگان

  • Ming Wang
  • Robert Chun
چکیده

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.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reflective Agent Programming Environment Rxf and Its Multi-agent Tracer

In this paper, we describe a new programming environment, RXF, for building a multi-agent system (MAS), and its debugger. RXF is used for realizing intuitive development of an MAS that consists of reflective agents. The reflective agents are intelligent and autonomous agents based on a reflection. RXF provides the capabilities of a constraint-logic programming language and a reflection mechanis...

متن کامل

An intelligent tutoring system for introductory C language course

In this paper, we describe a system called C-Tutor, which is an intelligent tutoring system (ITS) for novice C programmers. A program analyzer is the most important part of the ITS for programming. The program analyzer of our system is a compound of a reverse engineering system and a didactical system. Since a novice program usually contains lots of bugs, information about the intentions of the...

متن کامل

Support for Language Independent Browsing of Aggregate Values by Debugger Backends

The debugger backend is a lower-level language subsystem enabling to control and inspect a program’s execution (debuggee), while the frontend is a higher-level API for backend functionality aiming to support debugger user-interfaces. Existing debugger backends allow retrieve aggregate contents, but are language technology dependent, limiting the chances for producing debugger user-interfaces fo...

متن کامل

The Evolution of Dbx

Dbx is the standard source-level debugger on most Unix1 workstations. Over the past six years Dbx has grown from a debugger for interpreted Pascal programs to a debugger for compiled C, C++, FORTRAN, Pascal, and Modula-2 programs. Dbx also has been retargetted to a variety of architectures, including VAX2, Motorola 680003, MIPS, IBM RT-PC4, IBM 370, Sun SPARC, and Intel 80386. This paper descri...

متن کامل

Experiences Developing ALEGRA : A C + + Coupled Physics Framework

ALEGRA is a coupled physics framework originally written to simulate inertial confinement fusion (ICF) experiments being conducted at the PBFA-II facility at Sandia National Laboratories. It has since grown into a large software development project supporting a number of computational programs at Sandia. As the project has grown, so has the development team, from the original two authors to a g...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006