はじめに
2024年9月14日から9月16日にかけて、加藤山崎教育基金 軽井沢研修所(長野県北佐久郡)にて、第57回情報科学若手の会を開催いたしました。全国より、招待講演者を含む45名が現地参加し、様々な分野の発表を行い、 活発に議論しました。
発表および議論
以下のような発表枠を用意し、議論を行いました。 本年は、通常発表4件、ショート発表6件の発表がありました。
- 招待講演: 60分 (質疑含む)
- 一般発表: 発表30分+質疑10分
- ショート発表: 発表15分+質疑10分
発表一覧
招待講演: 「なぜオープンソースソフトウェアにコントリビュートすべきなのか」 日本電信電話株式会社 ソフトウェアイノベーションセンタ 須田 瑛大 様
現代の情報社会において、ほぼ全てのプロダクトやサービスは多数のオープンソースソフトウェア (OSS) に直接的ないし間接的に依存しています。 しかしながら、OSSを実際に誰がどのように開発・運営しているかには、あまり注意が向けられていないように思われます。 そうした点に注意を払わずにOSSに「ただ乗り」してもライセンスに反するわけではありませんが、 ユーザがただ乗りしてばかりでは、OSSの持続可能性は低下し、結局はユーザが損することとなります。 また、OSSの開発が鈍化すると、悪意を持ったコントリビュータにプロジェクトを乗っ取られ、マルウェアを仕込まれてしまう恐れもあります。 実際に、2024年3月にはxz (広く普及している圧縮ツール) にバックドアが仕込まれていたことが発覚しています。 セキュリティの観点からも、OSSに関与し、監視していくことは重要です。
本講演では、上記のような観点を中心に、なぜ企業や個人がOSSにコントリビュートしていくべきなのかをお話しします。 コンテナ関連各種OSSのコミッタとしての、自身の経験談もお話しします。
若手特別講演: 「eBPFはネットワークソフトウェア開発の何を変えたか」 Isovalent at Cisco 早川 侑太朗 様
eBPFはLinuxカーネルの拡張を安全に実装するための技術です。ネットワーク、セキュリティ、オブザーバビリティなどの分野で活用されており、ここ数年、特にCloud Native Computing Foundation (CNCF) コミュニティを中心に盛り上がりを見せています。
自分はeBPFが広く使われる以前、自分がまだ大学生だった2017年ごろから研究、個人規模のOSS、社内クラウド基盤のロードバランサなど、大小様々な規模でeBPFを活用したネットワークソフトウェアの開発に携わってきました。そして、今ではIsovalentというeBPFを使った製品を売るベンダでCiliumというおそらく世界で一番eBPFを使い倒しているプロジェクトのCommitterとして働いています。
この発表では7年間eBPFという技術と向かいあった経験をもとにネットワークソフトウェア開発という文脈でeBPFが変えたもの、あるいは変えなかったものについて自分の経験をもとにお話しします。
スポンサー発表 1: 「トヨタにおけるシステムソフトウェア開発の取り組み」 トヨタ自動車株式会社 金津 穂 様
分散コンピューターシステムとしてみたときの、自動車や自動車周辺のソフトウェアについての紹介と、大手町での自動車向けシステムソフトウェアへのR&Dの取り組みについてご紹介します。
スポンサー発表 2: 「リーガルテックにおける検索・推薦技術」 株式会社LegalOn Technologies 宮里 俊太郎 様
この発表では、リーガルテック業界における、検索・推薦技術の応用先の広がりについて紹介します。 検索・推薦技術は、情報科学の応用として、もはや空気のように当たり前になっています。一方で、自然言語処理分野の発展により近年熱気が高まってきている技術でもあります。 リーガルテックとは、かつては紙の契約書で完結していた法務業務を電子化して、可能な限りIT技術で効率化しようとするビジネスを指します。この業界と検索・推薦技術の相性の良さを、一企業の視点からお伝え出来ればと思います。
スポンサー発表 3: 「Kubernetesって何?‐大規模なKubernetesを運用するKubernetes as a Serviceチームの話を添えて‐」 LINEヤフー株式会社 井上秀一 様 / 殿山雄大 様
本発表では、まずLINEヤフーについて簡単に説明した後、アプリケーションやシステムを外部に公開する際の負荷分散と耐障害性の重要性について話します。これらの課題を解決するための技術として、Kubernetesとコンテナ技術に焦点を当て、その基本的な概念と利点を解説します。
さらに、Kubernetes運用の難しさについて説明し、開発者が本来のアプリ開発に集中できるよう支援するLINEヤフーのKaaSチームについて紹介します。特に、運用中に直面した問題 (リソース不足によるアラート対応) とその自動化への取り組みに焦点を当て、具体的な改善例とその効果について紹介します。
スポンサー発表 4: 「Green500への挑戦とその先へ」 株式会社Preferred Networks 河田 旺 様 / 樋口 兼一 様
MN‐Coreを搭載した自社製スパコンは、電力効率を競うGreen500というランキングに挑戦し、計3回1位を獲得したことがあります。途中A100を搭載したクラスタが1位を取ったこともありましたが、その後取り返しています。この結果だけを聞くと華々しいですが、当時はMN‐Coreの稼働実績がほぼなく、最適化のノウハウを貯めるところからのスタートであり、「そんなことまでソフトウェアでやらないといけないのか」の繰り返しでした。そんなベンチマークの最適化及び計測の裏話から、今後のMN‐Core向けコンパイラの展開まで実際の開発者がお話します。
スポンサー発表 5: 「あなたの知らないiOS開発の世界」株式会社リクルート 高井 悠宇 様
このセッションではiOS開発未経験者を対象に知っておくべき重要なポイントを歴史的経緯や思想に焦点を当てて紹介・解説します。 紹介するテーマはOS、言語、IDE、UIフレームワーク、DB、アーキテクチャの6つに絞りました。 特に言語については最も重点を置いて解説する予定です。(ValueSemantics、 Protocol‐orientedProgramming、nil許容性、メモリ管理など!) 当日はクイズを活用したり、Web開発との共通点や違いにも触れる予定です。 楽しんで探求していきましょう!
通常発表 1: 「『認証認可』という体験をデザインする ~Nekko Cloud認証認可基盤計画」 永見 拓人 様
我々ネッコ研では、複数のメンバーが所有する自宅サーバーをVPNで繋ぎ、その上にプライベートクラウドを構築するプロジェクト「NekkoCloud」を進めています。 一般のクラウドにおいて認証認可は避けて通れない要素ですが、安全性や利便性を求めるとAWSのIAMのように仕様が膨大になってしまい、設計が難しくなります。 しかしながら、NekkoCloudは1サークル内で提供されるサービスですので、順序立てて考えれば要件を絞ることができます。 最終的に我々は、DiscordのOAuthでのみログインできる自作メンバーポータルにOIDCProviderの機能を付けることで、認可したサービスにのみ認証情報を""プロキシ""する形のフローを採用しました。 本セッションでは、我々がどのように状況を整理し、何を主目的として定めたのか、そして設計した認証認可基盤計画の全貌をお伝えします。
通常発表 2: 「モノレポのすゝめ」 ハララノフ ヴァレリ 様 / 三輪 智樹 様
従来の業界常識では、レポジトリはいわゆる「コンポーネント」ーfront‐end、back‐end、infra、testなど ー を単位に分けることが多い一方、最近では徐々に同じレポジトリにまとめる方針も見受けられる。一般に前者のことをポリレポ (polyrepo)、後者のことをモノレポ (monorepo) と呼ぶ。しかしモノレポ方針を採用すると、一つのレポの単位をどうやって決めれば良いのか、レポをまとめる意義がどこにあるのか、組織の規模等によってモノレポとポリレポの違いがどう影響していくかなど、意外に厄介な悩みに出会うことがある。本発表ではこういう悩みに焦点を当て、発表者の実務経験や日々の研究などに基づきモノレポを上手に活用する方法や考え方について論じる。
通常発表 3: 「プログラム検証入門」 尾田 莉瑠 様
プログラム検証は、プログラムの「正しさ」を理論的に保証するための技術です。本発表ではモデル検査、型システム、定理証明のそれぞれについて具体例を交えながらチュートリアル形式で解説します。 発表者自身も最近この分野に入門した初学者であるため、入門前後での理解の変化や、おすすめの学習方法なども合わせて紹介します。プログラム検証の基本を学び、プログラムの正しさについて理論的に考える力を身につけましょう!!
通常発表 4: 「まず『言語』から始めるソフトウェア開発」 中神 悠太 様
言語指向プログラミング (LOP) というプログラミングパラダイムがあります。LOPではまず開発対象に即した専用言語 (DSL) を準備し、その言語を用いて実際の開発を行っていきます。 専用言語を使用することで、プログラム自体の表現力向上や開発現場における円滑なコミュニケーションの実現が期待できます。 さて、LOPのための専用言語はどのようにして作れば良いでしょうか?専用言語の構文をどのように設計すれば『良い』言語になるでしょうか?言語処理系はどのように実装していけば良いでしょうか?発表では、これらの問いに答えるべく、LOPを中心に言語処理系の様々なトピックについて触れていきます。 また、過去に私が情報処理学会プログラミング研究会で発表した内容にも触れつつ、現在の私の研究について発表します。 特定の言語に関する話題を本筋とはせず、多くの方が納得できる内容となるように心がけます。
ショート発表 1: 「JVMはWebフロントエンド開発の夢を見るか?」 野牧 樹 様
現代のWebフロントエンド開発の現場では、主としてTypeScriptが用いられている。TypeScriptは静的型付け言語に分類される一方、あくまでも型注釈の立場を取っているため、デフォルトではコンパイル時にしか型の検証を行わない。これにより実行時に型の不整合による思わぬバグが発生する可能性がある。私の研究では、WebAssemblyによって実装したJVMをWebブラウザ上で動作させることにより、実行時に型検査を行う仕組みの検討および開発を行っている。このJVMを用いることで、JavaをはじめとしたJVM上で動作する言語によってWebフロントエンドの開発が可能となる。なおJVMはランタイムに型の情報を持っており、クラス等のシグネチャの文字列表現をベースとした型の検査を行うことができる。本発表ではこの研究の概要を述べる。
ショート発表 2: 「GPUの実行モデルを理解してうまく使いたい」 野崎 愛 様
本発表では幅広い分野で使われているGPUがどう動いているのか、ハードウェア/プログラムの面から整理します。また、大量の計算資源を持つGPUをより高い利用率で使うために行われている工夫などを紹介します。
ショート発表 3: 「係り受け解析を用いた法律文書中の略称規定の解析についての報告」 北野 尚樹 様
法律文書では条件を丁寧に指定したためにとても長くなってしまった単語が多く存在している。これらの長い単語を毎回使うのは煩雑で読みにくくなるため、略称を定めて略称の方を使用することが多い。 例えば税理士法第四十八条の六では次のような定義で「社員等」という略称を定め使用している。 >当該税理士法人の社員又は使用人である税理士 (以下この条及び第四十八条の二十第四項において「社員等」という。) 略称を使った条文を読む際に略称の定義を参照して詳しい条件を確認したいという需要が存在する。 これに応えるために法律文書中の略称規定を解析する手法を考案した。 複雑で長い規定文に対応するためには単純なパターンマッチでは不可能であったため、係り受け解析の結果を使った解析方法を考え、実装した。 実際の法令に対して実装したプログラムを適用した結果について報告する。
ショート発表 4: 「Terraform×cloud‐initでVMのセットアップをいい感じにする話」 井上 裕介 様
私の所属するNekkoCloudTeamでは、VPNでメンバーの自宅サーバを接続し、プライベートクラウドを構築しています。ProxmoxでIaaS環境を運用しているのですが、手作業でVMを作成する工程は冗長であり、時間のかかる面倒な作業でした。 そこで、我々は「VMを作成する工程」をトイルとし、IaCツールTerraformを導入しました。 今回は、Terraformを用いてVMインスタンスを自動生成する方法と、VMの初期設定を行なってくれるcloud‐initを使用する方法ついて紹介します。
ショート発表 5: 「ウェアラブルデバイスを用いた長期的な生体信号による概日リズムの推定」 脇田 一秀 様
過去数十年の間に、概日リズムを推定するための様々な分析法や装置が提案されてきた。しかし、長期にわたる生体信号の計測や、マルチスケールな特性を持つゆらぎを捉えることは、従来の手法だけでは困難であった。そこで本研究では、ウェアラブルデバイスであるFitbitに加えて、マルチスケールファジィエントロピー解析(MFE)を用いることによって、人間の自然環境における心拍数の概日リズムの新たな側面を明らかにすることを試みた。その結果、約1000秒までの内在神経活動によって生じる決定論性が観察された。この手法では、ウェルチ法によるパワースペクトル解析で捉えた、概日リズムの一種である大きな時間スケールのウルトラディアンリズムは反映されなかったが、それでも心拍変動に代表される自律神経系の活動を捉えることに成功した。
ショート発表 6: 「餅から米!神エクセルを(ほぼ)全自動再構成して爆速でバス時刻表を作る話」 加藤 滉大 様
方眼・結合・同一シートなどデータを扱う際の天敵となる神エクセル。お役所からのオープンデータでは多用されることがあり、バス停時刻時刻データのような単純なものも例外ではありません。 この発表では、神エクセルからのデータ収集やGTFSデータ作成、系統結合や整形済み時刻表の出力まで一貫して行えるようにした時刻表出力システムの開発の紹介と、技術的背景、最近の交通・移動系のオープンデータについての紹介を行います。
LT発表
飛び入り発表ありの発表時間5分のLT発表を行い、10件の発表がありました。また、ナイトセッションも大変盛況となりました。
インターネットでの反応
X(旧 Twitter)
ブログ記事
第57回 情報科学若手の会 に参加した。 - momokaのブログ
情報科学若手の会で発表してきました - LegalOn Technologiesの開発チームによるブログです。
第57回情報科学若手の会にスポンサーとして参加してきました - LINEヤフー Tech Blog
Discord サーバー
X (旧 Twitter) だけではなく、昨年から取り組んでいるDiscordサーバーを利用して発表資料のアップロードや発表に対するディスカッションを行いました。 X では難しい、よりクローズドで密なディスカッションが活発に行われ、参加者アンケートでも「良かった」というご意見をいただくことができました。 昨年は試験運用でしたが、今後もDiscordサーバーを利用して本会を運用していく予定です。
おわりに
低レイヤー技術から、リーガルテック、サーバーサイド、言語処理など、さまざまなバックグラウンドを持つ参加者の方々にご参加いただきました。それに加え、交流やディスカッションが積極的に行われており、非常に多角的な視点から議論がされていました。結果として、本会は大変有意義な会となりました。
来年度も同時期に情報科学若手の会を開催する予定です。下記のWebページにて随時情報を更新しております。 多くの方のご参加をお待ちしております。
謝辞
招待講演を快く引き受けてくださいました日本電信電話株式会社 ソフトウェアイノベーションセンタ 須田 瑛大 様、Isovalent at Cisco 早川 侑太朗 様、スポンサーとしてご援助いただきました株式会社Preferred Networks 様、株式会社LegalOn Technologies 様、株式会社リクルート 様、さくらインターネット株式会社 様、トヨタ自動車株式会社 様、LINEヤフー株式会社 様、この若手の会開催にあたり様々な面からご支援くださいました高知工科大学 松崎先生をはじめとするプログラミングシンポジウム幹事と情報処理学会事務局の皆様に、この場をお借りして深く御礼申し上げます。
幹事
- 久下 柾 (奈良先端科学技術大学院大学)
- 石 立行 (グーグル合同会社)
- 井上 紘太朗 (LINEヤフー株式会社)
- 黄 英智 (株式会社ディー・エヌ・エー)
- 武田 真之
- 田中 京介
- 多根 直輝 (LINEヤフー株式会社)
- 松本 直樹 (京都大学大学院)
- 三木 健太郎 (神戸大学)