Hiroshi Igaki

Hiroshi Igaki
Osaka Institute of Technology · Faculty of Information Science and Technology

Doctor of Engineering

About

115
Publications
22,441
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
583
Citations
Citations since 2016
34 Research Items
266 Citations
2016201720182019202020212022010203040
2016201720182019202020212022010203040
2016201720182019202020212022010203040
2016201720182019202020212022010203040
Additional affiliations
April 2015 - present
Osaka Institute of Technology
Position
  • Professor (Associate)
October 2011 - March 2015
Osaka University
Position
  • Professor (Associate)
October 2011 - present
enPiT CloudSpiralプロジェクト
Position
  • Professor (Associate)
Description
  • 文部科学省 分野・地域を越えた実践的情報教育協働ネットワークプロジェクト「enPiT」クラウドコンピューティング分野 大阪大学拠点 CloudSpiralにおいて,クラウドコンピューティング技術を利用したアジャイルソフトウェア開発教育に従事.

Publications

Publications (115)
Article
Full-text available
我々は受講生のプログラミング演習時におけるコーディング過程を記録し,可視化して講師に提示するシステム C3PV を提案する.本システムは,ウェブ上で動作するオンラインエディタとコーディング過程ビューから構成されている.オンラインエディタは受講生のコーディングプロセスにおける,文字入力,コンパイル,実行,提出といったすべての行動を記録する.コーディング過程ビューは課題の進み具合いや受講者の相対的な進捗遅れを可視化して講師に提示する.講師はあるエラーに関して長時間悩んでいる受講生や全体の進捗と比較して遅れている受講生を C3PV によって確認し,個別指導といった支援につなげることができる.本研究では実際に C3PV を学部 1 年生が受講する Java プログラミング演習に適用し,C3PV によ...
Article
Full-text available
Sensor-driven services often cause chain reactions, since one service may generate an environmental impact that automatically triggers another service. We first propose a framework that can formalize and detect such service chains based on ECA (event, condition, action) rules. Although the service chain can be a major source of feature interactions...
Conference Paper
モブプログラミングと呼ばれる,チームでのソフトウェア開発手法が普及しつつある.モブプログラミングでは1つの端末の周りに3人以上のチームで集まり,端末を操作するドライバと開発画面を見ながら意見を出してドライバをサポートするナビゲータに分かれ,役割を短時間で交代しながら開発を進めていく. テレワークの普及や感染症の影響による外出自粛要請等が行われる昨今では,モブプログラミングをリモート環境で行う事例が多く報告されるようになりつつある.一方でリモートモブプログラミングでは,チームメンバが1つの端末に集まる場合と比較して,コミュニケーションの課題があることも分かってきている.そこで我々の研究グループではリモートモブプログラミングに特化したビデオ会議システムの開発を進めている.本稿では,リモートモブプ...
Conference Paper
大学などで実施されるプログラミング演習において,学生のプログラミング行動を収集したログから推定し,分析する手法についての研究が数多く行われている.Withコロナを見据えたリモート環境も考慮したプログラミング演習を進めていくためには,これまでよりも行き詰まっている学生などの兆候を教員が早期に知ることが重要となる.本研究では,ユーザのプログラミング行動の特定を目的として,少人数を対象とした実験環境で収集する詳細なログにもとづく分析結果を,大人数を対象とした実際の授業環境にどの程度適用可能であるかについて比較検討を行う.
Conference Paper
Team exercises for software development project-based learning (SDPBL) adopting an agile development model have become popular for training and education worldwide. In the agile development model, an essential part is the build process. In this study, we investigated students’ build errors in agile SDPBL projects by monitoring and collecting logs o...
Conference Paper
リモート環境でのプログラミング演習では,対面で実施する場合と比較してより学生がどこに詰まっているかを早期に教員が確認できることが重要となる.そこで本研究では,ユーザのプログラミング行動特定のための様々な仮説を検証するため,学生がプログラミングを行う際のファイル編集やコマンド実行の履歴を収集して仮説にもとづいて分析し,実際の行動と比較する手法を検討する.
Conference Paper
複数人でチームを組んでソフトウェアを開発する手法の一つとしてモブプログラミングというものが知られている.モブプログラミングとは1つの端末を使って複数人でソフトウェアを開発する手法である.開発者らは端末を操作するドライバと呼ばれる役割と開発画面を見ながら意見を出してドライバをサポートするナビゲータと呼ばれる役割に分かれ,役割を短時間で交代しながら開発を進めていく. 昨今のテレワークの普及や感染症の影響による自粛要請等の世界情勢において,このモブプログラミングをリモート環境で行う事例が増加しつつある.著者らが実際にリモート環境でモブプログラミングを実施した結果,対面でのモブプログラミングと比較して,引き継ぎやドライバ・ナビゲータ間のコミュニケーションにおける課題が有ることが分かった.そこで本研究...
Technical Report
Full-text available
サーバ管理演習とは, Web サービスの構築などに必要なサーバに関する基礎的な知識やノウハウを実習形式で行う演習である.我々は先行研究において,学生の進捗状況の把握や課題の誤り原因の特定を目的として,サーバ管理演習における 3 種類の履歴情報をログとして記録・可視化するログ収集可視化環境の構築を行った.本稿では,履歴情報の一つであるサーバ状況確認履歴を用いて演習課題ごとの正誤判定を支援する仕組みについて述べる
Conference Paper
Full-text available
機械学習エンジニアの育成を目的として,様々な教育プロジェクトやコンテンツの開発が行われている.最近では kaggle などの大量のデータにもとづいて機械学習手法による予測を行うといった題材だけでなく, Amazon DeepRacer や Donkey Car といった小型の自律移動ロボットカーを用いた機械学習教育のためのコンテンツなども数多く開発されている.本稿では, NVIDIA 社が公開している小型自律移動ロボットカー「 JetBot 」を題材に,初学者が取り組みやすいミッションクリア型の教育コンテンツの開発と評価に関する検討内容を示す.
Conference Paper
Full-text available
プロジェクト学習やワークショップなどの複数の学生が協調し,目的を達成することでコミュニケ―ション能力などの育成を目的とする教育プログラムが様々な教育機関で実施されつつある.またコミュニケーション能力の評価を行うためのスキルの尺度化も行われている.本稿では,アイコンタクトや前傾姿勢などの行動スキルに関する項目の評価を目的として,市販されている全方位カメラのみを用いたユーザの注視状況推定手法の開発を行い,これに対して全方位カメラの設置位置やユーザの着席位置などのディスカッション環境について影響を与えうる項目について実験 を行い,結果をもとに考察を行った.
Technical Report
Full-text available
プロジェクト学習やワークショップにおけるディベートといった,複数の学生が協調し,目的を達成することでコミュニケーション能力をはじめとしたジェネリックスキルの育成を目指す教育プログラムが様々な教育機関で実施されている. また,対話時のコミュニケーションスキルの評価を目的として,聴くスキルの尺度化も行われている. 本稿では,聴くスキルの中でもアイコンタクトや前傾姿勢に関する項目の評価を目的として,ユーザの注視状況を市販の360度カメラのみを用いて推定する手法を提案する.ケーススタディとして,固定された椅子に着席した4名の参加者を対象として注視状況の推定精度を評価する実験を行った結果,70% 程度の割合で誰が誰を見ているかを正しく推定できることが確認できた.
Conference Paper
Full-text available
我々はサーバ管理技術の育成を目的とした演習授業における学生の進捗状況の把握や課題の誤り原因の特定を目的として,サーバ管理演習おける学生の操作履歴を 3 種類のログとして記録するログ収集・可視化環境を構築した.本稿では, 3 種類のログのうちのサーバ状況確認履歴を利用し,学生がどの課題までを正しく実施できているかを自動的に判定する仕組みの検討を行う.
Technical Report
Full-text available
Along with making the programming education at elementary schools compulsory, many educational games are being developed with the aim of fostering computational thinking. We propose a two player game which incorporates elements of program understanding. In our game, a player creates a program combining the arrows to move his piece in order to fill...
Conference Paper
Team exercises for software development project-based learning (SDPBL) adopting an agile development model have become popular for training and education worldwide. In the agile development model, an essential part is the build process. In this study, we investigated students' build errors in agile SDPBL projects by monitoring and collecting logs o...
Article
In programming exercise, it is difficult for educators to grasp each student's progress in real-Time and provide them with accurate advice. In this research, we focus on exploratory programming. Exploratory programming is the repetition circle of edit-compile-run when a programmer needs to deal with an unfamiliar portion of source code. Our propose...
Article
Full-text available
This paper proposes an approach to identify pitfalls of students in programming exercise by using snapshots of source code. Proposed method calculates distances between a snapshot and submitted source code by student. This method identifies pitfalls based on these distances and then, provides pitfalls to the lecturers. We applied our method into th...
Article
Full-text available
Along with the spread of IoT technology, it is required to nurture IoT human resources who can develop innovative IoT systems in cooperation with others. Therefore, many educational institutions conduct exercise classes that let students develop IoT systems based on the procedure manuals. Such institutions often adopt PBL to nurture team developmen...
Technical Report
ソフトウェア開発において,版管理システムをチームでどのように利用するかは非常に重要な課題である.特にGit のようなブランチを利用した開発が前提となる版管理システムの場合,無秩序にブランチを作成したり,コミットを行ったりすることで,ブランチの統合作業が煩雑になり,結果としてソフトウェアに不具合が生じることがある.そこで,GitHub Flow を始めとした版管理システムの利用ルールを集約したソフトウェア開発フローが複数提案されている.本稿では,GitHub Flow を題材とし,コミット等の開発履歴から開発フローに定められたルールをどの程度遵守できているかを検出・可視化する手法について検討する.
Technical Report
クラウドコンピューティング技術が普及しつつある昨今において,人材育成を目的としたサーバ管理を伴う演習が様々な教育機関で実施されるようになっている.コマンドの打ち間違いや設定ファイルの編集ミス等多様な原因による不具合が発生した際,如何に迅速に対処できるかは非常に重要な課題である.本研究では,学生を対象としたサーバ管理演習において,各学生がどのようなコマンドをいつ実行し,設定ファイルをどのように編集したか,また,その結果サーバ環境がどのように変更されたかをログとして収集する仕組みを提案する.結果として,不具合の症状だけでなく学生の行動履歴が確認できるようになることで,不具合の解決だけでなく,何が原因で不具合が発生したかを特定することも可能となった.
Article
Full-text available
ソフトウェア開発においてビルドは重要な工程の1つである. 多くの既存研究が企業のソフトウェア開発においてビルドが成果物の品質へ与える影響やビルドの支援手法を調査している. 一方,高等教育機関で開講されている,ソフトウェア開発PBL演習における学生のビルド活動の実態調査は十分に行われていない. そこで,我々はアジャイル開発を取り入れたソフトウェア開発PBLにおいて,学生のビルドエラーの実態調査を行い,学生が陥りやすいビルドエラーの特徴を分析した. 具体的には,学生が個人の開発環境において行うローカルビルドと,チーム共用開発環境で行われるリモートビルドを調査した. ローカル/リモートビルドにおけるエラーの種類,各種エラーの回数や解決時間を調査・比較したところ, 学生も実務家同様ファイル間の要...
Conference Paper
Full-text available
本論文では,プログラミング演習時に収集したソースコードのスナップショットを分析することで,受講生がいつ,どのような箇所で行き詰まっていたのかを特定する手法を提案する.提案手法では,受講生のある時点におけるソースコードと,その受講生が提出したソースコードの差分を求めることで,受講生の演習における作業量を定量化する.そして,定量化した作業量にもとづいて受講生の行き詰まり箇所を特定し講師へ提示する.提案手法を実際のプログラミング演習において収集したスナップショットに適用することで,37 名の受講者のスナップショットから 46件の行き詰まり箇所を特定することができた.また,適用結果からは受講生のプログラミング言語の仕様に対する理解不足,課題におけるアルゴリズムの理解不足,課題に対する誤解といった原因...
Conference Paper
Full-text available
高度なIoTスキルを備え,イノベーションを創出可能なIoT人材の育成が重要視されつつある昨今,IoT技術やチームでの開発技術についての基礎的な素養を効率よく教育することが求められている. そのため,PBL(Project-based Learning)形式の授業を採用し,チーム開発プロセスやコミュニケーションスキルといった汎用的技能とIoT技術についての基礎教育を行う教育機関が増加しつつある. PBLを採用した基礎教育には学生の知識・技術レベルに応じたIoT教材の難易度調整やチーム開発技術の育成を考慮したチーム開発プロセスといった様々な課題が存在する. 本稿において我々はこれらの課題の改善を目指し,再利用可能なIoT教材や開発プロセスを含むPBLフレームワークについて検討する.
Conference Paper
To enhance the quality of software, many software development support tools and software development methodologies have been proposed. However, not all proposed tools and methodologies are widely used in software development. We assume that the evaluation of tools and methodologies by developers is different from the evaluation by researchers, and...
Conference Paper
Modern OSS projects have adopted Git to manage versions of their source code and GitHub for hosting their Git repositories. GitHub provides a characteristic feature notably pull request, and many projects adopt pull-based development model by using it. This development model offers an opportunity to review the source code before merging it into the...
Article
Full-text available
Results from code clone detectors may contain plentiful useless code clones, but judging whether each code clone is useful varies from user to user based on a user’s purpose for the clone. In this research, we propose a classification model that applies machine learning to the judgments of each individual user regarding the code clones. To evaluate...
Conference Paper
Full-text available
In software development, multiple developers compose a team, and perform a development process. To succeed the development, understanding developers' characteristics are needed. However, there is no way to measure the characteristics of the developer by quantitative analysis. Therefore, a project manager often assigns team members based on his/her...
Conference Paper
Full-text available
Developers often reuse existing software by copy and paste. Source code reuse improves productivity and software quality. On the other hand, source code reuse requires several professional skills to developers. In source code reuse, developers must locate reusable code fragments, and judge whether such reusable code is adequate to copy and paste in...
Article
Full-text available
ソフトウェア開発教育の一環として,ScrumやXPといったアジャイルソフトウェア開発を採り入れたチームによるソフトウェア開発演習を実施する大学が増加しつつある.一方で,演習によるアジャイルソフトウェア開発教育には複数の課題が存在する.代表的なアジャイル開発フレームワークの1つとして知られるScrumでは,プロジェクトを検査し,自己組織的にプロジェクトの状況に適応し続けることが求められる.しかしながら,チームでの開発経験が少ない受講生には,プロジェクトの状況がどうであるかを検査すること自体が困難である.また,受講生によるチーム開発では,担当するタスクの種類や量が偏りがちである.我々はこれらの課題の解決を目指し,チケット駆動開発と呼ばれる開発手法とScrumフレームワークを組み合わせることにより...
Article
Full-text available
PBL形式による実践的なソフトウェア開発演習(ソフトウェア開発PBL)では,チームの状況に合わせた適切なフィードバックが重要である.しかしながら,ソフトウェア開発は複数の要素が複雑に絡み合う作業であり単一の指標だけでは評価は難しく,またチームの状況把握は指導者にとって負担が大きい.本論文では,ソフトウェア開発PBLを三つのフェーズに分け,それぞれのフェーズにおける適切なフィードバックについて検討する.また,教育的な配慮からチーム内の役割分担も考慮に入れた複数の側面からの評価基準を設定し,フェーズごとに適切なフィードバックを行うための状況把握支援環境としてプロジェクトの問題の可能性を提示するツールを提案する.実際のソフトウェア開発PBLにおいて提案手法の支援に基づくフィードバックを実施し,状況...
Conference Paper
Full-text available
Developing software by teams which adopted the agile de-velopment methodology such as Scrum seems totally natu-ral in industry. On the other hand, students belonging to graduate schools of information science who have some ex-perience on the agile team software development are rare. In the initial education on the Scrum, there exists some challenge...
Conference Paper
Developers often use null references for the returned values of methods (return null) in object-oriented languages. Although developers often use return null to indicate that a program does not satisfy some necessary conditions, it is generally felt that a method returning null is costly to maintain. One of the reasons for is that when a method rec...
Article
Full-text available
高度なソフトウェア技術者や高度ICT(Information and Communication Technology) 人材の育成を目的として,ソフトウェア開発をテーマとしたPBL(Project-based Learning)と呼ばれる教育・学習手法が様々な形態で行われている. PBLでは,振り返りと呼ばれるプロジェクト中にあった問題の発見,原因の分析,対策の考案といった,プロジェクトを継続的に改善することを目的とした活動が重要視されている.ここで,問題の発見や原因の定量的で客観的な分析を行うためには,プロジェクト中に誰がどのようなタスクをいつ実施したかといった正確なタスク記録が必要不可欠である. しかしながらPBLでは,タスク記録時に記述漏れや入力誤りが発生することがある.実際に過去に...
Article
Code clone analysis is valuable because it can reveal reuse behaviours efficientlyfrom software repositories. Recently, some code reuse analyses using clonegenealogies and code clones over multiple projects were conducted. However, mostof the conventional analyses do not consider the developers’ individual difference toreuse behaviors. In this pape...
Conference Paper
On the software development PBL (SDPBL), the implementation of firmly-fused development environment for students and monitoring environment for teachers are required in order to succeed in education. We have proposed the service, named "DaaS BADER" in compliance with demands from practical teachers to decrease the cost for preparation and maintenan...
Article
Full-text available
Indoor location platforms that provide human movement history for location-based applications are expected to spread into every home environment. Most of the platforms, however, are designed for a dedicated environment and a single application. Since the hardware and software components of a platform are strongly linked to an application, it is dif...
Conference Paper
Full-text available
A variety of methods detecting code clones has been proposed before. In order to detect gapped code clones, AST-based technique, PDG-based technique, metric-based technique and text-based technique using the LCS algorithm have been proposed. However, each of those techniques has limitations. For example, existing AST-based techniques and PDG-based...
Article
Full-text available
これまでにソースコード中からコードクローン(互いに類似するコード片)を自動的に検出するツールが多数開発されている.これらの検出ツールはコードクローンを多数検出するが,それらすべてがソフトウェア保守に有用であるとは限らない.さらに,あるコードクローンが有用であるか否かの判別基準は,個々の開発者により,あるいはコードクローン情報の使用目的などにより異なる可能性が高い.そこで本稿では,機械学習を用いた有用なコードクローンの自動特定手法を提案する.提案手法は,ツールによって検出されたコードクローンの一部を利用者に有用であるか否かに分類してもらい,それらを学習データとして残りのコードクローンからその利用者にとって有用なコードクローンを自動的に特定する.また,提案手法を実装し,被験者を用いて評価実験を行...
Article
ソフトウェア間にまたがるコードクローンを検出することは,多くのプロジェクトに頻出する処理 のライブラリ化による開発効率の向上やライセンスに違反したソースコード流用の特定などの観点から有 益である.しかし,既存の研究ではこのようなコードクローンの検出に多大な時間を必要とし,また高速 に検出を行うファイル単位の検出手法でもファイルの一部がコードクローンである場合は検出できないと いう問題点を抱えている.本研究では,大規模なソフトウェア群からメソッド単位のコードクローンを高 速に検出する手法を提案する.実験の結果,提案手法は約3 億6 千万行のソースコードから約4.45 時間で コードクローン検出を終了し,検出したコードクローンの40%はファイル単位の手法では検出できないこ とが確認...
Chapter
In order to support legacy migration to the service-oriented architecture (SOA), this paper presents a pragmatic method that derives candidates of services from procedural programs. In the SOA, every service is supposed to be a process (procedure) with (1) open interface, (2) self-containedness, and (3) coarse granularity for business. Such service...
Conference Paper
In software maintenance, grasping characteristics of software systems by metrics measurement is a basic activity. However, metrics do not always represent characteristics of software systems. For example, Cyclomatic Complexity is a metric counting the number of branches in a given module, and it does not consider its content. One factor that Cyclom...
Conference Paper
Full-text available
It is crucial for educators to understand pitfalls for novice programmers in programming education at computer science course. By giving well-timed advice to students who fall into a pitfall, educators are able to achieve efficient teaching and keep up their students' motivation. However, so far, it is less well-understood how novice students edit...
Conference Paper
Full-text available
Libraries created from commonly used functionalities offer a variety of benefits to developers. To locate such widely used functionalities, clone detection on a large corpus of source code could be useful. However, existing clone detection techniques did not address the creation of libraries. Therefore, existing clone detectors are sometimes unbefi...
Conference Paper
Full-text available
A variety of code clone detection methods have been proposed before now. However, only a small part of them is widely used. Widely-used methods are line-based and token-based ones. They have high scalability because they neither require deep source code analysis nor constructing complex intermediate structures for the detection. High scalability is...
Conference Paper
In order to reduce coupling and increase cohesion, we refactor program source code. Previous research efforts for suggesting candidates of such refactorings are based on static analysis, which obtains relations among classes or methods from source code. However, these approaches cannot obtain runtime information such as repetition count of loop, dy...
Conference Paper
This paper summarized experiences of practical software development exercise in PBL style activities from organizer perspective. The object of this PBL is nurturing advanced knowledge as advanced information and communication technology (ICT) engineers. A main pillar of this report is trace the 5-year history of three sub environments such as devel...
Conference Paper
In recent years, the increased failure originated in the software defects, in various information systems causes a serious social problem. In order to build a high-quality software, cultivation of ICT (Information and Communication Technology) human resources like a software engineer is required. A software development PBL (Project-based Learning)...
Conference Paper
Results from code clone detectors may contain plentiful useless code clones, and judging whether a code clone is useful varies from user to user based on different purposes of them. We are planing a system to study the judgment of each individual user by applying machine learning algorithms on code clones. We describe the reason why individual judg...
Conference Paper
Refactoring is important for efficient software maintenance. However, manual operations for refactoring are complicated, and human-related errors easily occur. Tool support can help users to apply such a complicated refactoring. This paper proposes a refactoring support tool with Form Template Method pattern. The developed tool automatically identi...
Article
It is important to choose the right pillow height in order to have smooth turn over motions and a good sleep quality. In our previous works, we studied on the effects of pillow height on turn over motion, based on motion capture data. In this paper, aiming to simplify measurement, turn over motions are measured and analyzed using 9-axis motion sens...
Conference Paper
Full-text available
When multiple sensor-driven services are deployed in the same environment, execution of a service may trigger other services, successively. Such chain reactions of services often cause undesirable feature interactions. This paper presents a framework that can characterize and detect the service chains within the home network system (HNS). We first...
Article
Full-text available
In order to support legacy migration to the service-oriented architecture (SOA), this paper presents a pragmatic method that derives candidates of services from procedural programs. In the SOA, every service is supposed to be a process (procedure) with (1) open interface, (2) self-containedness, and (3) coarse granularity for business. Such service...