パーサベンチマーク用言語Celloの設計と評価

書誌事項

タイトル別名
  • Cello: A Simple Programming Language for Parser Generator Benchmarking

この論文をさがす

抄録

ベンチマークはソフトウェアやハードウェアを評価するための指標として広く用いられており,様々な分野で標準化が行われている.しかし,パーサジェネレータにおいては標準化されたベンチマークは存在しない.その理由としては,ベンチマークのテストデータとして利用するソースコードは多く存在するものの,それらをパーサで解析するために必要な文法を開発することが困難であることと,パーサジェネレータの評価として重要な項目である線形時間・空間性を評価するテストデータの収集が難しいことがあげられる.本発表では,パーサジェネレータを評価するためのベンチマークを提案する.我々は実在する大量のソースコードを解析し,その統計情報をもとに(1)形式文法で定義しやすいベンチマーク用プログラミング言語の設計を行い,(2)テストデータをスケーラブルに自動生成する.これによって他の言語で解析を行った場合の結果が予測しやすいベンチマークを作成する.また,開発したベンチマークと実在するソースコードを用いて様々なパーサジェネレータを評価した結果を比較し,分析を行う.

Benchmarks are widely used for evaluating software and hardware systems. Since the importance of fair evaluation, several industrial benchmarks are standardized in order to ensure its fairness. However, for parser generator, there is no standard benchmark despite the existence of various parsing algorithms. Although there are much amount of source code as test data for benchmarking, it is involve significant cost to develop a grammar which is essential to generate a parser for the test data. Another reason is difficulty of correcting test data that cover range for testing scalability, which is an important point of view to assess capability of parser generators. In this presentation, we present ParserMark, a scalable benchmark for evaluating arbitrary parser generators. ParserMark is based on the statistics collected from a huge amount of source code in real world. By using the statistics, we (1) design a simple programming language for benchmarking, which expresses test data, and (2) generate test data that have the same tendency as real workload in arbitrary size. We evaluate several parser generator by using ParserMark and real workloads, and compare the results.

収録刊行物

キーワード

詳細情報 詳細情報について

  • CRID
    1050282812885102208
  • NII論文ID
    170000148642
  • NII書誌ID
    AA11464814
  • ISSN
    18827802
  • Web Site
    http://id.nii.ac.jp/1001/00182197/
  • 本文言語コード
    ja
  • 資料種別
    article
  • データソース種別
    • IRDB
    • CiNii Articles

問題の指摘

ページトップへ