Network


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

Hotspot


Dive into the research topics where Yasuhiro Hayase is active.

Publication


Featured researches published by Yasuhiro Hayase.


mining software repositories | 2010

Finding file clones in FreeBSD Ports Collection

Yusuke Sasaki; Tetsuo Yamamoto; Yasuhiro Hayase; Katsuro Inoue

In Open Source System (OSS) development, software components are often imported and reused; for this reason we might expect that files are copied in multiple projects (file clones). In this paper, we propose a file clone detection tool called FCFinder and show the analysis performed with it on the FreeBSD Ports Collection, a large OSS project collection. We found many file clones among similar or related projects, which are systematically introduced from base projects.


automation of software test | 2010

An effective method to control interrupt handler for data race detection

Makoto Higashi; Tetsuo Yamamoto; Yasuhiro Hayase; Takashi Ishio; Katsuro Inoue

Embedded software frequently uses interrupts for timer or I/O processing. If a memory area is used by both an interrupt handler and other routines at the same time, the embedded system has the potential to fail because of unexpected data in the memory. To detect the race conditions of memory, this paper proposes a method of interrupt testing on a CPU emulator. The method consists of two features: one is interrupt generation at the instruction points that possibly causes race conditions; the other is replacing input value from external device to control interrupt handlers. An interrupt is generated just after the program reads or writes data on memory for the purpose of covering all possibility of sharing memory between the interrupt handler and other routines. Sequence of input value from the external device is prepared by hand before program execution. We have applied our method to testing for a race condition of uClinux. The experience of detecting race conditions has shown the mechanism causes interrupts at necessary and sufficient timing compared with random interrupt testing. Also, it is easy to substitute values in memory to detect race conditions.


international workshop on principles of software evolution | 2010

Evolutional analysis of licenses in FOSS

Yuki Manabe; Yasuhiro Hayase; Katsuro Inoue

FOSS (Free and Open Source Software) is repeatedly modified and reused by other FOSS or proprietary software systems. They are released to others under specific licenses whose terms and conditions are usually written on the source-code files as program comments. There are a few researches which automatically analyze the licenses in a FOSS release, but there is no statistical study on the evolution of licenses along the evolution of FOSS. In this paper, we analyze licenses through FreeBSD, OpenBSD, Eclipse, and ArgoUML evolution, using our license analysis tool Ninka, and discuss characteristics on the evolution of the license used in those systems.


Proceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation | 2009

Software component recommendation using collaborative filtering

Makoto Ichii; Yasuhiro Hayase; Reishi Yokomori; Tetsuo Yamamoto; Katsuro Inoue

Software component retrieval systems are widely used to retrieve reusable software components. This paper proposes recommendation system integrated into software component retrieval system based on collaborative filtering. Our system uses browsing history to recommend relevant components to users. We also conducted a case study using programming tasks and found that our system enables users to efficiently retrieve reusable components.


international conference on software maintenance | 2011

ImpactScale: Quantifying change impact to predict faults in large software systems

Kenichi Kobayashi; Akihiko Matsuo; Katsuro Inoue; Yasuhiro Hayase; Manabu Kamimura; Toshiaki Yoshino

In software maintenance, both product metrics and process metrics are required to predict faults effectively. However, process metrics cannot be always collected in practical situations. To enable accurate fault prediction without process metrics, we define a new metric, ImpactScale. ImpactScale is the quantified value of change impact, and the change propagation model for ImpactScale is characterized by probabilistic propagation and relation-sensitive propagation. To evaluate ImpactScale, we predicted faults in two large enterprise systems using the effort-aware models and Poisson regression. The results showed that adding ImpactScale to existing product metrics increased the number of detected faults at 10% effort (LOC) by over 50%. ImpactScale also improved the predicting model using existing product metrics and dependency network measures.


software configuration management workshop | 2005

Revision control system using delta script of syntax tree

Yasuhiro Hayase; Makoto Matsushita; Katsuro Inoue

In an opensource development process developers work together using a revision control system. While getting multi-developers working products together into a single form, merge feature of revision control systems is used. Nowadays, merge operations in existing systems are commonly implemented with a line-by-line approach that can fail if two changes to the same line of code happen at the same time.In this paper, we propose a two-way merge algorithm for source code that exploit the tree structure of modern programming language grammar: the source code is transformed in an intermediate XML representation and the merge operation is conducted on the transformed version.We give an implementation of the algorithm for the Java language for the subversion revision control system.Experiments shown that the proposed algorithm gives more accurate merge result than the existing line-by-line algorithms.


conference on software maintenance and reengineering | 2011

Building Domain Specific Dictionaries of Verb-Object Relation from Source Code

Yasuhiro Hayase; Yu Kashima; Yuki Manabe; Katsuro Inoue

An identifier is an important key in mapping program elements onto domain knowledge for the purpose of program comprehension. Therefore, if identifiers in a program have inappropriate names, developers can waste a lot of time trying to understand the program. This paper proposes a method for extracting and gathering verb-object (V-O) relations, as good examples of naming, from source code written in an object-oriented programming language. For each of several application domains, dictionaries containing the V-O relations are built and evaluated by software developers. The evaluation results confirm that the relations in the dictionaries are adequate in many cases.


international symposium on software testing and analysis | 2008

A criterion for filtering code clone related bugs

Yasuhiro Hayase; Yii Yong Lee; Katsuro Inoue

Software reviews are time-consuming task especially for large software systems. To reduce the efforts required, Li et al. developed CP-Miner, a code clone detection tool that detects identifier naming inconsistencies between code clones as bug candidates. However, reviewers using CP-Miner still have to assess many inconsistencies, since the tool also reports many false-positive candidates. To reduce the false-positive candidates, we propose a criterion for filtering the candidates. In our experiments, filtering with the proposed criterion removed 30% of the false-positive candidates and no true-positive candidates. This result shows that the proposed criterion helps the review task by effectively reducing the number of bug candidates.


conference on software maintenance and reengineering | 2014

Recommending verbs for rename method using association rule mining

Yuki Kashiwabara; Yuya Onizuka; Takashi Ishio; Yasuhiro Hayase; Tetsuo Yamamoto; Katsuro Inoue

An identifier is one of the crucial elements for program readability. Method names in an object-oriented program are important identifiers because method names are used for understanding the behavior of the methods without reading a part of the program. It is well-known that each method name should consist of a verb and objects according to general guidelines. However, it is not easy to name methods consistently since each of the developers may have a different understanding of the verbs and objects used in the method names. As a first step to enable developers to name methods consistently and easily, we focus on the verbs used in the method names. In this paper, we present a technique to recommend candidate verbs for a method name so that developers can use consistent verbs for method names. Given a method, we recommend a list of verbs used in many other methods similar to the given method, by using association rules. We have extracted association rules from 445 OSS projects and applied these rules to two projects. As a result, the extracted rules could recommend the current verbs in the top 10 candidates for 60.6% of the methods covered by our approach. Furthermore, we have identified four meaningful groups of rules for verb recommendation.


international conference on software engineering | 2009

A-SCORE: Automatic software component recommendation using coding context

Ryuji Shimada; Yasuhiro Hayase; Makoto Ichii; Makoto Matsushita; Katsuro Inoue

Reusing software components (e.g. classes or modules) improves software quality and developers productivity. Unfortunately, developers may miss many reusing opportunities since current keyword based component search systems cannot provide reusable components if the developers do not use them. This paper proposes a new automatic component recommendation system which supports various usage scenarios and procedures for component reuse.

Collaboration


Dive into the Yasuhiro Hayase'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