@article{oai:doshisha.repo.nii.ac.jp:00022797, author = {上野, 智弘 and Ueno, Tomohiro and 芳賀, 博英 and Haga, Hirohide}, issue = {2}, journal = {同志社大学理工学研究報告, The Science and Engineering Review of Doshisha University}, month = {Jul}, note = {テストセットを評価する手法の1つに、ミューテーション解析がある。この手法では、プログラムに意図的にバグを埋め込んだミュータントを生成し、そのミュータントをテストセットが検出できるかによって、品質を評価する。ミュータントを生成する規則をミューテーションオペレータといい、それをプログラムに適用することで生成できる。しかし、すべてのステートメントに対してすべてのミューテーションオペレータを適用すると、生成される数が膨大になり、生成・コンパイル・実行時間が膨大になるので、品質評価に影響がない範囲で、生成される数を減らすことが望ましい。この問題は、すべてのステートメントに対してすべてのミューテーションオペレータを適用しているため発生するため、ミュータントの数を減らすには、ミューテーションオペレータを減らす、あるいは、ミューテーションオペレータを適用するステートメントを減らすことで解決できると考えられる。前者は、すでにOffuttらによって研究されているが、後者についてはまだ検討がなされていない。後者は、あるステートメントが他のステートメントにどの程度の影響度を持っているかを測り、それを基に、ミューテーションオペレータを適用するステートメントを減らすことで実現できる可能性がある。影響度を測ることができると考えられる手法の1つが、静的プログラムスライシングであり、静的プログラムスライシングツールの実装に必要な情報は、コンパイラで必要な情報と共通するものが多いので、コンパイラを開発する際に利用できるツールを使えると、工数が減らすことができるため、コンパイラ・インフラストラクチャであるCOINSを用いて実装した既存研究を参考にし、発展させた。, Mutation analysis is a method to evaluate software test cases set quality. In mutation analysis, mutant programs are generated by injecting bugs into original program intentionally. The quality of test cases set is evaluated whether the bugs are detected or not by the test cases set. We can generate mutant program by applying mutation operators, which are rules for injecting bugs to original programs, to statements in original program. However, when we apply all mutation operators to all statements in original program, the number of generated mutant programs becomes huge. When the number of generated mutant programs becomes huge, generation time, compilation time and execution time of mutant programs become enormous. Thus, it is necessary to reduce the number of generated mutant programs for practical application of mutation analysis. This problem comes from applying all mutation operators to all statements in original program. Therefore, reducing the number of mutation operators or the number of statements in original program to which we apply mutation operators will solve this problem. The method to reduce the number of mutation operators has already been studied by Offutt et al. The method to reduce the number of statements may be implemented by selecting statement to apply the mutation operators. In order to select statements, we propose the impact factor of each statement. Impact factor represents the degree of impact of each statement. Using static program slicing is a promising candidate of impact factor representation. Computing static slicing can be implemented by using information obtained from compiler. Therefore implementing slicing tool by using compiler development tool reduces the development time and cost. In this article, we adopted the COINS compiler infrastructure to implement statics slicing tool., application/pdf}, pages = {145--154}, title = {COINSを用いた静的プログラムスライシングツールの実装}, volume = {55}, year = {2014}, yomi = {ウエノ, トモヒロ and ハガ, ヒロヒデ} }