Username   Password       Forgot your password?  Forgot your username? 


From Predicate Testing to Identify Fault Location for Safety-Critical Software

Volume 14, Number 9, September 2018, pp. 2066-2075
DOI: 10.23940/ijpe.18.09.p15.20662075

Yong Wanga,b, Qiansong Wanga, Guifu Lua, Zhiqiu Huangc, Bingwu Fangc, Yong Lic, and Weiwei Lic

aSchool of Computer and Information, Anhui Polytechnic University, Wuhu, 241000, China
bKey Laboratory of Safety-Critical Software, Nanjing University of Aeronautics and Astronautics, Nanjing, 210000, China
cCollege of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing, 210016, China

(Submitted on May 23, 2018; Revised on July 11, 2018; Accepted on August 11, 2018)


Statistical fault localization is one of the essential tasks of program debugging, and it has shown that the evaluation history of predicates may disclose important clues about the root cause of failures. However, especially for safety-critical software, there exists evaluation bias using same granularity to measure simple predicates and complex compound predicates. Intuitively, we should use fine-grain predicates to evaluate the suspiciousness of complex compound predicates and reduce the evaluation bias. In this paper, we propose a novel predicate fault localization technique from predicate testing to identify fault location. Based on the predicate fault model, we first generate constraint sets for each predicate and then calculate the suspiciousness of predicates by evaluating their constraint sets. Finally, we sort the suspicious predicates by their suspiciousness. Our preliminary results show that our approach can significantly improve fault predicate absolute ranking.


References: 20

                1. V. H. S. Durelli, J. Offutt, N. Li, et al., “What to Expect of Predicates: An Empirical Analysis of Predicates in Real World Programs,” Journal of Systems and Software, Vol. 113, pp. 324-336, 2016
                2. W. E. Wong, R. Gao, Y. Li, et al., “A Survey on Software Fault Localization,” IEEE Transactions on Software Engineering, Vol. 42, No. 8, pp. 707-740, 2016
                3. B. Liblit, M. Naik, A. X. Zheng, et al., “Scalable Statistical Bug Isolation,” ACM Sigplan Notices, Vol. 40, No. 6, pp. 15-26. 2005
                4. C. Liu, X. Yan, L. Fei, et al., “SOBER: Statistical Model-based Bug Localization,” ACM SIGSOFT Software Engineering Notes, Vol. 30, No. 5, pp. 286-295, 2005
                5. H. Do, S. Elbaum, and G. Rothermel, “Supporting Controlled Experimentation with Testing Techniques: An Infrastructure and Its Potential Impact,” Empirical Software Engineering, Vol. 10, No. 4, pp. 405-435, 2005
                6. M. F. Lau and Y. T. Yu, “An Extended Fault Class Hierarchy for Specification-based Testing,” ACM Transactions on Software Engineering and Methodology (TOSEM), Vol. 14, No. 3, pp. 247-276, 2005
                7. A. P. Mathur, “Foundations of Software Testing, 2/E,” Pearson Education India, 2013
                8. C. Parnin and A. Orso, “Are Automated Debugging Techniques Actually Helping Programmers,” in Proceedings of the 2011 International Symposium on Software Testing and Analysis, ACM, pp. 199-209, 2011
                9. Y. Wang, Z. Huang, and Y. Li, et al., “Lightweight Fault Localization Combined with Fault Context to Improve Fault Absolute Rank,” Science China Information Sciences, Vol. 60, No. 9, pp. 092113, 2017
                10. Y. Wang, Z. Huang, B. Fang, et al., “Spectrum-based Fault Localization via Enlarging Non-Fault Region to Improve Fault Absolute Ranking,” IEEE ACCESS, Vol. 6, pp. 8925-8933, 2018
                11. S. Pearson, J. Campos, R. Just, et al., “Evaluating and Improving Fault Localization,” in Proceedings of the 39th International Conference on Software Engineering, IEEE Press, pp. 609-620, 2017
                12. X. Zhang, N. Gupta, and R. Gupta, “Locating Faults through Automated Predicate Switching,” in Proceedings of the 28th International Conference on Software Engineering, ACM, pp. 272-281, 2006
                13. W. E. Wong, V. Debroy, R. Z. Gao, et al., “The DStar Method for Effective Software Fault Localization,” IEEE Transactions on Reliability, Vol. 63, No. 1, pp. 290-308, 2014
                14. Z. Zhang, B. Jiang, W. K. Chan, et al., “Fault Localization through Evaluation Sequences,” Journal of Systems and Software, Vol. 83, No. 2, pp. 174-187, 2010
                15. N. P. Arumuga, T. Chen, Rosin, et al., “Statistical Debugging using Compound Boolean Predicates,” in Proceedings of the 2007 International Symposium on Software Testing and Analysis, ACM, pp. 5-15, 2007
                16. T. Ayav, “Prioritizing MCDC Test Cases by Spectral Analysis of Boolean Functions,” Software Testing, Verification and Reliability, Vol. 27, No. 7, 2017
                17. L. A. Johnson, “Software Considerations in Airborne Systems and Equipment Certification,” Document RTCA/DO-178B, October 1998
                18. G. Kaminski, P. Ammann, and J. Offutt, “Better Predicate Testing,” in Proceedings of the 6th International Workshop on Automation of Software Test, ACM, pp. 57-63, 2011
                19. P. Ammann and J. Offutt, “Introduction to Software Testing,” Cambridge University Press, 2016
                20. M. J. Harrold, G. Rothermel, K. Sayre, et al., “An Empirical Investigation of the Relationship between Spectra Differences and Regression Faults,” Software Testing Verification and Reliability, Vol. 10, No. 3, pp. 171-194, 2000


                              Please note : You will need Adobe Acrobat viewer to view the full articles.Get Free Adobe Reader

                              Download this file (15-IJPE-09-15.pdf)15-IJPE-09-15.pdf[From Predicate Testing to Identify Fault Location for Safety-Critical Software]604 Kb
                              This site uses encryption for transmitting your passwords.