はじめに

本日は2024年の大晦日なので、2024年の節目として今年も去年と同様に振り返りを書こうと思います。
去年の振り返りで今年は以下の目標を立てていました。
Twitterでは、2024年の抱負を記載していました。

2024(来年)の目標

  • 「論文を一つどこかの学会で発表」
  • 「プログラムにたくさん触れる」
  • 「情報技術の基礎力向上」
  • 「セキュリティを学ぶ」

2024年の抱負「初心に戻る」

達成したことは、「論文を一つどこかの学会で発表」、「プログラムにたくさん触れる」、「情報技術の基礎力向上」の3つで、「セキュリティを学ぶ」は達成できなかったです。
2024年の抱負は「初心に戻る」でしたが、うまくできたと考えています。

今年も時系列で振り返ってみます。

1月

大学を卒業するために卒論を書いていました。 卒論では初めて Linux Kernel Module を作成し、新たなメモリ領域を配置をしました。 卒論の成果は、2024年5月のOS研究会で発表し、優秀若手発表賞をいただきました。

2月

私の所属していた大学は授業が1月末で終わりなので、1月末に住んでいた賃貸を解約して実家に帰りました。 2月1日だけは、卒論発表会なので大学の宿泊施設に一泊して卒論発表に向かいました。 卒論発表会は無事に終了し、あとは卒業に必要な単位を取得できていれば卒業でした。 去年のニュージーランドにいって単位を取っていた時期が懐かしく、ニュージーランドに言ったおかげで卒業できると考えています。

実家に帰って2か月間暇なので、短期で車のマニュアル免許をとってました。 毎朝5時に起きて、帰るのは21時ぐらいといった生活をしていて受験時期を思い出していました。 車免許を取るための教官たちは厳しく、泣きたくなった時もありばしたが、一か月で車の免許を取ることができました。 公道では歩行者最強!って思いながら歩くことが正義なのではと考えています。

3月

大学の単位発表で無事に卒業できることがわかり、追加で大学院進学が確定しました。 春休みは論文輪講会を行い隔週で発表をしており、4回発表していました。 加えて IPA の未踏 IT 人材発育・育成事業に応募していました。

合格写真

2月にとった免許を早速活用し、車を運転して遠くに行っていました。 初心者マークをつけて、模範的な初心者をしていました。 でも、車の運転はまだまだ慣れなさそうです。

4月

高校の入学式を最後に入学式に出席していなかったのですが、大学院の入学式に出席していました。 大学の入学式はコロナ禍だったので2年生になって入学式があった気がします。

4月に入り、大阪に引越しをして新生活を満喫するつもりでしたが、椅子と机の手配が遅れたことによって5月まで家に机と椅子がない生活が始まりました。 床に座りながら長時間パソコンを使用していた結果、帯状疱疹になってしまいました。 追加で VR をするための HMD が壊れてしまったので寝付けない日々も続いて大変でした。

夏インターンの課題や5月の OS 研究会の論文作成をやりつつ、 FPGA も興味を持った時期でした。 今(2024/12/31)になっても FPGA は扱えないです…。

5月

3月に応募した未踏事業は不採用通知を受け取りました。 理由は「スキルが見合わない」「一次情報の不足」「案の妥当性や仕組みの検討のより詳細な考察が必要」でした。 同じテーマでは来年は応募しないと思いますが、一度応募の経験を得たので別のテーマで応募しようとも考えています。

5月は3月で言っていた卒論の成果として OS 研究会で発表をするために、沖縄の石垣島に行ってきました。 チャンプルやソーキそばがとても美味しかったです。

6月

Rust で eBPF を書いて Linux Kernel の Wireless 機能を調べていました。 共著論文の助走としてやっていたのですが、今となっては必要なかったなと後悔しています。 でも Unsafe Rust について少し触った経験と、 eBPF Verifier のおかげでなんとなく Unsafe Rust がわかった時期でした。

