• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2019 年度 実施状況報告書

トランスデューサ理論を駆使するソフトウェア検証

研究課題

研究課題/領域番号 19K11899
研究機関東京工業大学

研究代表者

南出 靖彦  東京工業大学, 情報理工学院, 教授 (50252531)

研究期間 (年度) 2019-04-01 – 2023-03-31
キーワードソフトウェア検証 / トランスデューサ / オートマトン / 形式言語理論 / 文字列制約
研究実績の概要

本年度には,以下の研究を行なった.
*文字列を操作するプログラムの検証の基盤となる直線形式文字列制約の充足可能性判定に関する研究を行なった.これまでの予備的な研究で,整数に関する制約を含まない純粋な文字列制約に関しては,ストリーミングトランスデューサが合成に関して閉じていることを利用すれば素朴な手続きで判定できることが分かっていた.この手法と,文字列制約をParikh写像を用いて整数制約に変換する手法と組み合わせ,以下の制約に関する充足可能性判定手続きを得た:正規言語への所属制約,ストリーミングトランスデューサによるトランスダクション,文字列長に関する整数制約.さらに,この手続きによるソルバをScalaにより実装し,既存のソルバと比較し,制約によってどのソルバが優れているかが分かれる結果を得た.
*文字列の検索等に広く用いられる正規表現マッチングはその多くがバックトラックに基づくアルゴリズムで実装されており,対象文字列の長さに対して線形時間でマッチングを完了できない場合がある.これを事前に検知するために,マッチングに要する計算量を静的解析する手法が複数の先行研究によって提案されている.本研究では先行研究を拡張し,先読みや先頭/末尾のマッチなど,現実のソフトウェアで使用されている拡張された正規表現に対しても解析が行える手法を開発した.さらに,既存の解析アルゴリズムを高速化し,より実用的な速度で解析を行える手法を開発した.そして,これらの改良を施した計算量解析のツールをScalaで実装し,既存の実装よりも多くの正規表現が解析できることを実験により確認した.

現在までの達成度 (区分)
現在までの達成度 (区分)

2: おおむね順調に進展している

理由

本研究で開発した文字列制約の充足可能性判定手続きは,既存の手続きより広いクラスの制約を扱うことができ有用性が高い.理論的にもストリーミングトランスデューサの枠組みで整理されており,今後の展開が期待できる.
正規表現マッチングの計算量解析については,先読み,後読み,後方参照をサポートをした初めての解析手法,ツールであり有用性,新規性が高い.

今後の研究の推進方策

文字列制約の充足可能性判定については,ストリーミングトランスデューサの等価性判定などの理論を用いて,扱える制約を拡張することを目指す.等価性判定の決定手続きを応用することで,等号否定を扱えるように拡張できる見込みである.
また,現実的な検証問題として,クロスサイトスクリプティング脆弱性への対抗技術である XSSAuditor のトランスデューサを用いた分析を進める.特に,交代性オートマトンの理論が応用できると考えている,

次年度使用額が生じた理由

コロナウイルスの感染拡大のため3月に予定していた研究発表のための国内出張が取りやめとなったため,次年度使用額が生じた.次年度には,在宅勤務で研究を進めるために必要な機器等の購入に使用する予定である.

  • 研究成果

    (6件)

すべて 2019 その他

すべて 雑誌論文 (2件) (うち査読あり 2件、 オープンアクセス 2件) 学会発表 (3件) 備考 (1件)

  • [雑誌論文] Solving String Constraints with Streaming String Transducers2019

    • 著者名/発表者名
      Zhu Qizhen、Akama Hitoshi、Minamide Yasuhiko
    • 雑誌名

      Journal of Information Processing

      巻: 27 ページ: 810~821

    • DOI

      https://doi.org/10.2197/ipsjjip.27.810

    • 査読あり / オープンアクセス
  • [雑誌論文] Derivatives of Regular Expressions with Lookahead2019

    • 著者名/発表者名
      Miyazaki Takayuki、Minamide Yasuhiko
    • 雑誌名

      Journal of Information Processing

      巻: 27 ページ: 422~430

    • DOI

      https://doi.org/10.2197/ipsjjip.27.422

    • 査読あり / オープンアクセス
  • [学会発表] 正規表現マッチングの計算量解析ツールの拡張と高速化2019

    • 著者名/発表者名
      高橋和也, 南出靖彦
    • 学会等名
      PPL 2020: 第22回プログラミングおよびプログラミング言語ワーク
  • [学会発表] 先読み付き文脈自由文法の微分(ポスター)2019

    • 著者名/発表者名
      宮嵜 貴之, 南出 靖彦
    • 学会等名
      日本ソフトウェア科学会第36回大会
  • [学会発表] 先読み付き文脈自由文法とその微分(ポスター)2019

    • 著者名/発表者名
      宮嵜 貴之, 南出 靖彦
    • 学会等名
      PPL 2020: 第22回プログラミングおよびプログラミング言語ワーク
  • [備考] Analyzer for regular expression matching

    • URL

      https://github.com/minamide-group/regex-matching-analyzer

URL: 

公開日: 2021-01-27  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi