主な論文

書籍

  1. Y. Hachisu, A. Yoshida. A Web based System for Error Correction Questions in Programming Exercise (chapter 6). Artificial Intelligence Technologies and the Evolution of Web 3.0 , IGI Global, pp. 124-143 (2015-02)
    [abst]
    In this chapter, we propose a system for generating error correction questions of programs, which are suitable for developing debugging skills in programming education. The system generates HTML files for answering questions and CGI programs for checking answers. They are deployed on a Web server, and learners read and answer questions on Web browsers. It provides an intuitive user interface; a learner can edit codes in place at the text. To make programs including errors for learning debugging, we have analyzed types of errors and defined the processes of error injection as code transformation patterns. If learners can edit any codes freely, it is difficult to check all possible answers. Instead, we have adopted a strategy to restrict editable points and possible answers from the educational view. A demonstration of error correction questions of the C language is available at http://ecq.tebasaki.jp/.

査読付きジャーナル,トランザクション

  1. 澤田 侑希, 梅田 祐一郎, 蜂巣 吉成, 吉田 敦, 桑原 寛明. プログラミング演習におけるセグメントを用いたソースコードの誤り範囲特定方法の提案. コンピュータソフトウェア, Vol. 40 No. 4, pp. 4_29-4_36 (2023-12)
    [abst]
    プログラミング演習において,学習者のプログラムの誤り範囲を特定する方法を提案する.学習者の解答プログラムと模範解答のプログラムをセグメントと呼ぶコード片に分割し,用意したテストケースをパスするまで学習者プログラムのセグメントを模範解答プログラムのセグメントで置き換えて,誤り範囲を特定する.本論文におけるセグメントは分岐のない連続した文であり,制御文を基にプログラムをセグメントに分割する.ツールを試作し,実用的な時間で誤り範囲を特定できることを確認した.
  2. 蜂巣 吉成, 東 直希, 三上 比呂, 長野 滉大, 吉田 敦, 桑原 寛明. 複数のプログラミング言語の文法知識に起因する制御文の誤りの自動修正ツールの試作. コンピュータソフトウェア, Vol. 39 No. 4, pp. 4_38-4_48 (2022-10)
    [abst]
    C,PHP,JavaScript,Python,Rubyを対象言語とし,制御文について他言語の文法にしたがって記述された場合や複数言語の文法が混在する記述をした場合に自動で修正する方法を提案する.これらの誤りはプログラマが複数のプログラミング言語を学習した際におかしやすい.文法的に誤ったコード片を解析するための式レベルの構文解析方法と制御文の共通モデルを介した言語変換方法を提案する.
  3. 蜂巣 吉成, 吉田 敦, 桑原 寛明, 阿草 清滋. WebベースのC言語プログラミング学習環境のための入力フォーム自動生成方法の提案. コンピュータソフトウェア, Vol. 36 No. 4, pp. 4_18-4_24 (2019-10)
    [abst]
    本研究では,WebベースのC言語プログラミング学習環境に適した入力フォームを,ソースプログラムの入力関数の呼出しから自動生成する方法を提案する.Webによるプログラミング環境も普及しつつあるが,プログラム実行における入力がコマンドラインを前提としているので,Webに適していないという問題点がある.われわれはC言語学習におけるプログラム実行の入力モデルを従来の端末による対話的なストリームモデルからWebの一括入力に適した連想配列モデルに変更した.従来の学習で多く用いられていたscanf関数に代わる入力関数群を提案する.一つのキーに対して複数の値を扱う場合は,値をリストとしてイテレータ的に処理する関数を用いる.Webプログラミング環境は実行前にソースプログラムを解析して,入力関数の呼出しからWebの入力フォームを動的に生成する.フォーム名が連想配列のキーに,入力されたデータが値となる.提案した入力方法を用いて,参考書に記載されているプログラム例を書き直し,コンパイル,実行できることを確認した.
  4. 蜂巣 吉成, 吉田 敦, 桑原 寛明, 阿草 清滋. プログラミング学習用プルーフリーダの試作. コンピュータソフトウェア, Vol. 35 No. 4, pp. 129-135 (2018-10)
    [abst]
    プログラミング学習において 学習者が作成したプログラムが教育者の意図に 合致しているかをチェックするプルーフリーダを試作した. プログラミング学習では,学習者は課題の実行結果例などを参考にプログラムの動作確認をし, 同じ出力が得られたら課題を終了していることが多い. しかし,学習者が作成したプログラムは 教育者が意図した「きれいに書かれたプログラム」とは限らない. 「きれいに書かれたプログラム」の判断基準は課題毎に異なるが, 本研究ではこれを整理し, 教育者が作成した模範解答プログラムと学習者のプログラムを 比較して,教育意図に合っていない「汚く書かれたプログラム」を発見して 指摘するプルーフリーダを試作した.
  5. 蜂巣 吉成, 小林 悟, 吉田 敦, 阿草 清滋. プログラミング演習におけるテストケース評価システムの提案. コンピュータソフトウェア, Vol. 34 No. 4, pp. 54-60 (2017-11)
    [abst]
    プログラミング演習において学習者がテストケースを自分で適切に 設計できるようになることを目指し,本研究では 学習者の作成したテストケースを評価してアドバイスを行うシステムを提案する. 教員はテストケースが適切かどうかを評価するための評価基準と, その基準を満たすテストケースがない場合に表示するアドバイスを記述する. 評価基準は入力データのデータ構造とともに条件判定式として記述する. 学生数人によるテストケース作成の演習を行い, 提案システムの評価を行った.
  6. 蜂巣 吉成, 吉田 敦, 阿草 清滋. プログラムの誤り修正課題および正誤判定プログラムの自動生成. 情報処理学会論文誌: 教育とコンピュータ, Vol. 3 No. 1, pp. 64-78 (2017-02)
    [abst]
    プログラムの誤り修正課題とその正誤判定を行うプログラムを自動生成するツールを提案する. 誤り修正課題は意図的に誤りを混入させたプログラムを学習者に提示し, その誤りを正しく修正させる課題であり,デバッギングやコードリーディングの能力向上に有効である. われわれはプログラムに混入させる誤りを置換,削除,挿入,移動の書換え操作の観点から整理し, 字句系列の書換えルールとして定義した. 誤り修正課題では誤りの箇所だけを編集可能にすると問題が簡単になり, 編集可能箇所を多く設定すると出題者の意図しない修正などが行われることがあり, 正誤判定プログラムの実現が困難になる. 本研究では,正解となる編集箇所とその記述の個数の観点から誤りを整理し, 編集可能箇所を設定する方法を提案する. 誤りプログラムの編集可能箇所を適切に設定することで, 別解を減らして学習の観点から妥当と考える解に限定し, 正解字句と学習者の解答字句を比較することで正誤判定を行う. 正しいプログラムと誤りを混入させるためのプログラム書き換えルール, ダミーの編集可能箇所を指定するルールから, 誤り修正課題をHTMLとして,その正誤判定をCGIプログラムとして生成するツールを試作した. 繰返しや配列,再帰関数,ポインタ,構造体, 選択ソートや二分探索などの構文やアルゴリズム等の学習に関するプログラムに対して誤り修正課題とその正誤判定プログラムが生成できることを確認した.
  7. 吉田 敦, 蜂巣 吉成. 前処理指令に対する制約のない前処理前コードの構文解析手法. 情報処理学会論文誌, Vol. 56 No. 2, pp. 592-610 (2015-02)
    [abst]
    C言語の前処理前コードの構文解析では, 前処理指令の位置などを制約することで構文木を構成するものが多い. 本論文では,構文木の不正確さを許容する代わりに, 前処理指令に対する制約のない構文解析の手法を提案する. この解析では,前処理指令を無視して構文解析を行うとともに, 構文規則とは合わない記述に対しては,仮想的な字句の補正などを行う. また,解析器は字句の書き換え規則で構成し,マクロ定義の内部など, 部分的な記述も解析の対象とする. 応用例として,前処理の分岐指令の移動ツールとマクロの逆置換ツールを示す. 評価実験では,オープンソースソフトウェアの解析に適用し, その精度と問題点について議論する.
  8. 蜂巣 吉成, 野呂 昌満, 沢田 篤史, 張 漢明, 吉田 敦. コンパイル方式による高速軽量なXQuery問い合わせプログラム生成系の設計と実現. コンピュータソフトウェア, Vol. 30 No. 4, pp. 67-81 (2013-11)
    [abst]
    高速軽量な処理のために, 検証済XML文書への問い合わせをコンパイル方式で行うXQuery処 理系の生成系を設計・実現した.生成系はXQuery質問式とDTDを入力とし, XML文書の構文解析と問い合わせ処理を行うlex,yaccプログラムを出力する. プログラム生成とコンパイルの手間が増えるが, 問い合わせに必要なXML文書の情報のみをXML文書解析時に保存することができ, 処理時間やメモリを削減できる. XML文書中の異なる箇所からのデータの突き合わせを行う結合処理はXML文書木 に対して処理を行う必要があり,コンパイル方式の処理だけでは十分な高速化を 行えない.本研究では結合処理を同値比較と大小比較に分類し,同値比較にはハッ シュ法,大小比較には二分探索法を用いて高速化を行った. 実現した生成系を用いて実験を行い,コンパイル方式の処理が メモリ使用量の削減と処理の高速化に有効であることを確認した.
  9. 前林 達也, 吉田 敦, 蜂巣 吉成, 張 漢明, 野呂 昌満. 前処理前プログラムに対する記号表の構成手法. 情報処理学会論文誌, Vol. 54 No. 2, pp. 912-921 (2013-02)
    [abst]
    プログラムの開発や保守の作業量を減らすために,書き換え作業を自動化する ための環境が提案されている.書き換えを目的としたプログラム解析器は, コメントやスタイルを維持する必要があり,特にC言語の場合には,前処理前の プログラムをそのまま解析する必要がある.しかし,解析器は,記号表を構成 せずに解析するので,解析結果に誤りを含む場合がある.前処理前プログラムは, 定義の欠落などにより,構文として完全でないことがあり, これに対処した記号表の構成手法は知られていない. 本論文では,前処理前プログラムにおける問題点を3つに分類し, これらに対処した記号表の構成手法を提案する. これにより,構文解析の結果を補正できることを示す.
  10. 吉田 敦, 蜂巣 吉成, 沢田 篤史, 張 漢明, 野呂 昌満. 属性付き字句系列に基づくソースコード書き換え支援環境. 情報処理学会論文誌, Vol. 53 No. 7, pp. 1832-1849 (2012-07)
    [abst]
    ソースコードの編集作業において,複数箇所に点在する定型的な記述を修正す る作業を自動化するために,属性付き字句系列に基づくソースコード書換え支 援環境 TEBA を提案する.TEBA は,ソースコードの断片を用いて記述した パターン記述に従ってソースコードを書き換えるパターン変換系と, その変換系を実現するうえで重要な基盤となる構文解析系を提供する. ソースコードの断片の構文解析は一般的に困難であるので, ソースコードを字句系列に変換したあと, 段階的に構文に関する情報を字句の属性に加えていく. パターン変換系は,パターン変換記述とソースコードの双方を 属性付き字句系列に変換したうえで,字句系列の書換えとして実現する. また,実装 した TEBA によって書換えができることを事例を用いて示し, その評価を示す.
  11. 蜂巣 吉成, 吉田 敦, 野呂 昌満, 沢田 篤史, 張 漢明. HTML要素の状態を考慮したCSSの拡張方法の提案. 電子情報通信学会論文誌D, Vol. J-94D No. 11, pp. 1931-1934 (2011-11)
    [abst]
    Web アプリケーション開発において,振舞いと表現を 分離して記述するために,HTML要素の状態を考慮したCSSの拡張方法を提案する. これにより,Webアプリケーションの保守性, アクセシビリティを向上させることができる.
  12. 沢田 篤史, 野呂 昌満, 蜂巣 吉成, 張 漢明, 吉田 敦, 長 大介, 浦野 彰彦. ソースコードインスペクションツールのための ソフトウェアアーキテクチャの設計と進化. コンピュータソフトウェア, Vol. 28 No. 4, pp. 4_241-4_261 (2011-11)
    [abst]
    本論文では,ソースコードインスペクションツールのソフトウェアアーキ テクチャ設計と進化について議論する.ソースコードの欠陥検査や品質向 上に対する要求は多様であり,それらの要求を実現するインスペクション ツールには,さまざまな要求に応じた変更やカスタマイズを可能とする柔 軟性が必要となる. 我々は,OJL(On the Job Learning)と呼ぶ産学連携の開発プロジェクトを 通じて,Javaソースコードに対するインスペクションツールJCI(Java Code Inspector)を開発してきた.その中で我々は,解析性,変更性,試 験性,効率性を向上させるために,JCIのソフトウェアアーキテクチャを, GoFのデザインパターンを組み合わせて適用することで設計した.JCIの開 発開始から3年あまりにわたり,解析処理の高度化や,検査精度の向上, 空間効率の改善など,さまざまな機能追加や保守を重ねてきた.本稿では, これら変更要求や機能追加要求への対応を通じ,デザインパターンを用い て設計したJCIのソフトウェアアーキテクチャが,変更の影響を最小にと どめながらソフトウェア構造の改善と洗練を行うための保守の基盤として 有効に機能していることを示す.
  13. 蜂巣 吉成, 野呂 昌満, 張 漢明. アスペクト指向技術を用いたORBミドルウェア開発方法. 情報処理学会論文誌, Vol. 45 No. 6, pp. 1533-1545 (2004-06)
    [abst]
    本論文ではアスペクト指向技術を適用したORBミドルウェアの開発方法を示す. ORBミドルウェアを階層モデルで表現すると複数の層を横断した構成要素が存 在してしまう.われわれは層をアスペクトとしてとらえてアスペクト間の関係 を整理したソフトウェアアーキテクチャを提案する.アーキテクチャに基づい て,ORBのフレームワークとスタブ,スケルトン生成系の言語独立な設計方法 を示す.ORBに関するアスペクトは独立したフレームワークとして実現する. スタブ,スケルトン生成系はウィーバの役割を果たし,ORBフレームワークを 利用するためのコードが織り込まれたスタブ,スケルトンを生成する.提案し た開発方法に基づいてXML-RPCのORBミドルウェアを実現し,ORBミドルウェア の開発が省力化できること,ORBミドルウェアの機能の追加が容易なことを確 認した.
  14. 蜂巣 吉成, 野呂 昌満, 張 漢明. データ型を考慮した軽量なXML文書処理系の自動生成. コンピュータソフトウェア, Vol. 19 No. 5, pp. 334-344 (2002-09)
    [abst]
    軽量なXML文書処理系の自動生成系xpgen の設計とその実現について述 べた。軽量かつ実用的なXML文書処理系の作成支援のために、xpgenはDTDから、 字句・構文解析をおこなうlexおよびyaccのソースプログラムを生成するよう に設計した。意味解析のためのコードはyaccのソースプログラム内のアクショ ンとして記述する。xpgenを試作し、既存のXML パーサよりも静的意味検査等 の処理記述が容易であること、文書の解析に必要なメモリ量が少ないことを確 認した。
  15. Y. Hachisu, S. Yamamoto, K. Agusa. A CASE Tool Platform for an Object Oriented Language. IEICE Transaction on Information and Systems, Vol. E82-D No. 5, pp. 977-984 (1999-05)
    [abst]
    In this paper, we propose a CASE tool platform for Java, called Japid. A CASE tool platform provides various information of source programs and helps CASE tool developers to develop their tools rapidly and easily. Japid has three advanced features: linking fine grained databases dynamically, permitting developers to define their own views, and changing source programs preserving syntactic and semantic constraints. We have made some experiments and developed some CASE tools to show effectiveness of our approach.
  16. 蜂巣 吉成, 山本 晋一郎, 阿草 清滋. オブジェクト指向言語のための細粒度依存グラフ. 情報処理学会論文誌, Vol. 40 No. 4, pp. 1851-1860 (1999-04)
    [abst]
    オブジェクト指向言語のためのシステム依存グラフOSDGを提案した。OSDGでは 解析を式の粒度で行うので、既存の依存解析では困難な関数合成やオブジェク トを介したメソッド呼び出しにおけるデータ依存関係を正確に扱うことができ る。また、解析粒度を変換することにより、データ量を削減する手法を提案し た。これにより、着目しているクラスは細粒度で詳しく表現し、それ以外のク ラスは粗粒度で簡潔に表現することが可能になる。
  17. Y. Hachisu, S. Yamamoto, K. Agusa. Some Methods for Specializing Object-oriented Programs. Transactions of Information Processing Society of Japan , Vol. 40 No. 3, pp. 1346-1349 (1999-03)
    [abst]
    In this paper, we propose three approaches to specializing object-oriented programs. The first replaces dynamically dispatched method invocation with statically dispatched method invocation. We describe two techniques for this purpose: the unique name method and rapid type analysis. The second approach consists of class fusion and class reduction, which are techniques for merging closely associated classes into a single class. The last approach is class slimming, which removes unused methods and variables from classes. These approaches resolve the dilemma of whether to write a program elegantly for easy maintenance or tune it up for good performance.
  18. Y. Hachisu, S. Yamamoto, T. Hamaguchi, K. Agusa. An Efficient Implementation of Term Rewriting System on a Distributed Memory Architecture. IEICE Transaction on Information and Systems, Vol. E80-D No. 4, pp. 510-517 (1997-04)
    [abst]
    Term Rewriting System (TRS) is a model of computation and it is used in various application such as algebraic specification. TRS has an inherent concurrency and it is suitable for parallel computing. We have already proposed BOB (Bundle Of Branches), which is a mechanism of data management for parallel rewriting. We have proposed a model of parallel rewriting using BOB and implemented a TRS simulator based on this model on a shared memory parallel computer. Because it fully depends on the feature of a shared memory architecture, that is, a process can access any memory element, it is hard to transport it on a distributed memory parallel computer. In this paper, we propose autonomous BOB model. This model is suitable for a distributed memory architecture since a process uses message passing protocol and the method of load balancing is provided. We implement a TRS simulator using this model on a distributed memory architecture and it runs about 30 times faster on 64 processors than on a single processor.

