コンテナ仮想化技術におけるSATDの削除に関する調査

書誌事項

タイトル別名
  • An Empirical Study on the Removal of SATD in Container Virtualization

この論文をさがす

抄録

Self-Admitted Technical Debt(SATD)とは,コード中に存在するバグや解消すべき課題のことであり,その中でも開発者が課題を認識したうえで,コードに埋め込んだものを指す.SATDの調査は,ソフトウェアの品質向上につながることから,SATDの追加や削除について様々な研究が行われている.他方,近年ソフトウェアのクラウド化にともない,コンテナ仮想化技術の1つであるDockerが注目されている.Dockerにおいても,従来のSATD研究で調査対象とされてきた一般的なプログラミング言語と同様に,SATDの存在が報告されている.しかし,DockerにおけるSATDの削除についての調査はまだ行われていない.SATD解決実態の把握により,SATD解決パターンの獲得や解決案の提示といった応用が期待できる.そこで本研究では,Docker Hubの人気上位250イメージを対象に,Dockerfileに含まれるSATDの削除の性質理解のための調査を行う.調査の結果,Dockerfile内のSATDのうち40.7%の負債が解決されており,存在期間は中央値が67日,平均値が166日であった.また,Dockerfile自体のレビューを求めるSATDや,外部システムに起因するSATDが多いことを明らかにした.外部システムに起因するSATDの早期解決を開発者に対して促すため,外部システムの変更を検知し,更新時に開発者に通知を行うツールを作成した.

Developers occasionally leave bugs and issues that need to be resolved in source codes on purpose because of several reasons such as lack of development effort. Self-Admitted Technical Debt (SATD) refers to such bugs and issues. As it is pivotal to reduce SATDs from source codes, researchers have been investigating the additions and deletions of SATDs so far. A prior study found SATDs on Docker, one of the container virtualization technologies attracting attention in recent years. Although Docker is an important technology because of the shift to cloud computing, no prior work studies the deletions of SATD on Docker. Hence, in this study, we aim at revealing the process of deletions for SATDs on Docker to support the development with Docker. We investigate the characteristics of the deletions of SATDs on Dockerfiles, a text file to build an image for a container, in the top 250 most popular repositories of Docker Hub. We found that about 40.7% of the SATDs in the Dockerfiles are resolved within 67 days on median and 166 days on average. We also found that many SATDs exist that request a review of the Dockerfile itself and SATDs caused by external systems. In order to encourage developers to resolve SATDs caused by external systems as fast as possible, we created a tool that detects changes in external systems and notifies developers when such changes resolve the cause of SATDs.

収録刊行物

関連プロジェクト

もっと見る

詳細情報 詳細情報について

問題の指摘

ページトップへ