2024-03-28T14:52:24Z
https://nagoya.repo.nii.ac.jp/oai
oai:nagoya.repo.nii.ac.jp:00021417
2023-01-16T04:10:39Z
312:313:314
Using SAT Solvers for Solving Control-Instruction Layout Problems in Low-Level Assembly Programming for Malbolge
Malbolge低級アセンブリプログラミングにおける制御命令の配置設計のためのSATソルバの利用
安藤, 聡
62149
酒井, 正彦
62150
坂部, 俊樹
62151
草刈, 圭一朗
62152
西田, 直樹
62153
ANDO, Satoshi
62154
SAKAI, Masahiko
62155
SAKABE, Toshiki
62156
KUSAKARI, Keiichirou
62157
NISHIDA, Naoki
62158
難解プログラミング言語
Malbolge
SATソルバ
制御命令の配置設計
Esoteric programming language
SAT solver
Control−Instruction Layout
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.
IEICE Technical Report;SS2012-50
journal article
一般社団法人電子情報通信学会
2013-01
application/pdf
電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス
373
112
25
30
http://ci.nii.ac.jp/naid/110009728078/
http://hdl.handle.net/2237/23561
0913-5685
https://nagoya.repo.nii.ac.jp/record/21417/files/110009728078.pdf
jpn
IEICE Technical Report;SS2012-50
http://ci.nii.ac.jp/naid/110009728078/
(c)一般社団法人電子情報通信学会 本文データは学協会の許諾に基づきCiNiiから複製したものである