SwiftSyntax・SourceKit・SwiftUIで実現するソフトウェア可視化の世界 by Ockey

iOSDC Japan 2024
レギュラートーク(20分)

SwiftSyntax・SourceKit・SwiftUIで実現するソフトウェア可視化の世界

_ockey_ Ockey _ockey_
4

ソフトウェア可視化(Software Visualization)という研究分野があります。
これは、ソフトウェアの構造や開発プロセスなどを可視化することで、その理解を支援しようというものです。

ソフトウェア可視化には、頻繁で継続的なリリースが求められるアプリにおいて、コード理解を支援して開発効率を上げるポテンシャルがあります。
にもかかわらず、Swiftで書かれたコードを可視化するツールはまだあまり世に出ていません。
そこで、ビルドが成功する度に静的構造と影響範囲を可視化するツールを試作しました。

このトークでは、Swiftを対象としたソフトウェア可視化ツールの開発経験をもとに、

  • Swiftを対象とした既存のソフトウェア可視化ツール
  • SwiftSyntaxを使って型や変数、関数の宣言箇所と呼び出し箇所を特定する方法
  • ソースコードを解析して親子関係を維持しながら型や変数、関数を抽出する方法
  • SourceKit(SourceKitten)を使って型や変数、関数を呼び出している箇所から定義元を特定して依存関係を抽出する方法
  • SwiftUIを使ってクラス図ライクで移動可能なUIを実装する方法

についてお話しします。
このトークを通じて、Swiftで書かれたコードを解析するハードルを下げ、オリジナルの開発支援ツールを実装しよう!と思ってもらえることを目指します。