Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Tetsuya Kanda is active.

Publication


Featured researches published by Tetsuya Kanda.


source code analysis and manipulation | 2014

Identifying Source Code Reuse across Repositories Using LCS-Based Source Code Similarity

Naohiro Kawamitsu; Takashi Ishio; Tetsuya Kanda; Raula Gaikovina Kula; Coen De Roover; Katsuro Inoue

Developers often reuse source files developed for another project. In order to update a reused file to a newer version released by the original project, developers have to track which revision of a file was reused and how its content was modified. However, such tracking is tedious for developers. Many projects keep older versions of files whose bugs are already fixed in the original project. In this paper, we propose a technique to automatically identify source code reuse relationships between two repositories. Using a similarity metric based on longest common subsequence, we identify pairs of similar revisions of files across the repositories. To evaluate our approach, we have analyzed eight project pairs of open source software projects and compared the result with the recorded information in the repositories. As a result, we have identified 1394 file revisions as instances of source code reuse. While 75.3% of the instances are recorded in the repositories, 20.1% of the instances are unrecorded but recovered by our approach.


mining software repositories | 2015

A method to detect license inconsistencies in large-scale open source projects

Yuhao Wu; Yuki Manabe; Tetsuya Kanda; Daniel M. German; Katsuro Inoue

The reuse of free and open source software (FOSS) components is becoming more and more popular. They usually contain one or more software licenses describing the requirements and conditions which should be followed when been reused. Licenses are usually written in the header of source code files as program comments. Removing or modifying the license header by re-distributors will result in the inconsistency of license with its ancestor, and may potentially cause license infringement. But to the best of our knowledge, no research has been devoted to investigate such kind of license infringements nor license inconsistencies. In this paper, we describe and categorize different types of license inconsistencies and propose a feasible method to detect them. Then we apply this method to Debian 7.5 and present the license inconsistencies found in it. With a manual analysis, we summarized various reasons behind these license inconsistencies, some of which imply license infringement and require the attention from the developers. This analysis also exposes the difficulty to discover license infringements, highlighting the usefulness of finding and maintaining source code provenance.


software product lines | 2013

Extraction of product evolution tree from source code of product variants

Tetsuya Kanda; Takashi Ishio; Katsuro Inoue

A large number of software products may be derived from an original single product. Although software product line engineering is advocated as an effective approach to maintaining such a family of products, re-engineering existing products requires developers to understand the evolution history of the products. This can be challenging because developers typically only have access to product source code. In this research, we propose to extract a Product Evolution Tree that approximates the evolution history from source code of products. Our key idea is that two successive products are the most similar to one another in the evolution history. We construct a Product Evolution Tree as a minimum spanning tree whose cost function is defined by the number of similar files between products. As an experiment, we extracted Product Evolution Trees from 6 datasets of open-source projects. The result showed that 53% to 92% of edges in the extracted trees were consistent with the actual evolution history of the projects.


mining software repositories | 2016

Software ingredients: detection of third-party component reuse in Java software release

Takashi Ishio; Raula Gaikovina Kula; Tetsuya Kanda; Daniel M. German; Katsuro Inoue

A software product is often dependent on a large number of third-party components.To assess potential risks, such as security vulnerabilities and license violations, a list of components and their versions in a product is important for release engineers and security analysts.Since such a list is not always available, a code comparison technique named Software Bertillonage has been proposed to test whether a product likely includes a copy of a particular component or not.Although the technique can extract candidates of reused components, a user still has to manually identify the original components among the candidates.In this paper, we propose a method to automatically select the most likely origin of components reused in a product, based on an assumption that a product tends to include an entire copy of a component rather than a partial copy.More concretely, given a Java product and a repository of jar files of existing components, our method selects jar files that can provide Java classes to the product in a greedy manner.To compare the method with the existing technique, we have conducted an evaluation using randomly created jar files including up to 1,000 components.The Software Bertillonage technique reports many candidates; the precision and recall are 0.357 and 0.993, respectively.Our method reports a list of original components whose precision and recall are 0.998 and 0.997.


software visualization | 2015

Extracting a unified directory tree to compare similar software products

Yusuke Sakaguchi; Takashi Ishio; Tetsuya Kanda; Katsuro Inoue

Source code is often reused in software development. Although developers can avoid re-implementing features in existing products, doing so may result in a large number of similar software products. To understand the commonalities and variabilities of similar products, comparing their source code is critical. However, a product may change its own directory structure, even if the products share the same source code with other products. Hence, comparing source code among products in a systematic manner is difficult. In this paper, we propose a technique to extract and visualize a unified directory tree to compare the source code of similar products. This tree includes all directories of given products and merges corresponding directories into a single node. Since a node in a tree corresponds to multiple directories in products, developers can easily compare the contents of products. In our study, we implemented the visualization as a GUI tool. In addition, we conducted a case study using four Android products to demonstrate the tools ability to assist developers in accessing the source code of multiple products.


international workshop on principles of software evolution | 2015

Estimating product evolution graph using Kolmogorov complexity

Yasuhiro Hayase; Tetsuya Kanda; Takashi Ishio

This paper proposes a method of estimating a product evolution graph based on Kolmogorov complexity. The method EEGL applies lossless compression to the source code of products, then, presumes a derivation relationship between two products when the increase of information between the two products is small. An evaluation experiment confirms that EEGL and an existing method PRET tends to produce different errors when estimating evolution graph results.


IEICE Transactions on Information and Systems | 2013

Semi-Automatically Extracting Features from Source Code of Android Applications

Tetsuya Kanda; Yuki Manabe; Takashi Ishio; Makoto Matsushita; Katsuro Inoue


The IEICE transactions on information and systems | 2016

Comparing Frequency of Identifier Definition in C and Java APIs

Tetsuya Kanda; Daniel M. German; Takashi Ishio; Katsuro Inoue


IEICE Transactions on Information and Systems | 2015

Approximating the Evolution History of Software from Source Code

Tetsuya Kanda; Takashi Ishio; Katsuro Inoue


Electronic Communication of The European Association of Software Science and Technology | 2014

Measuring Copying of Java Archives

Tetsuya Kanda; Daniel M. German; Takashi Ishio; Katsuro Inoue

Collaboration


Dive into the Tetsuya Kanda's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge