初学者向けに無限ループを検出するツールを作りたいと思っています
確かに制作したプログラムをコンパイルし、実行してしまったらいいのですが…
初学者には無限ループを発見するのが難しいと思います
そこで、初学者に対しどこが無限ループの可能性があるかを教えるツールの開発を目指しています
自分の中ではオーバーヘッドがない(少ない)静的解析を行いたいと思っています
構文解析を行い、ループ文を発見したあとの考え方が分からずに困っています
条件文に使う値の変化はデータフロー解析を用いればいいことはわかっていますが、その解析にもいろいろな種類があり、どれをどのように使えばいいかわかりません
また、ループ分中の条件文の変数の変化をどう考慮して無限ループを検出するかが思いつかず困っています
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
難しいのでは? 昔プログラマでCOBOLを使って居ましたけど、流れが分からないと判断出来ない。
条件で分岐した先がどうなっているのかなどは全体を見ないと分かりません。スパゲッティプログラムと呼ばれる複雑怪奇な文章の時は非常に判断が困難でした。簡単な物は条件式の設定の確認。入力されたものがその条件に当てはまるのか。100までしか無いのに1000以上でループを抜け出すという条件では終わりませんから。
どのような間違いが多いのかを見つけ出すことでしょうね。
当時体験したのが、何も処理を行わないで条件をチェックし続けるループがあり、無限ループになるのを時刻表示させることで回避した経験が有ります。
機械的な条件もありますから。
チェックするには常にプログラムが擬似的に実行している状態にしないと難しいかな?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- 教育・学術・研究 仕事の方向性を変えたい。経営分析→数値解析 1 2023/06/18 16:51
- 宇宙科学・天文学・天気 AIが答えた方程式 1 2023/02/20 00:12
- ノートパソコン Windows10(?).pcを修復できませんでした の無限ループ PC無知で、アドバイスお願い致し 5 2022/06/26 16:24
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- 統計学 加重最小二乗法=①「変数を自然対数変換」=②「誤差項の分散の逆数を重み付け」? 8 2022/11/26 11:15
- Java Java 南京錠 2 2023/02/04 11:46
- 物理学 微分方程式の物理現象への適用について 3 2023/05/14 12:22
- 楽天市場 楽モバの請求とポイント払いと質問チャット 2 2023/03/27 11:58
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
break文でループを一気に抜ける...
-
do-while文が禁止される理由
-
繰り返し文の利点について
-
入力した文字列から母音だけを...
-
for文while文の無限ループの違...
-
ループの特定入力終了
-
C言語forループが完結した場合...
-
if文を使わずに奇数・偶数を判断
-
階層型ニューラルネットに準ニ...
-
アルゴリズムです!四つの数字...
-
C言語のfor文です。 繰り返しの...
-
2÷3などの余りについて
-
信頼区間の1.96や1.65ってどこ...
-
Enterキーを押されたら次の処理...
-
*をユーザーが入力した数字の数...
-
fgetsなどのときのstdinのバッ...
-
C言語で%を使わない余りの出し方
-
C言語
-
プログラムでの数字につく”f”の...
-
マイナスからプラスへ転じた時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
break文でループを一気に抜ける...
-
do-while文が禁止される理由
-
ループを途中で抜けたいのですが。
-
入力した数値を倍々するプログラム
-
入力した文字列から母音だけを...
-
if文の中にfor文なのか、for文...
-
C言語forループが完結した場合...
-
エクセルでC言語のfor文と同じ...
-
Excel VBAで年度をまたぐ期間の...
-
For文の終了値を関数にしても問...
-
エクセルVBAで Do While (1)って?
-
C言語、whileループを抜け出す...
-
PAD図の書き方
-
Cプログラムが終了しない
-
PIC のプログラムについて ど...
-
他言語で言うcontinue文
-
C言語のプログラムみてください...
-
ループの特定入力終了
-
COBOLのEVALUATE文
-
for文while文の無限ループの違...
おすすめ情報