Abstract
Researchers have studied approaches to detect fault-prone modules for a long time. As one of these approaches, we proposed an approach using a text filtering technique. In this approach, we assume that faults relate to words and contexts in a software module. Our technique accepts inputs as a text information. Based on a dictionary that was learned by classifying modules that induce faults, the fault inducing probability over a target module is calculated, and it judges whether the given module is a fault-prone module.
Although our approach targeted the source code of software, especially in embedded software, the analysis of byte-code is also required. The source code based fault detection suffered from noises such as the way of writing, the used name of identifiers, and so on. Eliminating such noises may improve the accuracy of prediction. In this study, we aimed at fault detection from the byte-code of Java. Specifically, we tried to detect faults from the dis-assembled intermediate code of Java class file. To show the effectiveness of our approach, we conducted an experiment and compared our approach with source code based approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
Mnemonic means human-readable character string that have a one-to-one relation with op-codes.
- 4.
This “word” means an element that composes source code except “;”; variable names, operands, and keywords.
References
Briand, L.C., Melo, W.L., Wust, J.: Assessing the applicability of fault-proneness models across object-oriented software projects. IEEE Trans. Softw. Eng. 28(7), 706–720 (2002)
Chen, T., Feng, J., Tse, T.: Metamorphic testing of programs on partial differential equations: a case study. In: Proceedings of the 26th Annual International Computer Software and Applications Conference (COMPSAC 2002), pp. 327–333. IEEE Computer Society, Los Alamitos, CA (2002)
Graves, T.L., Karr, A.F., Marron, J., Siy, H.: Predicting fault incidence using software change history. IEEE Trans. Softw. Eng. 26(7), 653–661 (2000)
Gyimóthy, T., Ferenc, R., Siket, I.: Empirical validation of object-oriented metrics on open source software for fault prediction. IEEE Trans. Softw. Eng. 31(10), 897–910 (2005)
Jureczko, M., Madeyski, L.: Towards identifying software project clusters with regard to defect prediction. In: Proceedings of the 6th International Conference on Predictive Models in Software Engineering (PROMISE 2010), p. 10, Article no. 9. ACM, New York, NY, USA (2010)
Menzies, T., Rees-Jones, M., Krishna, R., Pape, C.: The promise repository of empirical software engineering data (2015). http://openscience.us/repo
Mizuno, O., Ikami, S., Nakaichi, S., Kikuno, T.: Fault-prone filtering: detection of fault-prone modules using spam filtering technique. In: Proceedings of 1st International Symposium on Empirical Software Engineering and Measurement, Madrid, Spain (2007)
Mizuno, O., Kikuno, T.: Training on errors experiment to detect fault-prone software modules by spam filter. In: Proceedings of 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 405–414 (2007)
Nagappan, N., Ball, T.: Static analysis tools as early indicators of pre-release defect density. In: Proceedings of 27th International Conference on Software Engineering, pp. 580–586. ACM, New York, NY, USA (2005)
Ostrand, T., Weyuker, E., Bell, R.: Predicting the location and number of faults in large software systems. IEEE Trans. Softw. Eng. 31(4), 340–355 (2005)
Rahman, F., Posnett, D., Devanbu, P.: Recalling the “imprecision" of cross-project defect prediction. In: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE 2012, pp. 61:1–61:11. ACM, New York, NY, USA (2012). http://doi.acm.org/10.1145/2393596.2393669
Seliya, N., Khoshgoftaar, T.M., Zhong, S.: Analyzing software quality with limited fault-proneness defect data. In: Proceedings of 9th IEEE International Symposium on High-Assurance Systems Engineering, pp. 89–98 (2005)
Yerazunis, W.S.: CRM114 - the Controllable Regex Mutilator. http://crm114.sourceforge.net/
Zheng, J., Williams, L., Nagappan, N., Snipes, W., Hudepohl, J.P., Vouk, M.A.: On the value of static analysis for fault detection in software. IEEE Trans. Softw. Eng. 32(4), 240–253 (2006). doi:10.1109/TSE.2006.38
Acknowledgment
This work was supported by JSPS KAKENHI Grant Number 15K00096.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Fujiwara, T., Mizuno, O., Leelaprute, P. (2015). Fault-Prone Byte-Code Detection Using Text Classifier. In: Abrahamsson, P., Corral, L., Oivo, M., Russo, B. (eds) Product-Focused Software Process Improvement. PROFES 2015. Lecture Notes in Computer Science(), vol 9459. Springer, Cham. https://doi.org/10.1007/978-3-319-26844-6_30
Download citation
DOI: https://doi.org/10.1007/978-3-319-26844-6_30
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-26843-9
Online ISBN: 978-3-319-26844-6
eBook Packages: Computer ScienceComputer Science (R0)