査読付きシンポジウム,ワークショップ

  1. 蜂巣 吉成, 小澤 秀輔, 宮島 寛斗, 吉田 敦, 桑原 寛明. 連続した条件分岐に対するコーディングチェッカ. ソフトウェア工学の基礎30 (FOSE 2023), pp. 55-60 (2023-11)
    [abst]
    同一の変数に対して数値と大小比較を行う連続した条件分岐に対して, 必要のない条件記述,閾値や比較演算子の誤りの可能性を指摘するコーディングチェッカを提案する. ifの条件において変数の取りうる値の範囲を区間として表現し,真にならない区間やelseで暗黙に決まる区間を求める. コーディングチェッカを試作し, 適切な条件分岐ではないソースコードを判定して,誤りの可能性の指摘や修正を促すフィードバックが得られることを確認した.
  2. 月原 花菜, 山本 詠一朗, 中島 亜美, 蜂巣 吉成, 吉田 敦, 桑原 寛明. ミューテーション法を応用した学習者プログラムの誤り箇所特定方法の考察. 情報教育シンポジウム (SSS 2023), pp. 117-124 (2023-08)
    [abst]
    本研究では,コンパイルできるが期待した実行結果が得られないプログラムを学習者が自分で誤り箇所に気付いて修正できるような支援を行うことを目的に, ミューテーション法を応用して実行結果から間違い箇所を絞り込む方法を考察する. 模範解答プログラムに学習者がよくやる誤りを埋め込んでミュータントを作成し, 学習者プログラムの実行結果とミュータントの実行結果が一致したとき, 学習者プログラムにミュータントと同じ誤りがあるというように特定を行う. また,実行結果から間違い箇所を特定することで,学習者が間違えていないと思い込んでいる間違いも見つけ出すことができる.
  3. 澤田 侑希, 梅田 祐一郎, 蜂巣 吉成, 吉田 敦, 桑原 寛明. プログラミング演習におけるセグメントを用いたソースコードの誤り箇所特定方法の提案. ソフトウェア工学の基礎29 (FOSE 2022), pp. 55-60 (2022-11)
    [abst]
    本研究ではコンパイル可能であるが期待した実行結果が得られない学習者のCプログラムを対象として,セグメントを用いた誤り箇所の特定方法を提案する.学習者が解答したプログラム(以下,修正対象プログラム)と模範解答のプログラム(以下,模範解答プログラム)をセグメント単位で比較して差分を生成することで,誤り箇所を特定する.本研究におけるセグメントとは,制御文の複合文を基にプログラムを分割したものである.セグメントごとに別解を作成することで組み合わせをなくし,模範解答の総数を削減できる.
  4. 蜂巣 吉成, 東 直希, 三上 比呂, 長野 滉大, 吉田 敦, 桑原 寛明. 複数のプログラミング言語の文法知識に起因する制御文の誤りの自動修正方法の提案. ソフトウェア工学の基礎28 (FOSE 2021), pp. 51-60 (2021-11)
    [abst]
    複数のプログラミング言語を学習した際におかしやすい多言語の文法が混在したコード片を自動で修正する方法を提案した. 文法的に誤ったコード片を解析するための式レベルの構文解析方法と制御文の共通モデルを介した言語変換方法を提案した.
  5. 小山 哲明, 蜂巣 吉成, 吉田 敦, 桑原 寛明. マイクロマウスシミュレータを用いたプログラミング学習教材の試作. 情報教育シンポジウム (SSS 2020), pp. 54-61 (2020-12)
    [abst]
    本研究では学習意欲促進と実用的なプログラミング言語の学習のための マイクロマウスシミュレータを用いた学習教材を提案する.学習環境は Web で実現し, JavaScript プログラムを用いてマイクロマウスを操作する.シミュレータで 使用する迷路の大きさやゴールの位置は学習内容に応じて変更できる. 迷路を解くことを通して,手続き型言語の基礎概念である順次,分岐,反復や配列, 左手法などの迷路探索アルゴリズムを学習できる教材例を作成した.
  6. 蜂巣 吉成, 石元 慎太郎, 吉田 敦, 桑原 寛明. プログラミング学習者の編集途中のソースコードと模範解答における変数の対応づけ方法の提案. ソフトウェア工学の基礎 XXVII (FOSE 2020), pp. 109-114 (2020-11)
    [abst]
    本研究では,学習者の編集途中のソースコードと模範解答プログラムの間での変数 の対応づけ方法を提案する. C言語の関数を対象にして, 変数が利用される文脈などから変数を大きく3つの役割と6種類の特徴に分類して, 各特徴を抽象構文木に対するパターンで表す. パターンは「繰返し文本体で代入される変数」などの特徴を大まかに表す粗いパターンと, 「繰返し文本体で累積加算(+=)される変数」などの細かいパターンがある. 学習者のプログラムは間違いを含む場合があるので,まず粗いパターンによる 特徴ベクトルで模範解答と学習者のプログラムの変数の類似度を計算して対応づけを行う. 変数の対応に複数の候補がある場合はさらに細かいパターンによる特徴ベクトルで 対応づける方法を提案する.模範解答プログラムから文を削除したり,意図的に誤りを混入 させて人為的に作成した学習者の編集途中のプログラムに対して提案方法を適用したところ, およそ7割のソースコードで期待した変数の対応が行えた.
  7. 蜂巣 吉成, 森本 朱音, 松尾 翔馬, 加藤 ちひろ, 吉田 敦, 桑原 寛明. ポインタ型の仮引数を持つ関数の呼出しに対するプログラミング学習支援ツールの提案. ソフトウェア工学の基礎 XXVI (FOSE 2019), pp. 103-108 (2019-11)
    [abst]
    本研究では,C言語のプログラミング学習において,ポインタ型の仮引数を持つ関数の呼出しについて理解させ, 誤りのあるプログラムを修正できるようにするための支援ツールを提案する. ポインタを利用したプログラムを,変数を箱,ポインタを矢印で表した図で可視化する. 警告の出るプログラムについても可視化を行い, 誤りの指摘とその修正案を文章で提示し,修正の支援を行う.
  8. 安達 有希, 蜂巣 吉成, 吉田 敦, 桑原 寛明, 阿草 清滋. プログラミング学習における構文図式を用いた構文理解支援方法の提案. 情報教育シンポジウム (SSS 2018), 8 pages (2018-08)
    [abst]
    プログラミング学習において,学習者の構文理解を支援するために, 構文図式の非終端記号のノードに学習者が記述したプログラム断片を記述した 図式(構文図式インスタンスと呼ぶ)を提案する. 構文図式と構文図式インスタンスを表示するツールを試作し, 構文の誤りによるコンパイルエラーや期待する実行結果を得られないプログラムなどに 利用することで学習者の構文理解を支援する. 実際にツールを学習者に使用してもらい,その評価を行った.
  9. 石元 慎太郎, 蜂巣 吉成, 吉田 敦, 桑原 寛明, 阿草 清滋. プログラミング演習における構文要素の種類毎のビューによるコーディング状況把握方法の提案. 情報教育シンポジウム (SSS 2018), 8 pages (2018-08)
    [abst]
    プログラミング演習において,学習者の編集途中のソースコードを分析して コーディング状況を把握する方法を提案する.C言語を対象に,条件分岐や繰返しなどの プログラムの制御文を抽出してコーディング状況を大まかに把握し,代入文における 演算子や変数の型などを見ることでコーディング状況を細かく把握する方法を提案する. 十数名に対する演習に提案方法を用いたところ,学習者の誤っているソースコード記述がわかる ことを確認した.
  10. 蜂巣 吉成, 吉田 敦, 桑原 寛明, 阿草 清滋. プログラミング演習用プルーフリーダの試作. ソフトウェア工学の基礎 XXIV (FOSE 2017), pp. 53-62 (2017-11)
    [abst]
    プログラミング学習において「きれいに書く修行」を支援するために, 学習者が作成したプログラムが教育者の意図に合致しているかをチェックするプルーフリーダを試作した. プログラミング学習では,学習者は課題の実行例などを参考にプログラムの動作確認をし, 実行例と同じ出力が得られたら課題を終了していることが多い. しかし,学習者が作成したプログラムは簡潔性,明瞭性,一般性に欠ける場合があり, 必ずしも教育者が意図した「きれいに書かれたプログラム」とは限らない. 「きれいに書かれたプログラム」の判断基準は課題毎に異なるが, 本研究ではこれを学習項目として整理し, 教育者が作成した模範解答プログラムと学習者のプログラムを比較して, 教育意図に合っていない「きれいではないプログラム」を発見するプルーフリーダを試作した.
  11. 小林 悟, 蜂巣 吉成, 吉田 敦, 阿草 清滋. データ構造と関数定義に着目したプログラミング学習者用テストケース評価記述方法の提案. ソフトウェア工学の基礎 XXIII (FOSE 2016), pp. 33-42 (2016-12)
    [abst]
    われわれは,Web ベースの統合開発環境 (WebIDE) を開発し, 教員が設定したテスト評価基準により, 学習者のテストケースを評価して 学習者にアドバイスをフィードバックするシステムを提案した. しかし, 構造体や配列を扱う演習問題の一部では, 変数が自動で定義されることによって,評価基準を記述できない問題がある. 本論文では,入力データのデータ構造と関数定義に着目した評価基準の記述方法を提案する. 入力データの構造定義として入力するデータの型と名前,入力回数を宣言できるようにし, ユーザが関数を定義できる枠組みを追加する.
  12. 吉田 敦, 蜂巣 吉成, 阿草 清滋. ウェブアプリケーション開発のためのPHP オンライン部分評価器の試作. ソフトウェア工学の基礎 XXIII (FOSE 2016), pp. 217-222 (2016-12)
    [abst]
    PHP を用いたページ記述は,ページの参照時の状態によってページ内の構成が変わることが多い. 本論文は,特定の状態のときのページ内容の確認を支援するためのオンライン部分評価方法を提案する.
  13. 蜂巣 吉成, 吉田 敦, 阿草 清滋. 命令型プログラミング言語における初学者向け動作理解支援ツールの提案. ソフトウェア工学の基礎 XXII (FOSE 2015), pp. 97-102 (2015-11)
    [abst]
    本研究では,命令型プログラミング言語を対象にして, 初学者のプログラムの動作理解を支援するツールを提案する. 命令文を実行し,プログラムの状態である変数の値の集合を変化させることで, 計算が行われることを学習者に理解させるために, 提案ツールはプログラム実行時における各命令文を実行した後のすべての変数の値と 分岐文や繰り返し文の条件式の真偽を自動的に記録し,表形式で提示する. 試作したツールを学生に使用してもらい, ツールによってプログラムの誤り箇所を特定できた例を示す.
  14. 蜂巣 吉成, 吉田 敦, 阿草 清滋. WebIDEを用いたプログラミング演習におけるテストケース評価システムの提案. ソフトウェア工学の基礎 XXI (FOSE 2014), pp. 241-250 (2014-12)
    [abst]
    本研究では,Webベースの統合開発環境(WebIDE)を用いて, プログラミング演習において学習者がテストケースを作成した際に, 見落したものがあればアドバイスを行うテストケースの評価システムを提案する. 提案システムでは, あらかじめ想定したテストケースを網羅したかどうかを評価するために, 教員がテストケースの評価基準とそれを満 たすテストケースがない場合に表示するアドバイスを記述する. 本論文では,演習課題や学習者によるテストケースの差異を吸収し, 簡潔に評価基準を記述できるような形式を定義した.
  15. A. Yoshida, Y. Hachisu. A Pattern Search Method for Unpreprocessed C Programs Based on Tokenized Syntax Trees. Proc. of 14th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM2014) , pp. 295-304 (2014-09)
    [abst]
    Pattern search of programs is a fundamental func- tion for supporting programming. In this paper, we propose a search method for unpreprocessed programs, which are difficult to parse. Our parser directly parses them by rewriting token sequences, and allows minor errors in syntax trees. The search tool takes queries that are the same as the format of program fragments. By using the same parser for both queries and target programs, programmers have no need to describe the detail structures of syntax trees in queries. To support accurate search, we also show an alignment tool for branch directives, which converts undisciplined directives to discipline ones, and a reverse macro expansion tool, which integrates the use of macro calls. Finally, we present some experiments in which we have applied the tools to an open source application, and discuss how to improve our tools.
  16. Y. Hachisu, A. Yoshida. A Support System for Error Correction Questions in Programming Education. Proc. of International Conference on e-Learning 2014 (EL2014) , International Association for Development of the Information Society (IADIS), pp. 249-258 (2014-07)
    [abst]
    For supporting the education of debugging skills, we propose a system for generating error correction questions of programs and checking the correctness. The system generates HTML files for answering questions and CGI programs for checking answers. Learners read and answer questions on Web browsers. For management of error injection, we have analyzed types of errors and defined the processes of error injection as code transformation patterns. The system synthesizes code fragments including errors by transforming correct code fragments according to the selected patterns. Full coverage of all possible answers is difficult. Instead, we have adopted a strategy to restrict editable points and possible answers from the educational view. To confirm the effectiveness of the system, we have generated questions using several examples and applied them to a programming exercise as an evaluation experiment.
  17. 蜂巣 吉成, 吉田 敦. プログラミング初学者向けの誤り訂正問題の生成方法の提案. ソフトウェア工学の基礎 XX (FOSE 2013), pp. 35-40 (2013-11)
    [abst]
    プログラミング初学者向けの誤り訂正問題を自動生成する方法を提案する. 誤りを編集操作などの観点から分類し, プログラムの書換えパターンとして記述する. 正しいプログラムに対し,パターンを適用して誤り訂正問題を作成し, 正誤判定を行う方法を提案する.
  18. 蜂巣 吉成, 吉田 敦, 張 漢明, 野呂 昌満. 文脈を考慮したHTML4からHTML5への書き換え方法の提案. ソフトウェア工学の基礎 XIX (FOSE 2012), pp. 21-26 (2012-12)
    [abst]
    本研究では文脈を用いてHTML4で記述された文書をHTML5に 自動で書き換える方法を提案する. ある要素Aの文脈とは, 要素Aの属性値とテキスト,および要素Aが出現する箇所の前後の要素やテキスト, コメントの組み合わせのことである. 書き換えツールを試作し, 適合率90. 9%,再現率84.4%の精度でHTML4からHTML5への書き換えが可能なことを 確認した.
  19. 前林 達也, 吉田 敦, 蜂巣 吉成, 張 漢明, 野呂 昌満. 前処理前プログラムに対する記号表の構成手法. ソフトウェアエンジニアリング2012論文集, pp. 1-6 (2012-08)
    [abst]
    プログラムの開発や保守の作業量を減らすために, 書換え作業を自動化するための環境が提案されている. 書換えを目的としたプログラム解析器は, コメントやスタイルを維持する必要があり,特に C 言語の場合には, 前処理前のプログラムをそのまま解析する必要がある. しかし,解析器は,記号表を構成せずに解析するので, 解析結果に誤りを含む場合がある. 前処理前プログラムは,定義の欠落などにより, 構文として完全でないことがあり, これに対処した記号表の構成手法は知られていない. 本論文では,前処理前プログラムにおける問題点を 3 つに分類し, これらに対処した記号表の構成手法を提案する. これにより,構文解析の結果を補正できることを示す.
  20. 立道 昂太, 吉田 敦, 蜂巣 吉成, 張 漢明, 野呂 昌満. Webページ記述内のプログラム断片に対するDOM treeを用いた構文木の構成手法. ソフトウェアエンジニアリング2012論文集, pp. 1-6 (2012-08)
    [abst]
    オープンソースのリポジトリサイトやプログラムの解説サイトなど, プログラムを掲載した Web ページは多く存在しており, ソフトウェア開発や学習において広く利用されている. Web ページのレイアウトは作成者によって異なり, 作成者のコーディングスタイルに従ってプログラム記述は書かれているので, 必ずしも理解しやすいものではない. プログラム記述を構文解析することで得られる構文木を DOM 木に構成できるならば,クライアントサイドから bookmarklet を用いてプログラム記述のスタイルやレイアウトを操作することや, 別サイトへのリンクの追加など高度な理解支援も可能になる. 本論文ではプログラム記述の操作支援を目的として, Web ページ記述内のプログラム解析手法を提案する. Web ページのプログラム記述の構成を分類, プログラム記述箇所の特定方法と, 構文木を DOM 木に変換する方法を提案することで,機能の実現をする.
  21. 蜂巣 吉成, 野呂 昌満, 沢田 篤史, 張 漢明, 吉田 敦. コンパイル方式によるXQuery問い合わせプログラム生成方法. ソフトウェア工学の基礎 XVIII (FOSE 2011), pp. 21-20 (2011-11)
    [abst]
    本研究では,軽量な処理のために問い合わせをコンパイル方式で行う XQuery処理系の生成系を設計・実現した. 生成系はXQuery質問式とDTDを入力とし, XML文書の構文解析と問い合わせ処理を行うプログラムを出力する. プログラム生成とコンパイルの手間が増えるが, あらかじめ問い合わせがわかっているので, 問い合わせに必要なXML文書の情報のみを保存することができ, 処理時間やメモリを削減できる. XML文書中の異なる箇所からのデータの突き合わせを行う結合処理は XML文書木に対して処理を行う必要があり, コンパイル方式の処理だけでは十分な高速化を行えない. 本研究では結合処理を同値比較と大小比較に分類し, 同値比較にはハッシュ法,大小比較には二分探索法を用いて高速化を行った.
  22. 曽我 展世, 吉田 敦, 蜂巣 吉成, 張 漢明, 野呂 昌満. 表現の違いを考慮したマクロ逆置換方法の提案. ソフトウェアエンジニアリング2011論文集, pp. 1-6 (2011-09)
    [abst]
    ソースコード内に含まれる重複したコード片は ソースコードの可読性や保守性を低下させる一因となる. 本論文では, マクロによる重複したコード片を解消する際の作業の自動化支援を目的とし, 表現の違いに対応したマクロ逆置換作業の自動化を行なう.
  23. 蜂巣 吉成, 野呂 昌満, 沢田 篤史. 遅延パーサを用いた高速なXQuery処理系. ソフトウェアエンジニアリング最前線2008 情報処理学会SEシンポジウム, pp. 119-122 (2008-08)
    [abst]
    本稿では,遅延パーサの概念を用いた高速かつ軽量なXQuery処理系を提案する. 遅延パーサはアプリケーションから実際に参照があったノードからなる木 を作成するパーサである.遅延パーサをXQuery処理に適用する際の問題 点を整理し,その解決方法を示す.提案手法に基づき, XQuery処理系を実現し,既存のXQuery処理系の一つであるSAXONと 比べて,結合処理を除いて約1.5倍高速で,約2/3のメモリ使用量で処理できるこ とを確認した.結合処理はSAXONよりも処理時間を要していたが, その原因を明らかにし,高速化する方法を考察した.
  24. 蜂巣 吉成, 野呂 昌満, 宮田 裕則, 牛田 匠. ストリーム指向によるXQuery問い合わせ処理の効率化. ソフトウェアエンジニアリング最前線2007 情報処理学会SEシンポジウム, pp. 69-78 (2007-08)
    [abst]
    本論文ではパスの途中に条件が含まれた質問式を扱える, 軽量かつ高速なストリーム指向XQuery処理手法を提案する. 既存のストリーム指向XQuery処理系ではプッシュダウンオートマトンを用いて 質問式を処理するが,パスの途中に条件を含んだ質問式を扱うことができない. 本論文では,プッシュダウンオートマトンに加えて過去の情報を保留するための リストを用いることでこの問題を解決する. 本手法を用いたXQuery処理プログラムを作成し,実験によりXQuery処理系の一つ であるSAXONと比べて, 最良の場合,半分の処理時間と約1/560のメモリ使用量で 問い合わせを処理できることを確認した.
  25. Y. Hachisu. Towards XML Concurrent Parsing. IADIS Virtual Multi Conference on Computer Science and Information Systems (MCCSIS2005) , International Association for Development of the Information Society (IADIS), 5 pages (2005-04)
    [abst]
    We propose an idea of a concurrent XML parser, which constructs the whole document tree concurrently on the multi-threading environment like Java. We decompose the process of parsing into two phases, preprocessing and materializing, which are performed concurrently. The preprocessor reads a XML document and saves its structure as the internal structure. A materializer creates nodes of the tree according to the data in the internal structure. We formalize a model for concurrent XML parsing as a kind of the producer/consumer model: the preprocessor is the producer, a materializer is a consumer, and the internal structure is the shared buffer. We implemented a concurrent XML parser and estimated its performance by simulations.
  26. 蜂巣 吉成. 名前空間を考慮したDOM木Visitor生成系. ソフトウェア工学の基礎 X (FOSE 2003), pp. 161-164 (2003-11)
    [abst]
    XML文書処理系の開発を支援するために,DOM木の名前空間を考慮した探索処理 方法を提案する.DTDからVisitorクラスを生成し,DOM木を探索するプログラ ムからVisitorクラスのメソッドを呼び出し処理を行う.名前空間を用いてXML 文書が記述されている場合は,それぞれのXMLボキャブラリに対応したVisitor クラスのオブジェクトを利用して処理を行う.
  27. 蜂巣 吉成, 野呂 昌満, 張 漢明. ORBミドルウェアのためのアスペクト指向ソフトウェア・アーキテクチャの提案. オブジェクト指向最前線2003, pp. 161-168 (2003-08)
    [abst]
    本研究ではORBミドルウェアの構造を整理し開発を省力化するために,ORBミドル ウェアのアスペクト指向ソフトウェア・アーキテクチャを提案する.ORBミドル ウェアを階層モデルで表現すると複数の層を横断した構成要素が存在してしまう. われわれは層をアスペクトとしてとらえてアスペクト間の関係を整理した.アー キテクチャに基づいて,ORBのフレームワークとスタブ,スケルトンの自動生成 系を設計・実現する.ORBに関するアスペクトは独立したフレームワークとして 実現する.自動生成系はウィーバの役割をし,ORBフレームワークを利用するた めのコードが織り込まれたスタブ,スケルトンを生成する.提案したアーキテク チャに基づいてXML-RPCのORBミドルウェアを実現し, 開発が省力化できることを確認した.
  28. 蜂巣 吉成. XMLを利用したHTML文書の管理. ソフトウェア工学の基礎 IX (FOSE 2002), pp. 167-170 (2002-11)
    [abst]
    HTML文書作成を支援するためのXMLを用いたマークアップ言語PSMLを線形木構 造をしたHTML文書群を記述できるように拡張した。 PSMLからHTMLへの変換を行うPSML処理系をDOMパーサを用いて実現し、 PSMLを用いて大学の講義資料を記述することで,PSMLが科学技術文書の記述に適 していることを確認した。
  29. 蜂巣 吉成. 線形構造をしたHTML文書のXMLによる管理. ソフトウェア工学の基礎 VIII (FOSE 2001), pp. 175-178 (2001-11)
    [abst]
    線形構造をしたHTML文書の作成を支援するために、XMLを用いたマーク アップ言語PSMLを提案した。PSMLでは、HTML文書の順序記述、HTML文書間のリ ンク生成、目次用HTML文書生成、マクロを利用したHTML文書のレイアウト統一 を行うことができる。
  30. 蜂巣 吉成. ソフトウェア要求仕様書の形式変換. 第12回データ工学ワークショップ, 4 pages (2001-03)
    [abst]
    仕様記述言語Zで書かれた要求仕様書をさまざまな形式に変換する方法 を提案した。構造化文書をオブジェクトとして表現し、デザインパターン を適用することで、統一的な枠組みで形式変換を行うことができた。
  31. 熊崎 敦司, 蜂巣 吉成, 青木 俊介, 野呂 昌満. 既存ネットワークソフトウェアとの互換性を考慮したソフトウェア構成法. ソフトウェア工学の基礎VII , pp. 165-175 (2000-11)
    [abst]
    ネットワークソフトウェアの参照アーキテクチャIParch-Rを提案した。 IParch-Rでは、事実上の標準となっている既存ネットワークソフトウェアとの 互換性を考慮し、時間切れ処理を汎用的な処理としてあつかう。提案した IParch-Rに基づいてアプリケーションフレームワークIPaf-Rを実現し、考察を 行った。
  32. 蜂巣 吉成, 山本 晋一郎, 阿草 清滋. Java言語のためのCASEツールプラットフォーム. オブジェクト指向'99シンポジウム論文集, pp. 21-28 (1999-07)
    [abst]
    オブジェクト指向言語JavaのためのCASEツール・プラットフォームJapidの概 要を説明した。JapidはCASEツールの迅速・容易な開発のためにソースプログ ラムの細粒度の解析結果を提供し、ビュー定義やソースプログラムの変更を支 援する。本稿ではJapidの各機能を説明し、Japidを利用したCASEツールを紹介 した。
  33. 蜂巣 吉成, 山本 晋一郎, 濱口 毅, 阿草 清滋. Java言語のための細粒度リポジトリ. コンピュータシステムシンポジウム'96 論文集, pp. 147-154 (1996-11)
    [abst]
    CASEツール開発を容易にするために、クラス、メソッドより粒度の細かいリポ ジトリを提案し、リポジトリ作成に必要なソフトウェアモデル、ソフトウェア データベース、およびCASEツール作成に必要な機能(API)について考察した。 特に、ソフトウェアモデルではプログラム中で重要な意味をもつ識別子に注目 した。また、実際にリポジトリを実現し、その性能・正当性について評価した。

