修論タイトル:ページ遷移を考慮したWebアプリケーション記述言語の設計と実装(2009年度修士論文)

氏名:三島 航

概要

 Webアプリケーションの実行形態の種類としてスクリプト、アプレット、サーブレット、CGI等がある。その中で、CGIによるWebアプリケーションは一般的に広く普及している。CGIとは、Common Gateway Interfaceの略であり、Webサーバから送られてきたデータをプログラムで処理させ、処理結果をWebサーバに送り返す仕組みのことをいう。CGIによるWebアプリケーションは、Webサーバに処理結果を送り返す際、言い換えるとユーザにWebページを出力する際、処理を終了する。この仕組みにより、CGIによるWebアプリケーションはページ遷移を行うことで、開発者の予期しない結果やエラーを表示する恐れがあり、多くの論文で問題視されている。

 Webアプリケーションでは、Webブラウザのバックボタン等を用いることで、ユーザが自由にページを遷移させることができる。しかし、全てのページ遷移でWebアプリケーションは正常に動作するとは限らない。開発者が想定していないページ遷移により、予期しない結果やエラーが表示される恐れがある。開発者の想定していないページ遷移をなくすためには、アプリケーション実行中に起こるページ遷移を開発者が全て把握する必要がある。しかし、従来の言語でこれを行うのは煩雑である。

 そこで本研究では、Schemeを拡張することで、ソースプログラムの記述から、開発者がページ遷移を容易に読み取ることができ、完成後のソースプログラムからアプリケーション実行中に起こりうる全てのページ遷移を静的に解析できるプログラミング言語の設計と実装を行う。ソースプログラムからページ遷移の解析を容易に行えるようにするため、本研究の言語で記述する部分とSchemeで記述する部分を区別し、Schemeで本研究の言語を使用することはできない仕様とした。また、プログラムの制御フローからページ遷移を静的に決定できるように、本研究の言語であるページ定義構文、ページ遷移構文を設計、実装した。こうすることで、本研究の言語で記述した部分からページ遷移が静的に決定するため、ページ遷移を解析することが容易になる。そしてページ定義構文、ページ遷移構文で記述されたプログラムの制御フローから静的にページ遷移を解析するためのツールを実装した。

 この言語を用いてWebアプリケーション開発を行うことで、ページ遷移を把握した上で開発を行えるため、ページ遷移による予期しない結果やエラーが起こらないWebアプリケーションを容易に作成できると考えられる。


[修論pdf][研究室内部向け情報]