モバイルアプリは機能の追加とともに肥大化する傾向がある。機能を追加したことで以前使われていた機能が使われなくなることもあるし、ユーザーからの評判が不評だったために無効化されることもある。こうして使われなくなった機能に関連するコードはアプリの中に残り続けることになり、アプリ肥大化の要因になっていく。

アプリのリファクタリングや不要になった機能のソースコードを削除することの難しさは、2020年3月にFacebookが新しいメッセンジャーアプリ「Messenger」を公開した際、Facebookのエンジニアも指摘していた。

Uberはこうした問題に活用できる技術を「Piranha」として公開した。Piranhaについては、Uberが先日「Introducing Piranha: An Open Source Tool to Automatically Delete Stale Code|Uber Engineering Blog」においてまとまった情報を公開している。

  • Introducing Piranha: An Open Source Tool to Automatically Delete Stale Code|Uber Engineering Blog

    Introducing Piranha: An Open Source Tool to Automatically Delete Stale Code|Uber Engineering Blog

現在のところ、Piranhaが対応しているのはObjective-C、Swift、Java。モバイルアプリ開発において使われなくなったソースコードを自動的に削除し、モバイルアプリを軽量な状態に保つことに利用できる。PiranhaのソースコードはすでにGitHubで公開されており、利用できる状況になっている。