その他 学会発表等

  1. 戸谷 剛士, 小川 愛弥, 蜂巣 吉成, 吉田 敦, 桑原 寛明. プログラミング演習における模範解答プログラムを用いた演習問題の自動生成. 第22回情報科学技術フォーラム (FIT2023), pp. 315-320 (2023-09)
    [abst]
    本研究はプログラミング演習において,模範解答プログラムから演習問題の問題文を生成する方法を提案する. 問題文に必要な入出力の内容,制約を模範解答プログラムから抽出することで,問題文を生成する. 入力のプロンプトや結果出力を示す printf, scanf 文に記述ルールを設けることで問題文生成に必要な情報の取得を行う.
  2. 松井 亮介, 蜂巣 吉成, 吉田 敦, 桑原 寛明. 変数名に対して開発支援を行うための調査と考察. 日本ソフトウェア科学会 第39回大会, 9 pages (2022-09)
    [abst]
    ソフトウェアにおいて識別子名は開発者がソースコードを理解するために重要 な情報であり,名前のリファクタリングや命名支援に関する研究が行われて いる.先行研究では識別子名として関数名を扱うものが多く,変数名を使った 研究は比較的少ない.ソースコードを理解するためには変数名も重要な情報で ある.本研究では,変数名に対する開発支援を行うために,オープンソースソ フトウェアに対して変数の名前づけに関する規則の調査を行った.調査から ユーザ定義の型から決まる変数名があること,変数名を区別する際にはナンバリン グで区別している場合があるが,ナンバリングが適切でない例などが見つかっ た.ここで得られた知見を開発支援に応用する方法を考察する.
  3. 堀江 傳貴, 惣浜 英祐, 蜂巣 吉成, 吉田 敦, 桑原 寛明. 機械学習を用いたWebページスクリーンショットの分類における前処理方法の考察. 日本ソフトウェア科学会 第39回大会, 6 pages (2022-09)
    [abst]
    Webページを利用者の目的に合わせて自動で分類することで,Web検索が使い やすくなる.Webページのスクリーンショットを機械学習の学習済みモデルを 用いて分類したところ,一定の精度は得られた.さらに,適切な前処理を適用 することで精度が向上する可能性がある.本研究では,機械学習を用いたWeb ページスクリーンショットの分類における前処理方法の検討を行った.学習済 みモデルの注目部分の可視化,スクリーンショットを4分割したものでの分 類精度の確認,過学習の原因の考察から,(1)Canny 法,(2)平滑化,(3)ヒ ストグラムの平坦化,(4)中央部分以外除去,(5)右側除去,(6)頻出する Webページのスクリーンショットをデータセットから外す,の6つの前処理 方法を検討した.考察した前処理の方法を単体あるいは組み合わせて適用し, 分類精度が向上するか確認した.
  4. 松井 亮介, 渡辺 開斗, 蜂巣 吉成, 吉田 敦, 桑原 寛明. 変更履歴に着目した機械学習による論文校正支援方法の考察. 第20回情報科学技術フォーラム (FIT2021), pp. 335-342 (2021-08)
    [abst]
    1人の教員が複数の学生に対して論文の校正を行う際に,適切ではない表現に対して同じような指摘を繰り返し行う場合がある.本研究では,過去の学生の論文変更履歴から適切ではない表現を自動で抽出して校正を支援する方法について考察する.変更履歴から (1) 変更された文の対応づけ (2) 変更された形態素の比較による単語レベルの適切ではない表現の抽出 (3) 単語レベルでは見つからない文レベルの適切ではない表現の機械学習による抽出という3つの手順を提案する.変更履歴を利用することで,ルールベースの校正方法と違い,教員がルールを記述する必要がなく,変更履歴が増えるほど精度の向上も見込める.
  5. 久保田 詩門, 蜂巣 吉成, 吉田 敦, 桑原 寛明. プログラミング演習における個別指導のためのコーディング状況把握方法の提案. 情報処理学会研究報告 2019-CE-151, 8 pages (2019-10)
    [abst]
    大学におけるプログラミング演習において, 少数の指導者が限られた時間の中で,多数の学習者の 個々のコーディング状況を把握する事は困難である. 本研究では学習者のソースコードの模範解答への近 付き具合を進捗度として定義し, 単位時間あたりに変化したソースコード文字数を活動度として定義する. 進捗度を横軸,活動度を縦軸とした平面上に学習者の状況をグラフで表し, サポートが必要な学習者を特 定する方法を提案する.
  6. 蜂巣 吉成, 吉田 敦, 阿草 清滋. 学習項目を利用したプログラミング学習用プルーフリーダの試作. 日本ソフトウェア科学会 第33回大会, 6 pages (2016-09)
    [abst]
    プログラミング学習において, 学習者が作成したプログラムが教育者の意図に合致しているかをチェックするプルーフリーダを試作した. プログラミング学習では,学習者は課題の実行例などを参考にプログラムの動作確認をし, 実行例と同じ出力が得られたら課題を終了していることが多い. しかし,学習者が作成したプログラムが冗長であるなど, 必ずしも教育者が意図したプログラムが書けているとは限らない. プログラム評価の基準は課題毎に異なるが, 本研究ではこれを学習項目として整理し, 教育者が作成した模範解答プログラムと学習者のプログラムを比較して, 教育意図に合っていないプログラムを発見するプルーフリーダを試作した.
  7. 蜂巣 吉成, 阿草 清滋. 電力パケットを用いた家庭内配電シミュレータ. 2016年電子情報通信学会総合大会, 1 pages (2016-03)
  8. 加藤 大典, 蜂巣 吉成, 吉田 敦, 阿草 清滋. 変数に着目した部分プログラム抽出によるコードレビュー手法の提案. 信学技報 SS2014-73, Vol. 114 No. 510, 6 pages (2015-03)
  9. 蜂巣 吉成, 吉田 敦, 阿草 清滋. プログラミング演習におけるコーディング状況把握方法の考察. 情報処理学会研究報告 2004-CE-125, 8 pages (2014-05)
    [abst]
    情報系大学のプログラミング演習では,教員は学習者のコーディング状況を把握 して,学習者に合った適切な指導を行うことが求められる.しかし,限りある 演習時間内に学習者全員のコーディング状況を把握することは難しい. 本研究では,演算子,式,文,文の構造といった観点から, 学習者のソースコードと模範解答プログラムを比較し,分析を行うことでコー ディング状況を把握する方法を提案する.学習者の編集途中のソースコードを 随時取得するためにWebを用いた開発環境を実現し,演習問題数題に 適用したところ, コーディング状況の把握が可能であることを確認した.
  10. 蜂巣 吉成, 吉田 敦. プログラミング学習における誤り訂正問題の自動生成方法の提案. 信学技報 SS2012-70, Vol. 112 No. 458, pp. 63-68 (2013-03)
    [abst]
    プログラミング学習のための誤り訂正問題を自動生成する方法を提案する. プログラムの誤り訂正問題はコードリーディングやデバッギングのスキル向上に有効 であるが,効果的な作成方法や採点方法は知られていない. 本研究では,プログラミング学習者がおかしやすい誤りを 訂正方法の観点などから分類し, 問題として混入させる誤りをプログラムの書換えパターンとして記述する. 正しいプログラムに対し,パターンを適用して誤り訂正問題を作成し, 正誤判定を行う方法を提案する.
  11. 蜂巣 吉成. XMLを用いたマクロ機能の提案. 日本ソフトウェア科学会 第18回大会, 4 pages (2001-09)
    [abst]
    XMLを利用したマクロ機能 XMacro を提案した。マクロとはある記号の 系列を別の記号の系列に置き換えることであり、XMacroでは引数を用いて、整 形式XMLとしてマクロを記述できる。XMacroの応用例としてHTML 文書のレイア ウトを統一する方法を示した。
  12. 蜂巣 吉成. Zによる要求仕様書のスキーマを基準とした類似度の提案. アカデミア 数理情報編 第1巻, 南山大学, pp. 25-31 (2001-03)
    [abst]
    Zによる要求仕様書の類似度の計算手法を提案した。Zではシステムの各部分を スキーマとして記述するが、本手法ではスキーマを単位として類似度を計算す る。
  13. 蜂巣 吉成. リポジトリを用いたソフトウェア仕様記述の支援環境. 情報処理学会研究報告 2000-SE-125, pp. 99-104 (2000-01)
    [abst]
    仕様記述言語Zを用いた要求分析を支援するための環境を提案した。従 来、Zの支援環境では、作成された要求仕様書の検証に重点がおかれていた。シ ステム設計や、実装工程での成果物はデザインパターンやライブラリ、フレーム ワークとして再利用されていたが、要求仕様書はほとんど再利用されていなかっ た。本研究では仕様書をリポジトリを用いて管理・蓄積し、仕様書の検索や再利 用、パターンの発見を行うための支援環境を目指す。
  14. Y. Hachisu, S. Yamamoto, K. Agusa. A CASE Tool Platform and Specializing Object Oriented Programs. International Workshop on the Principles of Software Evolution , pp. 58-62 (1998-04)
  15. 蜂巣 吉成, 山本 晋一郎, 阿草 清滋. コンポーネントウェア時代の最適化. ウインターワークショップ・イン・恵那 論文集, pp. 23-24 (1998-01)
    [abst]
    コンポーネントを利用して作成されたプログラムを効率よく実行するための3 つの手法、メソッド起動の静的束縛化、複数のクラスの融合、クラスのスリム 化について提案した。また、メソッド起動の静的束縛化、およびクラスのスリ ム化に関する簡単な実験を行い、Javaにおいてメソッドの最大約40%が静的束 縛化可能なこと、汎用可変長配列クラスを利用した待ち行列クラスでメソッド を24個から4個に削減できることを示した。
  16. 蜂巣 吉成, 山本 晋一郎, 阿草 清滋. AP1000における項書換え系の自律分散型実行系. PCW'95 Japan 予稿集, pp. SA1-SA10 (1996-03)
    [abst]
    メッセージパッシング機構に基づいた分散メモリ型並列計算機であるAP1000を 用いた項書換え系の実現方法について考察した。また、実際に実行系を実現し、 AP1000におけるメッセージの送受信の速度、CPU間で項を共有するためにかか る時間、1CPU内の項のマッチングと複数のCPU間の項のマッチングの処理速度 の差などを測定し、AP1000と本実現方法の相性が良いことを示した。
  17. Y. Hachisu, S. Yamamoto, T. Hamaguchi, K. Agusa. An Implementation of Term Rewriting System on a Distributed Memory Architecture. Proc. of the Fourth International Parallel Computing Workshop , pp. 159-168 (1995-09)
  18. 蜂巣 吉成, 山本 晋一郎, 阿草 清滋. 自律的BOBモデルを用いたTRSの並列分散実行系. 電子情報通信学会技術研究報告 CPSY94-35, pp. 65-72 (1994-07)
    [abst]
    既に提案されている項書換え計算を抽象化したモデルBOBを、並列分散環境に 適応させた新しいモデル、自律的BOBモデルを提案した。自律的BOBモデルでは、 一つのBOBに対して一つの実行主体が割り当てられ、BOBに関する操作は割り当 てられた実行主体のみが行う。また、複数のBOBに関する動作はメッセージを 用いて実現される。本稿では自律的BOBモデルの概略、正当性を示した。
Top Page
HACHISU Yoshinari <hachisu @ se.nanzan-u.ac.jp >