ソフトウェアの振る舞いの可視化についてなされた、過去の研究や実装について教えてください。論文・実装・説明そのものへのリンクがうれしいですが、論文・実装を特定するのに十分な情報があれば結構です。可視化のアイデアや推測などは求めていません。


コードを書くとき、プログラマの頭の中には何らかの(実装言語にある程度依存した)実行モデルがあると思います。

「ソフトウェアの振る舞いの可視化」をする、とは、この実行モデルを可視化することを、ここでは想定しています。

具体例としては、次のようなものがあり得ると考えています。

* ソースコードのステップ毎に、関連するオブジェクトの変更・生成・破棄が可視化される
* ソースコードのステップ毎に、プログラムのフロー中のどこが実行されているかが可視化される
* ソースコードのステップ毎に、コールスタックの変化(return addressが積まれた、引数が積まれたなど)が可視化される。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/03/18 15:50:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:Hyperion64 No.1

回答回数791ベストアンサー獲得回数84

ポイント18pt

プロジェクトチームやクライエントとの相互理解のための手法というこであれば、

UMLというのがあります。オブジェクト指向言語に特化したツールのようですが。

http://www.keyman.or.jp/search/kaihatu2/30000761_1.html?vos=nkey...

あるいはDFDという可視化手段も知られています。こちらはデータのIOに特化しています。

http://e-words.jp/w/DFD.html

id:skoji-jp

回答ありがとうございます。

が残念ながらUML/DFDともに知っております。

UMLは主に静的な構造の記述手段です。アクティビティ図もありますが、

振る舞いの静的な構造の記述になります(その意味ではフローチャートと差がありません)。

DFDには詳しくありませんが、これも振る舞いの静的な記述だと理解しています。

わたしの説明が足りなかったかもしれませんが、動的に変化が見えるような可視化手段が、

知りたいことです。

例として書いている「ソースコードのステップ毎に」のようなものをイメージしています。

2009/03/11 21:31:03
id:noocyte No.2

回答回数21ベストアンサー獲得回数3

ポイント52pt

アルゴリズム・アニメーションはご存知ですか?

Javaによるソートアルゴリズムの可視化

http://www.fc.u-tokai.ac.jp/~oki/98/argo/

⇒ 4-2. 棒グラフによる可視化


JAWAA:Java アプレットでアルゴリズム・アニメーションを作るツール

http://www.cs.duke.edu/csed/jawaa2/

 JAWAA EXAMPLES

 http://www.cs.duke.edu/csed/jawaa2/examples.html

  Depth First Search (有向グラフの縦型探索)

  http://www.cs.duke.edu/csed/jawaa2/examples/DFS.html


ビジュアライゼーション

http://www.vogue.is.uec.ac.jp/~koike/papers/bit/bit.html

⇒ 2.3.3 アルゴリズムアニメーション


"アルゴリズム・アニメーション" で検索.

http://www.google.co.jp/search?q=%22%E3%82%A2%E3%83%AB%E3%82%B4%...

id:skoji-jp

質問時は失念していましたが、ソートを動的にビジュアライズするものは何度か見たことがあります。

が、「アルゴリズムアニメーション」というジャンルがあるのは知りませんでした。

わたしは、質問で例にあげたような抽象度(実装言語にある程度依存)での可視化を想定していたの

ですが、これもまた、少し高い抽象度でプログラマのあたまの中にできるモデルの、動的な可視化

といえますね。

ありがとうございます。

2009/03/13 00:15:22
  • id:skoji-jp
    ひとつ近そうなものを見つけました。

    http://ci.nii.ac.jp/naid/110006421078/

    中身はオンラインではまだ閲覧できないようです。
    引用文献が分かればいろいろ辿れそうなのですが...。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません