@article{oai:ipsj.ixsq.nii.ac.jp:00069718, author = {櫻井, 孝平 and 増原, 英彦 and 古宮, 誠一 and Kouhei, Sakurai and Hidehiko, Masuhara and Seiichi, Komiya}, issue = {3}, journal = {情報処理学会論文誌プログラミング(PRO)}, month = {Jun}, note = {現状のデバッグはプログラムの不正な動作を理解するために多くの時間とコストを必要とする.本研究は実行トレースを使った新たな欠陥の発見手法を提案することでデバッグの効率化を図り,トレースに基づく Java のためのデバッガである Traceglasses として実装する.Traceglasses は,プログラムの実行中のイベントを記録したトレースの対話的な表示と検索が可能で,利用者がプログラムの動作を遡って欠陥を発見することを支援する. Traceglasses は,トレースをメソッド呼び出し関係により木構造に変換し,ブレークポイントデバッガに見られるようなステップ操作を行わずに,トレースの表示を行う.また,指定されたオブジェクトに対する操作のみを抽出したトレースを表示できる.これらの特徴により,利用者は,実行順に並んだ膨大なトレースに対して局所的および大域的に,必要な部分だけを理解し,効率良く欠陥を発見できる.Traceglasses の実装は,木構造を持つ膨大なトレースを効率良く探索し表示するために,専用のデータ構造を構築する.本発表では,Traceglasses の実装により実際のテキスト整形プログラムの欠陥をプログラムの出力から遡り発見する事例を説明し,提案した欠陥の発見手法と実装について実用上の有用性を示す., Debugging requires considerable time and effort to understand incorrect behavior of a program. We developed a trace-based debugger called Traceglasses for Java. It provides the programmer a better means of navigating an execution history so that he or she can efficiently spot a defect in the program. First, the developers can browse an execution trace namely a sequence of events in the execution, with a view of local trace information, and a function to jump to a distant point in the trace. A local trace information is shown as a tree structure of method call, which liberate the programmers from stepped program executions, which are inevitable with breakpoint-based debuggers. In order to globally jump to a distant point in a trace the programmer can restrict a trace view to an object. Our implementation achieved efficient recording and displaying of traces by designing a dedicated data structure. In this presentation, we demonstrate usefulness of our debugger through a case study that is to find a defect in a practical text-formatiing program.}, pages = {1--17}, title = {Traceglasses:欠陥の効率良い発見手法を実現するトレースに基づくデバッガ}, volume = {3}, year = {2010} }