Erina Makihara

dblp:145/4105 · DBLP profile ↗
← Back
10ranked-venue papers
3as first author
6since 2021 · last 2025
0009-0008-8777-619XORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 8 · 3 first-author · 4 since 2021Artificial intelligence and machine learning · 1 · 1 since 2021Databases, data management, data science and information retrieval · 1Human-computer interaction and ubiquitous computing · 1 · 1 since 2021
YearPublicationVenuePosition
2025 BiFuzz: A Two-Stage Fuzzing Tool for Open-World Video Games
abstract
Open-world video games present a broader search space than other video games, posing challenges for test automation. Fuzzing, which generates new inputs by mutating an initial input, is commonly used to uncover issues. In this study, we proposed BiFuzz, a two-stage fuzzer designed for automated testing of open-world video games, and investigated its effectiveness. The results revealed that BiFuzz mutated the overall strategy of gameplay and test cases, including actual movement paths, step by step. Consequently, BiFuzz can detect character stuck issues. The tool and its video are at https://github.com/ Yusaku-Kato/BiFuzz and https://www.youtube.com/watch? $\mathbf{v}=$ VOrHfnLJSbk. Index Terms-open-world video game, fuzzing
Yusaku Kato, Norihiro Yoshida, Erina Makihara, Katsuro Inoue
APSEC3
2025 A Block-Based Educational Tool for Novice Understanding of State Machine Representation
abstract
UML state machine diagrams describe event-driven behavior, but novices struggle to understand how syntactic elements relate to semantics, making learning difficult. Blockbased programming environments such as Scratch, by contrast, are familiar to younger learners and provide an accessible, executable way to explore computational concepts, allowing trial-and-error execution that may ease this understanding. Motivated by this potential, we present a block-based educational tool to support novice learning of state machine representation. Built on Blockly, the tool provides state-machine-oriented blocks that novices can assemble into executable behaviors. To aid comprehension, assembled blocks can be executed with logs and transformed into UML state machine diagrams in PlantUML, linking block assemblies with state machine modeling. In this demonstration, we highlight features that reduce burden for instructors and novices: easy deployment, automatic import of modeling elements (e.g., state names and triggers) defined in JSON as blocks, immediate execution with logs, and diagram generation. As a preliminary evaluation, we surveyed 8 university students with prior exposure to state machine diagrams. While some difficulties arose with specific blocks, no major issues were found. These results suggest that block-based representation may help novices learn state machine concepts more smoothly and support gradual introduction to UML notation. The prototype tool has been released for public access at https://github.com/ 25w6051b/BlockSM, and a demonstration video is also available at https://youtu.be/ZzVBhjWq1zY.
Nichika Takasu, Shinpei Ogata, Kozo Okano, Erina Makihara
APSEC4
2023 A Method to Semi-Automatically Identify and Measure Unmet Requirements in Learner-Created State Machine Diagrams
abstract
The UML (Unified Modeling Language) state machine diagram notation is challenging for learners to understand because of its complexity. Therefore, educators assign modeling assignments to learners to assess their understanding. If learners do not fully understand the notation, they may make errors in their diagrams. To improve learners’ understanding, educators provide the learners with explanations of what and why the diagrams unmet the requirements of the modeling assignments. However, the variety of content and layout in Learner-created diagrams can be challenging for educators to accurately and quickly identify the unmet requirements in each diagram. Therefore, this study proposes a method to semi-automatically identify and measure unmet requirements in Learner-created diagrams. The proposed method was applied to 38 state machine diagrams created by learners to evaluate its effectiveness. Consequently, the proposed method gave reasonable results for 37 out of 38 diagrams (approximately 97%).
Takuma Kimura, Shinpei Ogata, Erina Makihara, Kozo Okano
CSEE&T3
2022 Comparison of Different Keyphrase Extraction Algorithms for Supporting Problem Selection in Online Judge System
abstract
Online Judge System support the self-study of programming learners. However, it is difficult for learners to select appropriate problems owing to the number of problems posted. Therefore, we support problem selection by automatically extracting keyphrases from the problems using keyphrase extraction. Using keyphrase, we can summarize and adequately tag the problems. This paper compares unsupervised keyphrase extraction algorithms that do not use a corpus to determine the best algorithm for Online Judge system: TextRank, PositionRank, TopicRank, MultipartieRank, and YAKE. We also discuss features for keyphrase extraction.
Ryota Shinhama, Erina Makihara, Keiko Ono, Akitaka Yaguchi, Ayumu Taisho
APSEC2
2021 Differential Evolution Neural Network Optimization with Individual Dependent Mechanism
abstract
With the increase of scenes where Neural Networks are used as a classifier, the expectation of the classifying accuracy for the network has risen. To improve classifying accuracy, Differential Evolution (DE) has been applied as an optimization method for Neural Networks. Compared to other DE methods, Differential Evolution with an Individual-Dependent Mechanism (IDE) takes in account of the differences between the fitness value of individuals. As a result, IDE has better results in terms of accuracy. Therefore in this paper, a Neural Network optimizer using IDE is proposed for further Neural Network improvement. Moreover, while most optimizers would use the loss function as the fitness value in DE, a method using accuracy is proposed because DE does not require the activation function to be differentiable. Experiments using the proposed framework has been conducted on classification problems, and comparative studies with other self-adaptive mutations and traditional optimizing methods have been performed. Experimental results showed that the proposed method outperformed other conventional methods in terms of accuracy.
Naoya Ikushima, Keiko Ono, Yuya Maeda, Erina Makihara, Yoshiko Hanada
CEC4
2021 Property Lifecycle Diagram for Tracing State Machine Diagram Changes
Shinpei Ogata, Yusuke Nishizawa, Erina Makihara, Mizue Kayama, Kozo Okano
ENASE3
2020 Understanding Build Errors in Agile Software Development Project-Based Learning
abstract
Recently, various institutions have been conducting advanced programming education aimed at experiencing agile software development in the form of project-based learning (PBL). In the agile software development model, an essential part is the build process. In this study, we investigated students' build behaviors in agile software development PBL (SDPBL) by monitoring and collecting logs of the build process from 2013 to 2016. In our investigation, we collected two types of logs, the local build logs collected by each student's build in their own local programming environment, and remote build logs collected by any team member's commit in team repository. Based on our analysis of the build logs from 2013 to 2015, we found that the causes of remote build errors are related to both technical factors and communications among students in a team. In 2016, the instructors tried to educate to students the reason why the remote build error occur and how it can be resolved. As a result, in 2016, the number of remote build errors and the time required to solve the build errors decreased compared to previous years. It indicates a possibility that the student's comprehension of build error is effective on improving quality of software product and team development.
Erina Makihara, Hiroshi Igaki, Norihiro Yoshida, Kenji Fujiwara, Hajimu Iida
APSEC1
2016 Detecting exploratory programming behaviors for introductory programming exercises
abstract
Developers often perform the repeating cycle of implementation and evaluation when they need to deal with the unfamiliar portion of the source code. This cycle is named as exploratory programming. We regard exploratory programming as an effective way not only to improve novice's programming skill but also to support educators in programming exercise in University. Because when novices often use the exploratory programming, it means novices struggle to solve their assignments. Therefore, educators should grasp which elements, APIs or blocks novices often used exploratory programming for. In this paper, firstly we propose the definition of novice's exploratory programming to collect logs of exploratory based on various granularity by novices. Secondly, we propose an algorithm based on our proposed definition to automatically detect exploratory programming behaviors. We also conducted a small case study. As a result of automatic detection, our proposed algorithm allows us to know what elements of program novices often feel difficult and struggle for.
Erina Makihara, Hiroshi Igaki, Norihiro Yoshida, Kenji Fujiwara, Hajimu Iida
ICPC1
2015 Pockets: a tool to support exploratory programming for novices and educators
abstract
Exploratory programming is one of the programming techniques, and it is considered to be an effective way to improve programming skills for novices. However, there is no existing system or programming environment educating exploratory programming for novices. Therefore, we have developed a tool, named as Pockets, to support novice's exploratory programming. Through Pockets, educators are able to identify where and when novices experience difficulties during exploratory programming. In addition, it is possible to assist educators' mentoring by referring collected logs through the proposed system. We have also conducted a case study and evaluated the usefulness of the tool. As a result, Pockets makes novices' exploratory programming more efficient, and also allows more accurate advice by educators.
Erina Makihara
ESEC/SIGSOFT FSE1
2014 Kataribe: a hosting service of historage repositories
abstract
In the research of Mining Software Repositories, code repository is one of the core source since it contains the product of software development. Code repository stores the versions of files, and makes it possible to browse the histories of files, such as modification dates, authors, messages, etc. Although such rich information of file histories is easily available, extracting the histories of methods, which are elements of source code files, is not easy from general code repositories. To tackle this difficulty, we have developed Historage, a fine-grained version control system. Historage repository is a Git repository which is built upon original Git repository. Therefore, similar mining techniques for general Git repositories are applicable to Historage repositories. Kataribe is a hosting service of Historage repositories, which enables researchers and developers to browse method histories on the web and clone Historage repositories to local. The Kataribe project aims to maintain and expand the datasets and features.
Kenji Fujiwara, Hideaki Hata, Erina Makihara, Yusuke Fujihara, Naoki Nakayama, Hajimu Iida, Ken-ichi Matsumoto
MSR3