[論文レビュー] Reducing Cascading Parsing Errors Through Fast Error Recovery.
本稿では、最小コスト修復シーケンスの完全集合を計算することで、段階的エラーを低減する高速で実用的なパーサーのエラー回復技術を提案する。最適化されたアルゴリズムMFを用いることで、1ファイルあたり0.5秒以内で98.74%の修復率を達成し、20万件の実世界Javaプログラムからなるコーパスにおいて、最悪ケースの段階的エラーを32.27%削減した。
Syntax errors are generally easy to fix for humans, but not for parsers: the latter often fail to find an effective recovery, leading to a cascading chain of errors that drown out the original. More advanced recovery techniques suffer less from this problem but have seen little practical use because their typical performance was seen as poor and their worst case unbounded. In this paper we show that not only can an advanced approach run in acceptable time -- which we define as spending a maximum of 0.5s in error recovery per file -- but that we can find the complete set of minimum cost repair sequences within acceptable time. We then use the existence of the complete set of minimum cost repair sequences to further reduce the cascading error problem. We first extend Corchuelo et al.'s algorithm, before introducing a new, faster, alternative called MF. We validate our algorithms with a corpus of 200,000 real-world syntactically invalid Java programs: MF is able to repair 98.74% of files within acceptable time. By making use of the complete set of repair sequences, we show that the worst case for cascading errors is reduced by 32.27%.
研究の動機と目的
- 段階的パーサーエラーの問題に対処すること。これは、元の構文エラーを隠蔽し、プログラムデバッグを困難にする。
- 1ファイルあたり0.5秒以内という許容可能な時間制限内で動作する実用的なエラー回復手法を開発すること。
- 回復精度を向上させ、エラーの拡散を低減するために、最小コスト修復シーケンスの完全集合を計算すること。
- 実世界の構文的に不正なJavaプログラムからなる大規模コーパスを用いて、手法の妥当性を検証すること。
提案手法
- Corchueloらのアルゴリズムを拡張し、最小コスト修復シーケンスの完全集合の計算を可能にする。
- 性能とスケーラビリティに最適化された、より高速な新アルゴリズムMFを導入する。
- 最小限の構文的変更で有効性を回復するように優先順位をつけるコストベースの修復モデルを実装する。
- パフォーマンスと回復効果をベンチマークするために、20万件の実世界の不正なJavaプログラムのコーパスを用いる。
- 修復前の後続パーサーの段階的エラー数と修復後の差を比較することで、修復時間とエラー低減度を測定する。
- 最小コストシーケンスの完全集合を適用し、後続のパーサー処理におけるエラーの拡散を最小限に抑える。
実験結果
リサーチクエスチョン
- RQ11ファイルあたり0.5秒以内の回復時間を保証することで、高度なエラー回復技術を実用的に行えるか?
- RQ2実世界のプログラムにおいて、最小コスト修復シーケンスの完全集合を許容可能な時間内で計算可能か?
- RQ3最小コスト修復シーケンスの完全集合によって、段階的パーサーエラーはどの程度低減できるか?
- RQ4提案されたMFアルゴリズムは、実世界の構文的に不正なJavaプログラムの修復においてどの程度効果的か?
主な発見
- MFアルゴリズムは、20万件の実世界の不正なJavaプログラムのうち98.74%を0.5秒以内の時間制限内で正常に修復した。
- 最小コスト修復シーケンスの完全集合の適用により、最悪ケースの段階的パーサーエラー数が32.27%削減された。
- 従来の手法と比較して、高いパフォーマンスを維持しながら、回復精度を顕著に向上させた。
- Corchueloらのアルゴリズムの拡張により、計算コストを許容範囲に保ったまま、最小コスト修復の完全列挙が可能になった。
- 結果として、最適化された実世界用途向けの高度なエラー回復は、効率的かつ効果的に行えることが示された。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。