講演抄録/キーワード |
講演名 |
2013-01-10 15:15
Malbolge低級アセンブリプログラミングにおける制御命令の配置設計のためのSATソルバの利用 ○安藤 聡・酒井正彦・坂部俊樹・草刈圭一朗・西田直樹(名大) |
抄録 |
(和) |
Malbolgeは最も難解なプログラミング言語として知られている.低級アセンブリ言語の開発によりMalbolgeのループプログラムの作成が可能になったものの,低級アセンブリプログラムでは変数を引数とする命令はその変数宣言の直前に記述しなければならず実行制御が必要不可欠なことと,制御命令には無条件ジャンプとアクセスの度にジャンプとスルーが入れ替わるフリップフロップジャンプしか存在しないことから,低級アセンブリ言語でのプログラミングにも困難が伴う.これまで制御命令の配置設計は手作業により行われており,実行トレーサを利用しているものの,非常に困難であった.本稿では,Malbolgeの低級アセンブリプログラミングにおける制御命令の配置設計にSATソルバを利用した手法を提案することで,この問題の解決を試みる.そのため,制御命令の配置問題を定式化し,その問題のSATエンコーディングを提案する.実験により,提案手法を利用した制御命令配置設計ツールの性能を評価する. |
(英) |
Malbolge is known as one of the most esoteric programming languages. Although it became possible to write programs in Malbolge due to the development of the low-level assembly language, we still have a problem that the programming in the low-level assembly language is difficult. This is because for each variable, instructions that take the variable in their arguments are allowed to be placed just above of the variable in the low-level assembly programs, and control-instructions in the low-level assembly language are only unconditional jumps and flip-flop jumps, where the latter alternate jump and no-operations. So far we have to design control structures, i.e., layout of control-instructions, by hand, which is very difficult even if we have an execution tracer for low-level assembly programs. In this paper, to solve this problem, we propose a method to design layout of control-instructions of the low-level assembly language efficiently by using state-of-art SAT solvers. We define a control-instruction layout problem, and propose a SAT encoding for this problem. We also evaluate the performance of control-instruction layout tools based on our method. |
キーワード |
(和) |
難解プログラミング言語 / Malbolge / SATソルバ / 制御命令の配置設計 / / / / |
(英) |
Esoteric programming language / Malbolge / SAT solver / Control-Instruction Layout / / / / |
文献情報 |
信学技報, vol. 112, no. 373, SS2012-50, pp. 25-30, 2013年1月. |
資料番号 |
SS2012-50 |
発行日 |
2013-01-03 (SS) |
ISSN |
Print edition: ISSN 0913-5685 Online edition: ISSN 2432-6380 |
PDFダウンロード |
|