日本フィジカルAI新聞

世界のフィジカルAIを、日本語で。

週刊ニュースレター購読
プログラミング支援AIarXiv:2610.36341

プログラムをモデル化するプログラムの実行可能考古学:ヒューリスティック・コンパイラ(1961)とKBEmacs(1984)の再蘇生

Executable Archaeology of Programs That Model Programming: Reanimating the Heuristic Compiler (1961) and KBEmacs (1984)

シェア:XThreadsFacebookLINEはてブBluesky

1961年のヒューリスティック・コンパイラと1984年のKBEmacsという2つの歴史的プログラミング支援プログラムを元のコードで再実行し、両者のプログラミング理論の共通点を明らかにした。

詳しい要約

1. どんなもの?

1960年代と1980年代の「プログラムを書くプログラム」2件を、当時のコードを実行して蘇らせる Executable Archaeology(reanimation)の研究。 - 対象1: Herbert Simon の Heuristic Compiler (1961)。General Problem Solver の means-ends analysis を用い、プログラミングを問題解決としてモデル化した実験的理論。 - 対象2: KBEmacs (1984)。MIT Programmer's Apprentice project による知的プログラミング支援のプロトタイプで、expert programmer が cliche を認識・組合せるとする立場に基づく。 - 両者を並べて比較し、プログラミング理論としての共通点を論じる。

2. 先行研究と比べてどこがすごい?

先行研究との比較は要旨からは不明。 - 本研究の新規性は、歴史的システムを原コードの実行で検証する Executable Archaeology の実践にある。 - Heuristic Compiler の reanimation は Simon 1963 論文に現れる compiled code を再現。 - KBEmacs の reanimation は 1984年12月の self-test の SQRT sequence を再現。 - 両理論を side by side で比較し、共通点(既存 routine の適応、programming knowledge の必要性)を示す点が特徴。

3. 技術・手法の肝は?

手法の肝は Executable Archaeology と呼ぶ方法論で、歴史的計算システムを元のコードの実行により研究する(reanimation)。 - Heuristic Compiler は General Problem Solver の means-ends analysis を programming task に適用する設計。 - KBEmacs は cliche を stylized English command language で組合せてプログラムを構築させる。 - 再現作業の多くを Anthropic の Claude Code (Opus 5.5) という現代的 AI-assisted programming tool で実施し、既存 software base 上に構築。 - 両システムの理論を実行可能性の観点から比較する reflexive な構成。

4. どうやって有効だと検証した?

有効性は再現性で検証。 - Heuristic Compiler の reanimation が Simon 1963 論文の compiled code を再現することを確認。 - KBEmacs の reanimation が 1984年12月の self-test における SQRT sequence を再現することを確認。 - 両者を side by side で検討し、Heuristic Compiler も既存 routine の適応で動くこと、Simon が後に search だけでは大規模な programming knowledge が必要と論じたことを導く。 - 定量的評価は要旨からは不明。

5. 議論はある?

両システムの理論の比較と現代的含意が議論の中心。 - 一見異なる2理論(problem-solving としてのプログラミング vs cliche の認識・結合)が多くの共通点を持つと指摘。 - Heuristic Compiler も既存 routine を適応しており、Simon は後に search のみでは大規模な programming knowledge が必要と主張。 - 両システムが体現した明示的で実行可能な programming 理論は、今日のより高性能な AI coding assistants にはほぼ欠けていると論じる。 - 研究自体の reflexivity(AI 支援ツールで reanimation を実施)も話題。

6. 次に読むべき論文は?

要旨で参照・比較されている研究を挙げる。 - Herbert Simon の Heuristic Compiler (1961) と Simon 1963 論文(compiled code の記述)。 - General Problem Solver(means-ends analysis)。 - KBEmacs (1984) と MIT Programmer's Apprentice project。 - Anthropic の Claude Code (Opus 5.5)。 - 関連する一般分野として Executable Archaeology / reanimation の方法論。

※ AIが要旨から生成した要約です。正確性は原文をご確認ください。

著者: Jeff Shrager, Kent M. Pitman, Mia Golec

分類: cs.AI, cs.HC, cs.PL

原文アブストラクト

Early AI programs were often also theories of how people think, and programs that wrote programs were, in part, theories of how people program. Here we report on the reanimation of two such programs that offer two seemingly different theories of programming and were developed for quite different purposes. The first, Herbert Simon's Heuristic Compiler (1961), was an experimental model of programming as problem-solving, applying the means-ends analysis methods of the General Problem Solver to investigate the nature of the programming task. The second, KBEmacs (1984), was a working prototype of an intelligent programming assistant developed by MIT's Programmer's Apprentice project, built on the view that expert programmers recognize and combine familiar patterns, or "cliches." It let a programmer build up programs by combining cliches through a stylized English command language. We approach both through the methodology of Executable Archaeology, the study of historical computational systems by running their original code, a process we call "reanimation." Our reanimation of the Heuristic Compiler reproduces the compiled code appearing in Simon's 1963 paper, and our reanimation of KBEmacs reproduces the SQRT sequence of its December 1984 self-test. Examined side by side, the two theories turn out to have much in common: the Heuristic Compiler also works by adapting existing routines, and Simon later argued that search alone requires a large body of programming knowledge. To highlight the reflexivity of this project, we deliberately used a modern AI-assisted programming tool, Anthropic's Claude Code (Opus 5.5), to carry out much of the detailed reanimation work, building on a significant base of existing software. The explicit, executable theories of programming that both systems embodied are largely absent from today's far more capable AI coding assistants.

PR本紙発行元 EmplifAI