著者
山本 哲男
雑誌
ソフトウェアエンジニアリングシンポジウム2016論文集
巻号頁・発行日
vol.2016, pp.25-33, 2016-08-24

ソースコードを記述していく際,開発者は,効率よくプログラムを作成するために既存のソースコードの再利用やライブラリを活用して開発を行う.そこで,本研究では,既存のソースコードに記述されているメソッド呼び出し文の順序に着目し,メソッド呼び出し文を補完する手法について提案する.本手法では,回帰結合ニューラルネットワーク (recurrent neural netowork) を利用し,次に現れるであろうメソッド呼び出し文を予測する.さらに,提案する手法を実装し,10 プロジェクトのオープンソースソフトウェアを用いて補完候補の精度を計測した.また,回帰結合ニューラルネットワークの様々なパラメータが実験結果にどのように影響するかを調査し,補完候補の精度がどのように変化するかについても実験した.実験の結果,典型的なサンプルソースコードの補完においては,38%の精度で補完候補の一位に必要なメソッド呼び出し文が現れることが確認できた.
著者
Anfernee Goon Yuhao Wu Makoto Matsushita Katsuro Inoue
雑誌
ソフトウェアエンジニアリングシンポジウム2016論文集
巻号頁・発行日
vol.2016, pp.255-256, 2016-08-24

A code clone is a fragment of code which is duplicated throughout the source code of a project and have been shown to make a project less maintainable because all code clones will share potential bugs and problems. This study analyzes the code clone ratios over the entire development lifetime of Git, a widely used open-source project written in C/C++ to understand development habits and the changing maintainability of the software. The study utilizes bash scripting in conjunction with CCFinderX and GitHub to automate the detection of clones across development history. The results showed very stable ratios across development history, with the code clone ratios only fluctuating greatly during the beginning of development mostly, which can imply design choices not being concrete during the beginning of development as well as considerably more functionality being added at the beginning of development relative to the rest of the development cycle. Overall, the clone ratios over the development of Git has given some insight on the different aspects of the development process such as refactoring and how Git handles such aspects. Developers should be able to improve on their approach to development and increase their software’s maintainability by looking at code clone ratios over the version evolution of their own projects.