第7回ステアラボソフトウェア技術セミナー 田辺裕大 様「Programming Language with Versions」 The 7th STAIR Lab ST Seminar: Dr. Yudai Tanabe, "Programming Language with Versions"
2024.05.16
2024.05.16
千葉工業大学人工知能・ソフトウェア技術研究センター(ステアラボ)では、従来機械学習や自然言語処理等の人工知能に関するセミナー(ステアラボ人工知能セミナー)を開催して参りましたが、この度、ソフトウェア技術研究に関するセミナーもオンライン形式で開催することに致しました。
どなたでも無料でご参加いただけます。オンライン形式のため特に定員数は設けておりませんので皆様奮ってご参加ください。
【日時】
2024 年 5 月 24 日 (木) 15:00〜16:00
【講演形態】
オンライン
【講演者】
東京工業大学 田辺裕大 様
https://yudaitnb.github.io/
【講演タイトル】
Programming Language with Versions
【講演概要】
更新作業は現代で最も忌避される開発タスクの一つである。現代のソフトウェア開発は外部パッケージの使用に強く依存しており、外部パッケージの更新はソフトウェアの既存の振舞を破壊することがある。現代的な開発支援ツールはパッケージの依存性解析に基づいた更新支援を提供するが、コードベースの更新作業中には同一パッケージの複数バージョンへの同時依存が不可避的に生じ、実装を無視した解析を行う開発支援ツールではこの問題に有効な解決策を与えることができない。
Programming with Versions (PWV) は、この問題を解決するために近年提案された言語設計である。PWV 言語ではバージョンの概念を言語意味論に持ち込むことにより、単一のモジュールの新旧バージョンの機能を選択的に使用可能である。また、一貫した仕様に基づいたデータフローで計算が行われることを保証する。これらの機能は、膨大な作業コストを要していた更新作業の漸進化を可能にする。本講演では、APLAS’23 及び PPL’24 カテゴリ2で発表された論文 “Compilation Semantics for a Programming Language with Versions” に基づき、実験的な関数型 PWV 言語 VL 及びそのコア計算 λVL を通して、PWV の言語設計を解説する。特に、PPL’24 では時間の制約で紹介できなかった技術的詳細(安全性の原理・型システム設計・バージョン推論・コンパイル手法)や予備評価、関連する更新支援技術、将来の課題についても紹介する。