Debugging as a Science, that too, when your Program is Changing
نویسنده
چکیده
Program debugging is an extremely time-consuming process, and it takes up a large portion of software development time. In practice, debugging is still very much of an art, with the developer painstakingly going through volumes of execution traces to locate the actual cause of an observable error. In this work, we discuss recent advances in debugging which makes it systematic scientific activity in its own right. We explore the delicate connections between debugging and formal methods (such as model checking) in the overall task of validating software. Moreover, since any deployed software undergoes changes in its lifetime, we need debugging methods which can take the software evolution into account. We show how symbolic execution and Satisfiability Modulo Theories (SMT) solvers can be gainfully employed to greatly automate software debugging of evolving programs.
منابع مشابه
SUGI 28: Beyond Debugging: Program Validation
"Act in haste and repent at leisure; code too soon, and debug forever." Raymond Kennington In their paper on debugging, Lora Delwiche and Susan Slaughter say that good debuggers make good programmers. Let's take that one step further to say that good analysts and problem-solvers make good programmers. Just because a SAS® program is free of errors, warnings, notes, and bugs does not guarantee th...
متن کاملP35: How to Manage Anxiety
Anxiety is a mental state that is elicited in anticipation of threat or potential threat. Sensations of anxiety are a normal part of human experience, but excessive or inappropriate anxiety can become an illness. Anxiety is part of the normal human experience. We may speculate that it served human survival during evolution by enhancing preparedness and alertness. However, anxious manifestations...
متن کاملControlling Search Space Materialization in a Practical Declarative Debugger
While the idea of declarative debugging has been around for a quarter of a century, the technology still hasn’t been adopted by working programmers, even by those working in declarative languages. The reason is that making declarative debuggers practical requires solutions to a whole host of problems. In this paper we address one of these problems, which is that retaining a complete record of e...
متن کاملA theoretical study of dipole moments, energy levels and structural parameters in the Oxymetazoline drug as a nano carrier based on fullerene with changing substitution
Oxymetazoline is a decongestant. It works by constricting (shrinking) blood vessels (veins and arteries) in your body. The nasal formulation acts directly on the blood vessels in your nasal tissues. Constriction of the blood vessels in your nose and sinuses leads to drainage of these areas and a decrease in congestion. Oxymetazoline is an adrenomimetic that nonselectively agonizes α1...
متن کاملTool Support for Software Engineering Education
Although software engineering is a well-documented area of computer science, courses in software engineering frequently do not give students enough practical experience with concepts such as software design, prototyping, programming, debugging, program understanding, software reuse, and so on. As a result, computer science graduates too often acquire a sound theoretical understanding of softwar...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 266 شماره
صفحات -
تاریخ انتشار 2010