私の研究では U-Boot や gem5 にずっと悩まされていました。 ハードウェアを模倣して gem5 上で baremetal なプログラムは実行できたんですが、 Linux の動作に手間取っていました。 こちらも、必要ではなかったことが後々分かったので、研究は知識がないと無駄なことばかりしてしまうと考えた期間でした。

ChatGPT 「研究はうまくいかないものです。」

7月

この間研究はうまくいかず、 Arm の仕様書や gem5 のドキュメント・ソースコード、Device Tree の書き方を読み漁っていました。 研究から逃げて Tang Nano 9K を使った FPGA の L チカをやってみたり、 C 言語から Rust 言語への橋渡し練習をしたりしていました。

8月

GMO ペパボのインターンにいってチーム開発で「ロリポップ for Gamers」のログインフローの改善タスクをやっていました。 チームメンバーの皆さん全員優秀で大部分のタスクを無事に実装できましたが、追加タスクを最後まで実装できなかったため社員の方に引継ぎをしました。 引継ぎのためのドキュメント整備など初めて実務でやったため、いい経験になりました。 詳しくは、チームメンバーの方々が参加記を書いてくれているのでそちらを読んでください。

スーパーコンピュータの富岳の見学に行きました。 スーパーコンピュータは大規模シミュレーションのために使われることが多いらしく、私が使う日は来るのだろうかと思いながら見学してました。 いつか使いたいとも思いつつ、使う研究をするのかどうかは未だにわかりません…。

ネクストキャンプのチューターとしてセキュリティ・ネクストキャンプに参加していました。 今年度も多くの方と出会い、多くの刺激をもらいました。 最近は、形式検証とかTEEとかがセキュリティ界隈で熱いらしいです。 形式検証は数学が多く絡んでいるため、私にとってすごい難易度が高いのですが頑張って理解していきたいです。

9月

京都で開催された国際会議 15th ACM SIGOPS Asia-Pacific Workshop on Systems (APSys 2024) の学生スタッフをしていました。 国際会議は高級ホテルで開催されるため、参加費が高くてびっくりしました。 初めて国際会議に参加したので英語で質問や会話が行われるのが新鮮でした。

セコム IS 研究所のインターンに参加していました。 Qemu や U-Boot, Linux を触りつつ Arm TrustZone 上の Partition Manager の調査を行っていました。 このインターンで得た知識は多く、今後の研究として続けていきたいと思いました。 できたら共同研究までもっていけたらよかったと思いました。 調査の一部を Github に載せていますのでぜひ見てください。

あと、私が修士で取り組む研究案の一部が海外の方に先に出されてしまった時期です。 ここから研究の方向転換を行ったことを覚えています。 先に出されてしまった研究はまだ国際会議ではでていませんが、システムコンピュータの Top Conference に投稿中らしいです。 とても悔しい…。

今までやっていたアルバイトや長期インターンシップはここで区切りとして、やめさせていただきました。 一年間ありがとうございました。 今後も精進していきます。

ISHI会に参加して半導体設計を体験してきました。 半導体設計ができるようになってきて、アナログ回路を学んできました。 いつか自分のCPUを作成したいなと感じています。 これからいろんな半導体設計に関わって経験を積んでいきたいです。

10月

今年も誕生日を無事に迎えれました。 来年は前厄、再来年は本厄なので大事に至らないように安全な生活をしていきたいです。

11月

gem5 上で Bao Hypervisor を動作させることに成功し、 gem5 公式ブログに投稿しました。
記事は、Running Bao Hypervisor on gem5です。 ぜひ見てください。 gem5 上で ARM のハイパーバイザを動かす記事は我々の知る限り世界初の試みです。 実は、教授が国際会議に行ったときに gem5 の作者と同席し、研究を紹介してくださったおかげでスムーズにいきました。

