著者
來間 啓伸 佐藤 直人 中川 雄一郎 小川 秀人
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.61, no.2, pp.407-416, 2020-02-15

計算機システムが実世界と密に連携して動作するためには,論理的に記述・分析できない不確実性に適合するソフトウェアが必要であり,未知の入力値に対して学習データからの推論により出力値を返す機械学習の適用が注目されている.一方,このようなソフトウェアは入力データ空間が定義できず出力値に予測不能性があるため,ソフトウェアの振舞いを確率的にしか把握できない.本稿では,機械学習適用ソフトウェアの高信頼化を目的に,段階的詳細化による演繹的な開発法と機械学習による帰納的な開発法の結合についてテスト・検証の観点から述べ,開発プロセスと制約充足性テスト方法を提案する.我々のアプローチは,演繹的モジュールと帰納的モジュールを分離し,それらをつなぐ部分仕様を設定するとともに,前者については部分仕様が満たされることを前提に論理的な検証を行う一方,後者についてはテストにより部分仕様の充足確率を評価し,論理的な検証結果に確率を付与する.これにより,帰納的に開発した機械学習適用モジュールと演繹的に開発した論理モジュールを,システムの信頼性評価のもとで整合的に結合する.形式手法Event-Bを用いたケーススタディにより,実現可能性を評価した.
著者
湯淺 太一 中川 雄一郎 小宮 常康 八杉 昌宏
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.41, no.SIG09(PRO8), pp.87-99, 2000-11-15

Lispなどの大多数のリスト処理システムでは,不用セルを回収するためにごみ集め(GC)が行われる.一般的に採用されているGCは,ごみ集めの間プログラムの実行が中断されるので実時間処理には適さない.この問題を解決するために,ごみ集めの一連の処理を小さな部分処理に細分化し,プログラムの実行と並行してごみ集め処理を少しずつ進行させる実時間方式のGCが提案されている.代表的な実時間GCであるスナップショットGCは,スタックなどのルート領域から直接指されているセルをGC開始時にすべてマークしておかなければならない.この間の実行停止時間は,ルート領域の大きさによっては,無視できなくなる.そこで,関数からのリターン時にマーク漏れがないようにチェックすることで,スタックから直接指されているセルを関数フレーム単位でマークする方法を提案する.スタック上のルート領域をフレーム単位でマークしていき,ある関数からリターンする際に次の関数フレームがマークされているかどうかをチェックし,マークされていなければその関数フレームをマークしてからリターンする.これをリターン・バリアと呼ぶことにする.ルート領域のマークが終了したら,従来のスナップショットGCと同様に残りのセルをマークする.本論文では,Common Lisp処理系KCL(Kyoto Common Lisp)上でリターン・バリアを実装し,GCによる実行停止時間について,従来のスナップショットGCと比較評価および検討を行った.
著者
湯淺 太一 中川 雄一郎 小宮 常康 八杉 昌宏
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.41, no.9, pp.87-99, 2000-11-15
被引用文献数
8

Lispなどの大多数のリスト処理システムでは,不用セルを回収するためにごみ集め(GC)が行われる.一般的に採用されているGCは,ごみ集めの間プログラムの実行が中断されるので実時間処理には適さない.この問題を解決するために,ごみ集めの一連の処理を小さな部分処理に細分化し,プログラムの実行と並行してごみ集め処理を少しずつ進行させる実時間方式のGCが提案されている.代表的な実時間GCであるスナップショットGCは,スタックなどのルート領域から直接指されているセルをGC開始時にすべてマークしておかなければならない.この間の実行停止時間は,ルート領域の大きさによっては,無視できなくなる.そこで,関数からのリターン時にマーク漏れがないようにチェックすることで,スタックから直接指されているセルを関数フレーム単位でマークする方法を提案する.スタック上のルート領域をフレーム単位でマークしていき,ある関数からリターンする際に次の関数フレームがマークされているかどうかをチェックし,マークされていなければその関数フレームをマークしてからリターンする.これをリターン・バリアと呼ぶことにする.ルート領域のマークが終了したら,従来のスナップショットGCと同様に残りのセルをマークする.本論文では,Common Lisp処理系KCL(Kyoto Common Lisp)上でリターン・バリアを実装し,GCによる実行停止時間について,従来のスナップショットGCと比較評価および検討を行った.Garbage collection (GC) is the most popular method in list processing systems such as Lisp to reclaim discarded cells. GC periodically suspends the execution of the main list processing program. In order to avoid this problem, realtime GC which runs in parallel with the main program so that the time for each list processing primitive is bounded by some small constant has been proposed. The snapshot GC, which is one of the most popular realtime GC methods, has to mark all cells directly pointed to from the root area at the beginning of a GC process. The suspension of the main program by this root marking cannot be ignored when the root area is large. This paper proposes ``return barrier'' in order to divide the process of root marking into small chunks and to reduce the suspension time of the main program. The root area on the stack is marked frame by frame each time a new cell is requierd. When a function returns, the garbage collector checks if cells pointed to from the frame of the caller function have been already marked, and marks them if not. After marking all cells directly pointed to from the root area, other cells are marked as in the original snapshot GC .In this paper, we implemented the snapshot GC equipped with the return barrier in KCL (Kyoto Common Lisp). We compare and discuss the suspension times of this GC and the original snapshot GC.