The Experts below are selected from a list of 78 Experts worldwide ranked by ideXlab platform
Tsong Yueh Chen - One of the best experts on this subject based on the ideXlab platform.
-
Backward Slice based statistical fault localization without test oracles
International Conference on Quality Software, 2013Co-Authors: Tsong Yueh ChenAbstract:A recent promising technique for fault localization, Backward-Slice-based Statistical Fault Localization (BSSFL), statistically analyzes the Backward Slices and results of a set of test cases to evaluate the suspiciousness of a statement being faulty. However, BSSFL like many existing fault localization approaches assumes the existence of a test oracle to determine whether the result of a test case is a failure or pass. In reality, test oracles do not always exist, and therefore in such cases BSSFL can be severely infeasible. Among current research, metamorphic testing has been widely studied as a technique to alleviate the oracle problem. Hence, we leverage metamorphic testing to conduct BSSFL without test oracles. With metamorphic testing, our approach uses the Backward Slices and the metamorphic result of violation or non-violation for a metamorphic test group, rather than the Backward Slice and the result of failure or pass for an individual test case in BSSFL. Because our approach does not need the execution result of a test case, it implies that BSSFL can be extended to those application domains where no test oracle exists. The experimental results on 8 programs and 2 groups of the maximal suspiciousness evaluation formulas show that our proposed approach demonstrates the effectiveness comparable to that of existing BSSFL techniques in the cases where test oracles exist.
-
QSIC - Backward-Slice-Based Statistical Fault Localization without Test Oracles
2013 13th International Conference on Quality Software, 2013Co-Authors: Tsong Yueh ChenAbstract:A recent promising technique for fault localization, Backward-Slice-based Statistical Fault Localization (BSSFL), statistically analyzes the Backward Slices and results of a set of test cases to evaluate the suspiciousness of a statement being faulty. However, BSSFL like many existing fault localization approaches assumes the existence of a test oracle to determine whether the result of a test case is a failure or pass. In reality, test oracles do not always exist, and therefore in such cases BSSFL can be severely infeasible. Among current research, metamorphic testing has been widely studied as a technique to alleviate the oracle problem. Hence, we leverage metamorphic testing to conduct BSSFL without test oracles. With metamorphic testing, our approach uses the Backward Slices and the metamorphic result of violation or non-violation for a metamorphic test group, rather than the Backward Slice and the result of failure or pass for an individual test case in BSSFL. Because our approach does not need the execution result of a test case, it implies that BSSFL can be extended to those application domains where no test oracle exists. The experimental results on 8 programs and 2 groups of the maximal suspiciousness evaluation formulas show that our proposed approach demonstrates the effectiveness comparable to that of existing BSSFL techniques in the cases where test oracles exist.
Paolo Tonella - One of the best experts on this subject based on the ideXlab platform.
-
SCAM - Barrier Slicing for Remote Software Trusting
Seventh IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2007), 2007Co-Authors: Mariano Ceccato, Jasvir Nagra, Christian Collberg, Mila Dalla Preda, Paolo TonellaAbstract:Remote trusting aims at verifying the "healthy" execution of a program running on an untrusted client that communicates with a trusted server via network connection. After giving a formal definition of the remote trusting problem and a test to determine whether an attack against a given remote trusting scheme is successful or not, we propose a protection against malicious modification of the client code, based on the replication of a portion of the client on the server. To minimize the size of the code that is replicated, we propose to use barrier slicing. We show the feasibility of our approach on a case study. Our results indicate that a barrier Slice is significantly smaller than the corresponding Backward Slice while providing the same level of protection.
-
Barrier Slicing for Remote Software Trusting
Seventh IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2007), 2007Co-Authors: Mariano Ceccato, Jasvir Nagra, Christian Collberg, Mila Dalla Preda, Paolo TonellaAbstract:Remote trusting aims at verifying the "healthy" execution of a program running on an untrusted client that communicates with a trusted server via network connection. After giving a formal definition of the remote trusting problem and a test to determine whether an attack against a given remote trusting scheme is successful or not, we propose a protection against malicious modification of the client code, based on the replication of a portion of the client on the server. To minimize the size of the code that is replicated, we propose to use barrier slicing. We show the feasibility of our approach on a case study. Our results indicate that a barrier Slice is significantly smaller than the corresponding Backward Slice while providing the same level of protection.
Chengsong Wang - One of the best experts on this subject based on the ideXlab platform.
-
Slice-based statistical fault localization
Journal of Systems and Software, 2014Co-Authors: Yuhua Qi, Chengsong WangAbstract:HighlightsWe propose a novel Slice-based statistical fault localization approach to improve fault localization effectiveness.We present an approximate dynamic Backward slicing approach to balance the size and accuracy of a Slice.An experimental study on a sufficient number of faulty versions and fault localization techniques shows the high applicability and effectiveness of our approach. Recent techniques for fault localization statistically analyze coverage information of a set of test runs to measure the correlations between program entities and program failures. However, coverage information cannot identify those program entities whose execution affects the output and therefore weakens the aforementioned correlations. This paper proposes a Slice-based statistical fault localization approach to address this problem. Our approach utilizes program Slices of a set of test runs to capture the influence of a program entity's execution on the output, and uses statistical analysis to measure the suspiciousness of each program entity being faulty. In addition, this paper presents a new slicing approach called approximate dynamic Backward Slice to balance the size and accuracy of a Slice, and applies this Slice to our statistical approach. We use two standard benchmarks and three real-life UNIX utility programs as our subjects, and compare our approach with a sufficient number of fault localization techniques. The experimental results show that our approach can significantly improve the effectiveness of fault localization.
-
COMPSAC - Effective Statistical Fault Localization Using Program Slices
2012 IEEE 36th Annual Computer Software and Applications Conference, 2012Co-Authors: Chengsong WangAbstract:Recent techniques for fault localization statistically analyze coverage information of a set of test runs to measure the correlations between program entities and program failures. However, coverage information cannot identify those program entities whose execution affects the output, which weakens the aforementioned correlations. Thus, this paper proposes a novel statistical fault localization approach to address this problem. Our statistical approach utilizes program Slices of a set of test runs to capture the influence of a program entity's execution on the output, and uses statistical analysis to measure the suspiciousness of program entities to be faulty. In addition, this paper presents a new slicing approach called approximate dynamic Backward Slice to balance the size and accuracy of a Slice, and applies this Slice to our statistical approach. The experimental results on two standard benchmarks show that our statistical approach significantly outperforms eight representative fault localization techniques.
Mariano Ceccato - One of the best experts on this subject based on the ideXlab platform.
-
SCAM - Barrier Slicing for Remote Software Trusting
Seventh IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2007), 2007Co-Authors: Mariano Ceccato, Jasvir Nagra, Christian Collberg, Mila Dalla Preda, Paolo TonellaAbstract:Remote trusting aims at verifying the "healthy" execution of a program running on an untrusted client that communicates with a trusted server via network connection. After giving a formal definition of the remote trusting problem and a test to determine whether an attack against a given remote trusting scheme is successful or not, we propose a protection against malicious modification of the client code, based on the replication of a portion of the client on the server. To minimize the size of the code that is replicated, we propose to use barrier slicing. We show the feasibility of our approach on a case study. Our results indicate that a barrier Slice is significantly smaller than the corresponding Backward Slice while providing the same level of protection.
-
Barrier Slicing for Remote Software Trusting
Seventh IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2007), 2007Co-Authors: Mariano Ceccato, Jasvir Nagra, Christian Collberg, Mila Dalla Preda, Paolo TonellaAbstract:Remote trusting aims at verifying the "healthy" execution of a program running on an untrusted client that communicates with a trusted server via network connection. After giving a formal definition of the remote trusting problem and a test to determine whether an attack against a given remote trusting scheme is successful or not, we propose a protection against malicious modification of the client code, based on the replication of a portion of the client on the server. To minimize the size of the code that is replicated, we propose to use barrier slicing. We show the feasibility of our approach on a case study. Our results indicate that a barrier Slice is significantly smaller than the corresponding Backward Slice while providing the same level of protection.
Jasvir Nagra - One of the best experts on this subject based on the ideXlab platform.
-
SCAM - Barrier Slicing for Remote Software Trusting
Seventh IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2007), 2007Co-Authors: Mariano Ceccato, Jasvir Nagra, Christian Collberg, Mila Dalla Preda, Paolo TonellaAbstract:Remote trusting aims at verifying the "healthy" execution of a program running on an untrusted client that communicates with a trusted server via network connection. After giving a formal definition of the remote trusting problem and a test to determine whether an attack against a given remote trusting scheme is successful or not, we propose a protection against malicious modification of the client code, based on the replication of a portion of the client on the server. To minimize the size of the code that is replicated, we propose to use barrier slicing. We show the feasibility of our approach on a case study. Our results indicate that a barrier Slice is significantly smaller than the corresponding Backward Slice while providing the same level of protection.
-
Barrier Slicing for Remote Software Trusting
Seventh IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2007), 2007Co-Authors: Mariano Ceccato, Jasvir Nagra, Christian Collberg, Mila Dalla Preda, Paolo TonellaAbstract:Remote trusting aims at verifying the "healthy" execution of a program running on an untrusted client that communicates with a trusted server via network connection. After giving a formal definition of the remote trusting problem and a test to determine whether an attack against a given remote trusting scheme is successful or not, we propose a protection against malicious modification of the client code, based on the replication of a portion of the client on the server. To minimize the size of the code that is replicated, we propose to use barrier slicing. We show the feasibility of our approach on a case study. Our results indicate that a barrier Slice is significantly smaller than the corresponding Backward Slice while providing the same level of protection.