Linux の改変をするアルバイトに携わり、 Linux の情報をどんどん出していこうと考えているのですが、できていません。 今後積極的にブログ記事にしていきたいです。

ISHI会の東海理化シャトルに参加して降圧 DC-DC Converter の VCO 作成をしていました。 正直私は電気の知識もほとんどないので今でもわからないことだらけですが、なんとなくわかってきた気もします。 今後もこの活動を続けていって半導体設計を完全に理解していきたいです。

12月

コンピュータシステム・シンポジウム (Comsys2024) でポスター発表し、最優秀ポスター賞を受賞しました。 現状、私が参加した研究発表では、すべて賞をいただいているので今後もいただいていきたいです。 それそろ国際論文も出したいのですが、実装の進捗がうまく進まない状況が続いております。 ある研究で開発されたツールを使っているのですが、アーキテクチャが異なるためうまく動かず行き詰っています。 「もっと私に実装力があれば」と痛感しています。

修士論文のテーマ発表会がありました。 久しぶりに人前で発表したため、すごい緊張してしまってうまく発表ができませんでした。 教授陣からのコメントも、発表がうまくできていなかったためうまく理解できていないようでした。 人前で発表することに慣れていきたいなと思います。

共著論文を暗号と情報セキュリティシンポジウム (SCIS2025) に出していました。 Linux の Wireless がどのように管理されているかや処理がどのようになっているかを調査していました。 初めて共著論文を記述しましたが、一緒に研究をやっている感じで楽しくて今後も続けたいとも思っています。

研究室でクリスパスパーティをしていました。 クリスマスケーキを並んで購入し、研究室のみんなでわいわいしながら食べました。 こういったアイスブレイク的な時間が増えると研究室の仲がよくなって話しやすくなるのと、いいリフレッシュになったと思っています。

まとめ

今年は研究しながらやりたいことをやっていました。 ハードウェアを触ってみたくなったり、半導体設計をしてみたくなったりして、今では自分の SoC を作成して完全自作 PC が夢になっています。

研究も実装で行き詰ってはいますが、研究すること自体はとても楽しくて博士課程にも進学しようと考えています。 まだあと4年は学生することを親に伝えたらいまいちな顔はされましたが、自分の好きなことをするということで今後も頑張っていきたいです。

2024年の抱負として「初心に戻る」を掲げていましたが、初めてのことをたくさん学び、研究をしていて理解していたものが理解していなかったこともわかりました。 研究を始めて人生で一番エンジニアとして成長したのではないかとも考えています。 今後もこの成長を続けて行きたいです。

2024年の目標は「論文を一つどこかの学会で発表」、「プログラムにたくさん触れる」、「情報技術の基礎力向上」「セキュリティを学ぶ」でした。 学会発表は論文の発表とポスター発表ですが、2回も発表できました。
プログラムは Linux や U-Boot などの C 言語をたくさん読んでたくさん触れることができたと考えています。 特に今まで C 言語の CallBack Function がいまいちよくわかっていなかったのですがそこが理解できたのがよかったと思っています。 情報技術の基礎力の向上は、研究する上でわからない言葉をよく調べることになったことと、 AI の進化によってざっくりとあたりをつけることができるようになったことでうまくいった気がします。
セキュリティについては、サイドチャネル攻撃に関しての知識はちょっとずつですがついてきたと思います。 でも2024年の目標に記載したセキュリティはソフトウェアセキュリティのことを考えて記載していたのでちょっと違う気がします。 個人的にはソフトウェアセキュリティに関してはあまり興味がわかなくなってきた気がします。

今年度は比較的多くの文字を書いた気がしますが、来年はもっと充実した生活をしていきたいです。

今年度私と関わっていただいた方々、ありがとうございました。 来年度もよろしくお願いします。

2025年の目標

  • 国際論文を投稿・発表
  • ハードウェア基盤や半導体設計に触れる
  • 論文を100本以上読む

2025年は上記の3点を目標に活動していきたいです。