Skip to main content
Log in

Predicting the fault-proneness of class hierarchy in object-oriented software using a layered kernel

  • Published:
Journal of Zhejiang University-SCIENCE A Aims and scope Submit manuscript

Abstract

A novel kernel learning method for object-oriented (OO) software fault prediction is proposed in this paper. With this method, each set of classes that has inheritance relation named class hierarchy, is treated as an elemental software model. A layered kernel is introduced to handle the tree data structure corresponding to the class hierarchy models. This method was validated using both an artificial dataset and a case of industrial software from the optical communication field. Preliminary experiments showed that our approach is very effective in learning structured data and outperforms the traditional support vector learning methods in accurately and correctly predicting the fault-prone class hierarchy model in real-life OO software.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Basili, V., Briand, L., Melo, W., 1996. A validation of object-oriented design metrics as quality indicators. IEEE Trans. on Software Eng., 22(10):751–761. [doi:10.1109/32.544352]

    Article  Google Scholar 

  • Berard, E.V., 1998. Metrics for Object-oriented Software Engineering. Available at http://www.ipipan.gda.pl/~marek/objects/TOA/moose.html

  • Bille, P., 2005. A survey on tree edit distance and related problems. Theor. Comput. Sci., 337(1–3):217–239. [doi:10.1016/j.tcs.2004.12.030]

    Article  MathSciNet  MATH  Google Scholar 

  • Briand, L., Wust, J., 2002. Empirical Studies of Quality Models in Object-oriented Systems. Proc. Advances in Computers. Elsevier, London, p.98–167.

    Google Scholar 

  • Briand, L., Wust, J., Daly, J., Victor, P.D., 2000. Exploring the relationships between design measures and software quality in object-oriented systems. J. Syst. Software, 51(3):245–273. [doi:10.1016/S0164-1212(99)00102-8]

    Article  Google Scholar 

  • Cartwright, M., Shepperd, M., 2000. An empirical investigation of an object-oriented software system. IEEE Trans. on Software Eng., 26(8):786–796. [doi:10.1109/32.879814]

    Article  Google Scholar 

  • Chang, C.C., Lin, C.J., 2001. LIBSVM: A Library for Support Vector Machines. Available at http://www.csie.ntu.edu.tw/~cjlin/libsvm

  • Chidamber, S., Kemerer, C., 1994. A metrics suite for object-oriented design. IEEE Trans. on Software Eng., 20(6): 476–493. [doi:10.1109/32.295895]

    Article  Google Scholar 

  • Collins, M., Duffy, N., 2002. Convolution Kernels for Natural Language. Proc. Advances in Neural Information Processing Systems. MIT Press, Cambridge, MA, USA, p.625–632.

    Google Scholar 

  • Cortes, C., Vapnik, V., 1995. Support vector networks. Machine Learning, 20(3):273–297. [doi:10.1007/BF00994018]

    MATH  Google Scholar 

  • Gartner, T., Flach, P.A., Kowalczyk, A., Smola, A.J., 2002. Multi-instance Kernels. Proc. 19th Int. Conf. on Machine Learning. Morgan Kaufmann Publishers, San Francisco, CA, USA, p.179–186.

    Google Scholar 

  • Gartner, T., Lloyd, J., Flach, P.A., 2004. Kernels and distance for structured data. Machine Learning, 57(3):205–232. [doi:10.1023/B:MACH.0000039777.23772.30]

    Article  MATH  Google Scholar 

  • Haussler, D., 1999. Convolution Kernels on Discrete Structures. Technical Report USSC-CRL 99-10. Department of Computer Science, University of California at Santa Cruz, Santa Cruz, CA, USA.

    Google Scholar 

  • Huang, P., Zhu, J., 2007. Decomposition method for tree kernels. LNCS, 4492:593–601.

    Google Scholar 

  • Jin, X., Liu, Z.D., Bie, R.F., Zhao, G.X., Ma, J.X., 2006. Support vector machines for regression and applications to software quality prediction. LNCS, 3994:781–788. [doi:10.1007/11758549_105]

    Google Scholar 

  • Kanmani, S., Uthariaraj, V.R., Sankaranarayanan, V., 2007. Object-oriented software fault prediction using neural networks. Inf. Software Technol., 49(5):483–492. [doi:10.1016/j.infsof.2006.07.005]

    Article  Google Scholar 

  • Kashima, H., Koyanagi, T., 2002. Kernels for Semi-structured Data. Proc. 9th Int. Conf. on Machine Learning. Morgan Kaufmann Publishers, San Francisco, CA, USA, p.291–298.

    Google Scholar 

  • Khoshgoftaar, T.M., Allen, E.B., Hudepohl, J.P., Aud, S.J., 1997. Application of neural networks to software quality modeling of a very large telecommunications systems. IEEE Trans. on Neural Networks, 8(4):902–909. [doi:10.1109/72.595888]

    Article  Google Scholar 

  • Kuboyama, T., Shin, H.K., 2006. Flexible Tree Kernels Based on Counting the Number of Tree Mapping. Proc. Machine Learning on Graphs. Springer, Berlin, Germany, p.69–77.

    Google Scholar 

  • Osuna, E., Freund, R., Girosi, F., 1997. Support Vector Machines: Training and Applications. Technical Report AI Memo 1602. Massachusetts Institute of Technology, Cambridge, MA, USA.

    Google Scholar 

  • Pontil, M., Verri, A., 1998. Properties of support vector machines. Neural Comput., 10(4):955–974. [doi:10.1162/089976698300017575]

    Article  Google Scholar 

  • Scholkopf, B., Smola, A., Williamson, R., Bartlett, P.L., 2000. New support vector machine. Neural Comput., 12(5): 1207–1245. [doi:10.1162/089976600300015565]

    Article  Google Scholar 

  • Seliya, N., Khoshgoftaar, T.M., 2007. Software quality estimation with limited fault data: a semi-supervised learning perspective. Software Qual. J., 15(3):327–344. [doi:10.1007/s11219-007-9013-8]

    Article  Google Scholar 

  • Shawe-Taylor, J., Cristianini, N., 2004. Kernel Methods for Pattern Analysis. Cambridge University Press, New York. [doi:10.2277/0521813972]

    Book  MATH  Google Scholar 

  • Tang, M.H., Kao, M.H., Chen, M.H., 1999. An Empirical Study on Object-oriented Metrics. Proc. 6th Int. Conf. on Software Metrics Symp.. IEEE Computer Society, Washington, DC, USA, p.242–249. [doi:10.1109/METRIC.1999.809745]

    Google Scholar 

  • Vapnik, V., 1998. Statistical Learning Theory. Wiley, New York.

    MATH  Google Scholar 

  • Vishwanathan, S.V.N., Smola, A.J., Murty, M.N., 2003. SimpleSVM. Proc. 20th Int. Conf. on Machine Learning. IEEE Computer Society, Washington, DC, USA, p.760–767.

    Google Scholar 

  • Xing, F., Guo, P., Lyu, M.R., 2005. A Novel Method for Early Software Quality Prediction Based on Support Vector Machine. Proc. 16th IEEE Int. Symp. on Software Reliability Engineering. IEEE Computer Society, Washington, DC, USA, p.213–222. [doi:10.1109/ISSRE.2005.6]

    Google Scholar 

  • Zhang, K., Shasha, D., 1989. Simple fast algorithm for the editing distance between trees and related problems. SIAM J. Comput., 18(6):1245–1262. [doi:10.1137/0218082]

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jie Zhu.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Huang, P., Zhu, J. Predicting the fault-proneness of class hierarchy in object-oriented software using a layered kernel. J. Zhejiang Univ. Sci. A 9, 1390–1397 (2008). https://doi.org/10.1631/jzus.A0720073

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1631/jzus.A0720073

Key words

Document code

CLC number

Navigation