著者
野村 研仁 仲田 恭典 井上 克郎 鳥居 宏次 木村 陽一 米山 寛二 ノムラ ケンジ ナカタ ヤスノリ イノウエ カツロウ トリイ コウジ キムラ ヨウイチ ヨネヤマ カンジ Nomura Kenji Nakata Yasunori Inoue Katsuro Torii Koji Kimura Yoichi Yoneyama Kanji
出版者
情報処理学会
雑誌
情報処理学会研究報告ソフトウェア工学(SE) (ISSN:09196072)
巻号頁・発行日
vol.1987, no.38, pp.1-8, 1987-06-24

プログラムの実行時エラーの原因を効率よく発見するためには,デバッグに関する多くの経験的知識が必要である.熟練したプログラマーは,処理系が発生する実行時エラーメッセージを見ると,過去の経験に照らし合わせていくつかのエラー原因を推測し,ソースプログラムや実行結果を詳しく調べることによりエラー原因を特定する.実行時エラーメッセージを認識してからエラー原因を推定するまでの間に熟練したプログラマーが行う推論に用いる知識は,実行時エラーの原因診断システムには,ほとんど用いられていないのが現状である.本稿では,熟練プログラマーがデバッグの際に用いる知識の整理,これらの知識および推論方法を用いるPL/Iプログラムの実行時エラー原因診断エキスパートシステムの試作について報告する.When 'expert' programmer debugs programs, he uses many heuristic knowledges to find out the causes of errors. He at first infers the candidates for the causes of the errors from error messages and next verifies each candidate. Using these domain knowledges, we designed an expert system for diagnosing run-time errors in PL/I programs. We had devoloped a prototype of this system on the XEROX 1108 using the KEE. This prototype infers the cause of "data exception error", which practically happens frequently, in such a way that at first generating the hypothesis from error messages and then verifying these hypothesis.
著者
荻原 剛志 飯田 元 新田 稔 井上 克郎 鳥居 宏次 Ogihara Takeshi Iida Hajimu Nitta Minoru Inoue Katsuro Torii Koji オギハラ タケシ イイダ ハジム ニッタ ミノル イノウエ カツロウ トリイ コウジ
出版者
情報処理学会
雑誌
情報処理学会研究報告プログラミング(PRO) (ISSN:09196072)
巻号頁・発行日
vol.1988, no.94, pp.89-98, 1988-12-09

我々はソフトウェアの開発過程を形式的に記述し,実行するための関数型言語PDL(Process Description Language)およびそのインタプリタを作成した.PDLでは開発過程をツールの起動やウィンドウ操作の系列として記述する.PDLはこれらの操作のための関数や複数の操作を並列実行するための関数を持つ.また,さまざまなマクロ機能があり,定義の記述を容易に行うことができる.PDLインタプリタは,実行中に検出した未定義関数をそのつどユーザに定義させる機能などを持ち,十分詳細化されていない記述も実行可能である.また,デバッグ機能やヒストリ機能,関数定義の画面編集機能などの機能も備えている.我々はすてにJSD(ジャクソンシステム開発法)など,いくつかの開発技法をPDLて記述し,実行している.PDLインタプリタは現在,いくつかのUNIXワークステーション上で稼働中である.
著者
門田 暁人 井上 克郎 松本 健一 岡原 聖 真鍋 雄貴 山内 寛己 Yamauchi Hiroki Okahara Satoshi Inoue Katsuro Monden Akito Manabe Yuki Matsumoto Kenichi マツモト ケンイチ モンデン アキト ヤマウチ ヒロキ オカハラ サトシ マナベ ユウキ イノウエ カツロウ
出版者
電子情報通信学会
雑誌
電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス (ISSN:09135685)
巻号頁・発行日
vol.108, no.362, pp.7-11, 2008-12-11

Generally, if a piece of code clone was found between two different programs, a plagiarism or a code reuse (program piracy) might be made. On the other hand, code clone also occurs accidentally or by code idioms. This paper experimentally derives the probability of program piracy based on length of code clone. In the experiment, we identified code clones among many different programs which we confirmed that program piracy has not been made, and formulated by power approximation the relation between the length of code clone and its derivation probability. By using this formula, we can compute the probability of program piracy from the maximum length of code clone derived from given two programs.一般に, プログラム間で一致するコード列(コードクローン)が見つかった場合, コードの盗用もしくは流用の疑いがある. 一方で, 独立に開発されたプログラム間で偶然(もしくは定型処理など)によりコードクローンが生じることもある. 本稿では, どの程度の長さのクローンであれば, 偶然に生じたものではないと言えるか, その判断基準を実験的に導出する.実験では, 独立に開発された(流用のない)多数のプログラム間で検出されるコードクローンの長さと個数を調査し, 最大クローン長とクローン検出確率の関係を算出した. そして, 偶然に生じうるコードクローンの検出確率を累乗近似により定式化した. 導出した式により, 2つのプログラム間の最大クローン長を計測することにより, 偶然や定型処理ではない, すなわち, 盗用や流用が行われた確率を求めることが可能となった.