著者
中山 心太
雑誌
夏のプログラミング・シンポジウム2011報告集
巻号頁・発行日
pp.7-10, 2012-01-06

ITの現場で運用されているプログラムは、正常系が2割、異常系8割程度の比率で記述されている。C言語などの既存言語ではプログラムフローの制御と、エラートラップが同一の記法(if文)で記述されており、静的解析においては区別がつかない。そのため、新たにプロジェクトに配属された人にとっては、運用されているコードを読んでも、正常系も異常系も同様に見えてしまい、プログラムの動作を把握するのが難しい。そこで、テストコードは正常系と異常系が仕様書から定義できるため、テストコードを用いてプログラムの動的解析を行うことによって正常系のみを効率的に抽出し、正常系のみを表示するエディタを提案する。これにより、短期間にプログラムの動作を把握することができ、プロジェクトの開発効率の向上が期待できる。
著者
後藤 勇太 木山 真人 芦原 評
雑誌
夏のプログラミング・シンポジウム2011報告集
巻号頁・発行日
pp.49-55, 2012-01-06

構文解析法でPackrat Parsingという手法がある.Packrat Parsingは,再帰下降構文解析にメモ化を組み合わせた手法であり,バックトラックや無限先読みを用いた解析において,線形時間で解析可能である.しかし,左再帰を含む文法は解析不可能である.そこで,従来は左再帰を含む文法を解析する際,左再帰部分を等価な右再帰に変換し,解析を行っていた.だが文法の変換を行うと構文木の構造が変化してしまう.また,特定の左再帰は変換できない.たとえば,閉路が存在する文法である.よって,この手法では解析できない文法がある.Alessandro Warthらは,左再帰を含む文法を,右再帰への変換無しに解析を可能にした.しかし,Alessandroらの手法では,同一の入力位置で左再帰が複数発生する文法において,特定の入力の解析に失敗する.そこで本研究では,左再帰を含む文法を右再帰への変換無しに解析でき,かつ従来手法の問題点に対応するPackrat Parserを提案・実装し,評価を行った.
著者
竹内 郁雄
雑誌
夏のプログラミング・シンポジウム2011報告集
巻号頁・発行日
pp.73-80, 2012-01-06

プログラミングに関する既成概念に囚われないいろいろなプログラミングに関する話題を紹介する.そのうちのいくつかについてはすでに非公式の場で喋ったことがあるが,ここではその背景説明や教訓も含めてきちんと紹介する.この発表は2005年の夏のプログラミングシンポジウムでの竹内の発表の「プログラム問題の創造」の続編という位置付けである.
著者
永井 秀利
雑誌
夏のプログラミング・シンポジウム2011報告集
巻号頁・発行日
pp.27-34, 2012-01-06

ThreadGroupクラスはRubyの標準組み込みクラスの一つであり,実行中のRubyインタープリタは常に一つ以上のThreadGroupオブジェクトを持つ.そのような存在であるにもかかわらず,ThreadGroupクラスは十分に活用されているとは言い難い.その原因の一つは,ThreadGroupクラスの機能不足にあると言えよう.そこで本稿では,ThreadGroupという存在に想定しうる役割として「スレッド群のコンテナ」,「スレッド群の管理母体」,「スレッド群の共通実行環境」という3つを考え,それらの観点に基づいてRubyのThreadGroupクラスの現状と強化案を述べる.