000164417 001__ 164417
000164417 005__ 20180913060538.0
000164417 037__ $$aREP_WORK
000164417 245__ $$aQuerypoint Debugging
000164417 269__ $$a2010
000164417 260__ $$c2010
000164417 300__ $$a11
000164417 336__ $$aReports
000164417 520__ $$aTo fix a bug, software developers have to examine the bug-gy execution to locate defects. They employ different ap-proaches (e.g., setting breakpoints, inserting printing statements in the code) to navigate over buggy execution and inspect program state at suspicious points. In this pa-per we describe Querypoints, a new kind of compound conditional breakpoint relating two execution points. De-velopers specify Querypoints relative to a successfully paused conventional breakpoint or conventional watchpoint or to another Querypoint. The relative conditions contain runtime data values, like the last time a value was changed, or program statements, like the last conditional branch. The Querypoint combines the program state information from two execution points in the same execution; Querypoints can be chained to work backwards from effects to causes in a program. We present basic Querypoint concepts, two sample Que-rypoints, lastChange and lastCondition, and a description of our implementation of these Querypoints. To demon-strate that Querypoints are feasible we describe a prototype that implements an alternative approach to finding a bug in a graphical program analyzed previously with Whyline, one of the new logging-based debuggers.
000164417 6531_ $$aQuerypoint, TraceQuery, Conditional break-point, watchpoints, Locating defects
000164417 700__ $$0243548$$aMirghasemi, Salman$$g177881
000164417 700__ $$0243547$$aPetitpierre, Claude$$g106085
000164417 700__ $$aBarton, John J.
000164417 8564_ $$s328644$$uhttps://infoscience.epfl.ch/record/164417/files/2010-qp.pdf$$yn/a$$zn/a
000164417 909C0 $$0252228$$pLTI$$xU10420
000164417 909CO $$ooai:infoscience.tind.io:164417$$preport
000164417 917Z8 $$x177881
000164417 937__ $$aEPFL-REPORT-164417
000164417 973__ $$aEPFL$$sPUBLISHED
000164417 980__ $$aREPORT