Project/Area Number |
20H00582
|
Research Category |
Grant-in-Aid for Scientific Research (A)
|
Allocation Type | Single-year Grants |
Section | 一般 |
Review Section |
Medium-sized Section 60:Information science, computer engineering, and related fields
|
Research Institution | Kyoto University |
Principal Investigator |
五十嵐 淳 京都大学, 情報学研究科, 教授 (40323456)
|
Co-Investigator(Kenkyū-buntansha) |
末永 幸平 京都大学, 情報学研究科, 准教授 (70633692)
池渕 未来 京都大学, 情報学研究科, 助教 (70961796)
関山 太朗 国立情報学研究所, アーキテクチャ科学研究系, 准教授 (80828476)
田邉 裕大 東京工業大学, 情報理工学院, 助教 (30985198)
松下 祐介 京都大学, 情報学研究科, 特別研究員(PD) (41003875)
|
Project Period (FY) |
2020-04-01 – 2025-03-31
|
Project Status |
Granted (Fiscal Year 2024)
|
Budget Amount *help |
¥44,460,000 (Direct Cost: ¥34,200,000、Indirect Cost: ¥10,260,000)
Fiscal Year 2024: ¥8,450,000 (Direct Cost: ¥6,500,000、Indirect Cost: ¥1,950,000)
Fiscal Year 2023: ¥8,840,000 (Direct Cost: ¥6,800,000、Indirect Cost: ¥2,040,000)
Fiscal Year 2022: ¥8,840,000 (Direct Cost: ¥6,800,000、Indirect Cost: ¥2,040,000)
Fiscal Year 2021: ¥8,840,000 (Direct Cost: ¥6,800,000、Indirect Cost: ¥2,040,000)
Fiscal Year 2020: ¥9,490,000 (Direct Cost: ¥7,300,000、Indirect Cost: ¥2,190,000)
|
Keywords | プログラミング言語 / プログラム検証 / 相互運用性 / ソフトウェア契約 / ソフトウエア契約 |
Outline of Research at the Start |
近年のソフトウェアシステムは、プログラミング言語に対して言語間相互運用性を要請することが多くなっている。しかし、言語間相互運用性を活用しつつ、正しく動くソフトウェアを構築するのは、単一の言語でのソフトウェア開発よりもさらに困難である。我々は「言語間相互運用を活用したソフトウェアシステムを正しく構築するための技術はどうあるべきか」を研究課題の核心をなす学術的「問い」として据え、ソフトウェア契約というソフトウェア検証のための方法論を、言語間相互運用性とシステムの高信頼性を確保するための技術として拡張・発展させる研究を行う。
|
Outline of Annual Research Achievements |
本年度は、交付申請書時点で計画したふたつの研究項目のうち、【研究項目2. 多言語モジュールで構成されたソフトウェアシステムの検証機構】 の(項目2-2)、多相型を持つ言語と動的型付言語間の相互運用を行うための実行検査について効率的な実装のための技術の検討に大半の時間を費した。当初、前年度までの, 「完全に空間効率がよい実装は不可能ではあるが、ある意味でほとんど空間効率のよい実装であれば可能」という理論的な結果を洗練させる予定であったが、研究を進める中で、多相関数に与えられる型引数が動的型である場合のみパラメトリシティ性を諦めることで、完全に空間効率がよい実装が可能であることに気付いたため、その実装技術の理論化を行い論文にまとめた(発表予定)。(項目2-1)の「データ変換を行う仕組みと実行時検査機構を組み合わせる手法の検討」については関連研究のサーベイなどを進めた。
【研究項目1. モジュール間のデータ変換機構とその自動化の研究】 については、レコードとハッシュテーブルが相互運用可能な言語のプロトタイプの完成を目指した。前年度までの研究で判明した、再帰的データ構造を扱う際の理論的な課題について取り組んだが、前年度までに研究協力者であった大学院生の修了もあり、解決には至らなかった。一方で、この方式をレコードとハッシュテーブルの組み合わせに限らず一般化する理論の検討を行った。この一般化により、例えば、ハッシュテーブルを文字列を受け取って(動的型の)値を返す関数とみなし、関数適用の構文を使ってハッシュテーブルの値を読み出すことが可能になると考えている。ただし、どういった組み合わせならば相互運用が可能なのかについてはまだ不明なところも多い。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
個別の研究項目については、項目2-2の、多相型を持つ言語と動的型付言語間の相互運用を行うための空間効率のよい実行検査の研究のように想定以上の進展があったものと、やや遅れているもの(項目1と項目2-1)が混在しているが、全体的には「おおむね順調」と判断した。
項目1と項目2-1の遅れは、項目2-2の研究を進める間に生じた理論的な問題を解消するのに数ヶ月を費したために当初想定していた時間がかけられなかったことと、研究協力者の不在が主な原因である。
|
Strategy for Future Research Activity |
雇用していたポスドクが次の職を得て離れてしまうが研究分担者としては残ること、また、今年度時間を費した項目2-2の研究については一段落つくので、遅れている項目について、学生の研究協力者も加え研究を加速させる。
|