2024-03-30T00:11:23Zhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_oaipmhoai:ipsj.ixsq.nii.ac.jp:000165192020-10-27T05:02:43Z00934:00935:00945:00948
マルチスレッドに対応したプログラム実行制御・監視環境A Directing Platform for Multi-threaded Programsjpn通常論文http://id.nii.ac.jp/1001/00016519/Articlehttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=16519&item_no=1&attribute_id=1&file_no=1Copyright (c) 2007 by the Information Processing Society of Japan慶應義塾大学慶應義塾大学慶應義塾大学/中央大学孝壽, 俊彦高田, 眞吾土居, 範久ソフトウェアを開発する際には,実際に開発中のプログラムを実行し,その振舞いを調査する作業が頻繁に繰り返される.これは,実際にプログラムを実行してみることが,不具合の検出や,その原因の特定,プログラムに対する理解などに欠かすことができないためである.このような作業を支援するツールを,総称してdirectorと呼ぶ.Directorは,その種類や目的にかかわらず,プログラムの実行の制御と監視の2種類の基本機能を必要とする場合が多い.そこで筆者らは以前の研究で,director開発者に対しこれらの基本機能を提供する,プログラム実行制御・監視環境を提案した.しかし筆者らの環境には,マルチスレッドプログラムの実行を考慮していないという問題があった.そこで本論文では,マルチスレッドプログラムに対応したdirectorの開発のための,プログラム実行制御・監視環境を提案する.提案環境では,マルチスレッドプログラムの実行の監視を非常に柔軟に行うことができる.Directorはこの機能を利用することで,必要最小限の部分のみを監視し,オーバヘッドを抑えることなどが可能となる.提案環境は,ユーザ空間スレッド機構を組み込んだ仮想マシンを利用して,このような機能を実現している.また本論文では,実際に提案環境を利用して構築したdirectorの例を紹介し,その評価結果についても述べる.Executing a program under development and examining its behavior is a frequently repeated task during software development. Such tasks are necessary for detecting bugs, finding the causes of bugs, understanding the program itself, and etc. Tools which can assist such tasks are called directors. In general, directors require two basic functionalities: control and monitor of program executions. Therefore, in our previous research, we proposed a directing platform to offer these functionalities to director developers. However, our directing platform did not consider execution of multi-threaded programs. In this paper, we focus specifically on directors for multi-threaded programs, and propose a new directing platform. Our directing platform enables flexible monitoring of multi-threaded program executions. This is important for directors since it enables their overhead to be limited only at the necessary parts of the executions. Our platform realizes such functionalities by incorporating a user space threading system into a virtual machine and executing multi-threaded programs on it. We developed an example director using our platform. In this paper, we also describe the details of this director and the evaluation results.AA11464814情報処理学会論文誌プログラミング(PRO)48SIG4(PRO32)14262007-03-151882-78022009-06-30