Skip to main content

💡 Researches

My research areas are: empirical software engineering 📈, software security 🔒, software obfuscation, software birthmarks, and software watermarks. My research topics are as follows. Note that my achievements is listed on my laboratory page.

Git/GitHub Operation Support for Novice Programmers

:speaking_head: Overview # Learning the git and GitHub operation is difficult for novice programmers. Since even programming is a pretty complicated task, it becomes challenging to consider various kinds of operation except programming, for example, good commit, pull requests, and etc. However, the recent development process ordinary manages product versions with SCM such as git. Therefore, it requires the novices should learn them as soon as possible.

Fast comparisons of the birthmarks

:speaking_head: Overview # The software birthmarks were proposed for detecting the software theft from a large number of suspected programs. The birthmark is a technique to compare the extracted characteristics as the software birthmarks, and compute similarities between two birthmarks. The conventional birthmarks require a much time by increasing the target programs for comparison. Therefore, it is the bottleneck of the conventional birthmarking technique. In this paper, we propose a method for reducing total processing time by introducing the narrowing phase between conventional extracting and comparison phases. The narrowing phase employs the fast but rough comparison algorithm in order to eliminate unrelated programs.

Identifying the applied obfuscator

:speaking_head: Overview # Recently, to prevent cracking, the various protection methods have been proposed. One of the protection methods is the obfuscation method. Obfuscation method changes the program into hard to understand for hiding secret information in the program. On the other hand, de-obfuscation is an interesting research topic for protecting the software. Since, though vulnerable protection methods are dangerous, measuring the robustness of the method was not discussed.

Development support bot

:speaking_head: Overview # This research topic aims to build a helpful bot for the software development. Also, the topic focuses on the bot on the Social Coding Platform in the social network services. The one goal of the topic is to build a bot for gently helping GitHub flow. :books: Publications # 宮崎 光,玉田 春昭,CUIツールの開発支援サービスとしての再構築手順の提案”,信学技法,Vol.119,No.246, SS2019-14, pp.7–12, October 2019(熊本). 玉田 春昭,”初学者向けGitHub flow学習支援”,ソフトウェアシンポジウム2019 ワークショップ 討論テーマ(2)実証的ソフトウェア工学によるプログラミング教育とソフトウェア工学教育,August 2019.(東京) Ko Miyazaki, Haruaki Tamada, “Identifying Users in the Bridging Service between Two Different Chat Services using User Icons,” In Proc. HCI International 2019, Digital Human Modeling and Applications in Health, Safety, Ergonomics and Risk Management. Healthcare Applications, (HCII2019), Lecture Notes in Computer Science, vol 11582, 24-31 July 2009. (Orlando, FL, USA). 柳川 龍太郎,西尾 泰介,玉田 春昭,”システム開発初心者のためのGitHub flow学習支援システム”,第25回ソフトウェア工学の基礎ワークショップ(FOSE2018),November 2018(函館,ポスター発表) 宮崎 光,玉田 春昭,”異なるチャットシステム間でメッセージ送信可能なシステムの構築”,第17回情報科学技術フォーラム(Forum on Information Technology 2018)(FIT 2018),September 2018.(福岡) 西尾 泰介,柳川 龍太郎,玉田 春昭,”初学者を対象としたGitHub flow支援ボット”,ソフトウェアシンポジウム2018 ワークショップ 討論テーマ(4)ソーシャルコーディングのための実証的ソフトウェア工学,September 2018.(東京) 玉田 春昭,”ソーシャルコーディングプラットフォーム上のサービス連携のためのメタボット’‘,ウィンターワークショップ2018,January 2018.(広島) :mag_right: Related Research Topics # Project as a City Mining Software Repository Characteristics of the developers :handshake: Collaborators # K. Matsumoto@NAIST

Project as a City

:speaking_head: Overview # Social coding platforms (SCPs) have realized spontaneous software evolution, where new source code and ideas are spontaneously proposed by altruistic developers. Although there are many projects operated by active communities performing spontaneous evolution, it is yet unclear that how such successful projects and communities have been formed and governed. In this paper, we propose a method that can investigate the history of every project in the SCP. Introducing the concept of project as a city, we consider every project in the SCP as a city, where a government and citizens develop a city through collaborative activities. We then identify essential attributes that characterize a state of a city. For each attribute, we develop metrics that quantify the state $S(p,t)$ of a project $p$ at time $t$. An experimental evaluation investigating GitHub projects of famous code editors shows that the proposed metrics well visualize the history of the projects from essential perspectives of a city.

Auto-extraction of Dynamic Birthmarks

:speaking_head: Overview # The software birthmark methods are proposed to find the stolen software from the huge number of suspects. The software birthmark methods are classified into two manners, static and dynamic manners. Different from the static birthmarks, dynamic birthmarks require inputs since they base on runtime behaviors. Also, the dynamic birthmark varies depending on the inputs, therefore, it is difficult to extract beforehand. Hence the extraction cost of the dynamic birthmarks is generally high than the static birthmarks. This paper focuses on unit test codes in a project in order to extract the dynamic birthmarks beforehand, and reduce the extraction cost. The experiments evaluated the credibility and resilience performance of the birthmarks. The performance evaluation showed good results, the similarities were greater than 0.8 between most recent two versions of the same products, and were under 0.355 among different projects. In the cost evaluation, the proposed method can reduce the extraction cost of dynamic birthmarks.