Skip to main content
Top
Published in: Arabian Journal for Science and Engineering 11/2019

28-06-2019 | Research Article - Computer Engineering and Computer Science

An Empirical Study on Using Class Stability as an Indicator of Class Similarity

Author: Mohammad Alshayeb

Published in: Arabian Journal for Science and Engineering | Issue 11/2019

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Software maintenance is an important software quality attribute. Many factors affect software maintenance, one of them being code cloning. Code clones are segments of code that are very similar. Software stability tends to measure the unchanged code elements. The objective of this paper is to find whether stability metrics can be used as an indicator of code structural similarity. I perform an empirical study to find the relationship between code similarity and stability at the class level. I also conduct clustering to classify stability and similarity metrics into different related groups. Finally, I perform principal component analysis to determine which class stability metrics have the strongest relationship with class similarity. In addition, I built a prediction model to predict class similarity using class stability metrics. The results show that the four investigated stability metrics have a significant relationship with similarity; however, the class stability metric (CSM) has the strongest correlation with code similarity. The clustering results also reveal that classes with high stability tend to have high similarity. In addition, I found that the CSM and class instability metric (CII) can both reveal 74.023% of class similarity. I conclude that stability metrics can be used as a good indicator of class similarity.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literature
1.
go back to reference Fenton, N.; Bieman, J.: Software Metrics: A Rigorous and Practical Approach, 3rd edn. CRC Press, London (2014)MATHCrossRef Fenton, N.; Bieman, J.: Software Metrics: A Rigorous and Practical Approach, 3rd edn. CRC Press, London (2014)MATHCrossRef
2.
go back to reference Chidamber, S.R.; Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)CrossRef Chidamber, S.R.; Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)CrossRef
3.
go back to reference ISO/IEC 25010:2011: Systems and software engineering—systems and software quality requirements and evaluation 2011 ISO/IEC 25010:2011: Systems and software engineering—systems and software quality requirements and evaluation 2011
4.
go back to reference Pressman, R.S.: Software Engineering A Practitioner’s Approach, 7th edn. McGraw-Hill, New York (2010)MATH Pressman, R.S.: Software Engineering A Practitioner’s Approach, 7th edn. McGraw-Hill, New York (2010)MATH
5.
go back to reference Galorath, D.D.: Software total ownership costs: development is only job one. Softw. Technol. News 11(3), 1–14 (2008). Galorath, D.D.: Software total ownership costs: development is only job one. Softw. Technol. News 11(3), 1–14 (2008).
6.
go back to reference Chen, J.-C.; Huang, S.-J.: An empirical analysis of the impact of software development problem factors on software maintainability. J. Syst. Softw. 82(6), 981–992 (2009)CrossRef Chen, J.-C.; Huang, S.-J.: An empirical analysis of the impact of software development problem factors on software maintainability. J. Syst. Softw. 82(6), 981–992 (2009)CrossRef
7.
go back to reference Li, Z.; Lu, S.; Myagmar, S.; Zhou, Y.: CP-miner: finding copy-paste and related bugs in large-scale software code. IEEE Trans. Softw. Eng. 32(3), 176–192 (2006)CrossRef Li, Z.; Lu, S.; Myagmar, S.; Zhou, Y.: CP-miner: finding copy-paste and related bugs in large-scale software code. IEEE Trans. Softw. Eng. 32(3), 176–192 (2006)CrossRef
8.
go back to reference Rattan, D.; Bhatia, R.; Singh, M.: Software clone detection: a systematic review. Inf. Softw. Technol. 55(7), 1165–1199 (2013)CrossRef Rattan, D.; Bhatia, R.; Singh, M.: Software clone detection: a systematic review. Inf. Softw. Technol. 55(7), 1165–1199 (2013)CrossRef
9.
go back to reference Cai, D.; Kim, M.: An empirical study of long-lived code clones. Presented at the Proceedings of the 14th International Conference on Fundamental Approaches to Software Engineering: Part of the Joint European Conferences on Theory and Practice of Software, Saarbrücken, Germany (2011) Cai, D.; Kim, M.: An empirical study of long-lived code clones. Presented at the Proceedings of the 14th International Conference on Fundamental Approaches to Software Engineering: Part of the Joint European Conferences on Theory and Practice of Software, Saarbrücken, Germany (2011)
10.
go back to reference Roy, C.K.; Cordy, J.R.; Koschke, R.: Comparison and evaluation of code clone detection techniques and tools: a qualitative approach. Sci. Comput. Program. 74(7), 470–495 (2009)MathSciNetMATHCrossRef Roy, C.K.; Cordy, J.R.; Koschke, R.: Comparison and evaluation of code clone detection techniques and tools: a qualitative approach. Sci. Comput. Program. 74(7), 470–495 (2009)MathSciNetMATHCrossRef
11.
go back to reference Roy, C.K.; Cordy, J.R.: A Survey on Software Clone Detection Research, vol. 541. Queen’s University, Kingston (2007) Roy, C.K.; Cordy, J.R.: A Survey on Software Clone Detection Research, vol. 541. Queen’s University, Kingston (2007)
12.
go back to reference Jarzabek, S.; Xue, Y.: Are clones harmful for maintenance? Presented at the Proceedings of the 4th International Workshop on Software Clones, Cape Town, South Africa (2010) Jarzabek, S.; Xue, Y.: Are clones harmful for maintenance? Presented at the Proceedings of the 4th International Workshop on Software Clones, Cape Town, South Africa (2010)
13.
go back to reference Thummalapenta, S.; Cerulo, L.; Aversano, L.; Di Penta, M.: An empirical study on the maintenance of source code clones. Empir. Softw. Eng. J. Artic. 15(1), 1–34 (2010)CrossRef Thummalapenta, S.; Cerulo, L.; Aversano, L.; Di Penta, M.: An empirical study on the maintenance of source code clones. Empir. Softw. Eng. J. Artic. 15(1), 1–34 (2010)CrossRef
14.
go back to reference Juergens, E.; Deissenboeck, F.; Hummel, B.; Wagner, S.: Do code clones matter? In: 2009 IEEE 31st International Conference on Software Engineering, pp. 485–495 (2009) Juergens, E.; Deissenboeck, F.; Hummel, B.; Wagner, S.: Do code clones matter? In: 2009 IEEE 31st International Conference on Software Engineering, pp. 485–495 (2009)
15.
go back to reference Alshayeb, M.: On the relationship of class stability and maintainability. IET Softw. 7(6), 339–347 (2013)CrossRef Alshayeb, M.: On the relationship of class stability and maintainability. IET Softw. 7(6), 339–347 (2013)CrossRef
16.
go back to reference Alshayeb, M.; Eisa, Y.; Ahmed, M.A.: Object-oriented class stability prediction: a comparison between artificial neural network and support vector machine. Arab. J. Sci. Eng. 39(11), 7865–7876 (2014)CrossRef Alshayeb, M.; Eisa, Y.; Ahmed, M.A.: Object-oriented class stability prediction: a comparison between artificial neural network and support vector machine. Arab. J. Sci. Eng. 39(11), 7865–7876 (2014)CrossRef
17.
go back to reference Azar, D.; Harmanani, H.; Korkmaz, R.: Predicting stability of classes in an object-oriented system. J. Comput. Methods Sci. Eng. 10(1–2S1), 39–49 (2010) Azar, D.; Harmanani, H.; Korkmaz, R.: Predicting stability of classes in an object-oriented system. J. Comput. Methods Sci. Eng. 10(1–2S1), 39–49 (2010)
18.
go back to reference Grosser, D.; Sahraoui, H.; Valtchev, P.: Predicting software stability using case-based reasoning. In: Proceedings of the 17th IEEE International Conference on Automated Software Engineering, Edinburgh, UK, pp. 295–298 (2002) Grosser, D.; Sahraoui, H.; Valtchev, P.: Predicting software stability using case-based reasoning. In: Proceedings of the 17th IEEE International Conference on Automated Software Engineering, Edinburgh, UK, pp. 295–298 (2002)
19.
go back to reference Grosser, D.; Sahraoui, H.A.; Valtchev, P.: An analogy-based approach for predicting design stability of Java classes. In: Proceedings of the Ninth IEEE international Software Metrics Symposium, pp. 252–262 (2003) Grosser, D.; Sahraoui, H.A.; Valtchev, P.: An analogy-based approach for predicting design stability of Java classes. In: Proceedings of the Ninth IEEE international Software Metrics Symposium, pp. 252–262 (2003)
20.
go back to reference Wang, H.; Khoshgoftaar, T.M.; Wald, R.; Napolitano, A.: A novel dataset-similarity-aware approach for evaluating stability of software metric selection techniques. In: 2012 IEEE 13th International Conference on Information Reuse and Integration (IRI), pp. 1–8 (2012) Wang, H.; Khoshgoftaar, T.M.; Wald, R.; Napolitano, A.: A novel dataset-similarity-aware approach for evaluating stability of software metric selection techniques. In: 2012 IEEE 13th International Conference on Information Reuse and Integration (IRI), pp. 1–8 (2012)
21.
go back to reference Alshayeb, M.: The impact of refactoring on class and architecture stability. J. Res. Pract. Inf. Technol. 43, 269 (2011) Alshayeb, M.: The impact of refactoring on class and architecture stability. J. Res. Pract. Inf. Technol. 43, 269 (2011)
22.
go back to reference Fowler, M.: Refactoring: Improving the Design of Existing Code, 2nd edn. Addison-Wesley Signature Series (Fowler), Boston (2018)MATH Fowler, M.: Refactoring: Improving the Design of Existing Code, 2nd edn. Addison-Wesley Signature Series (Fowler), Boston (2018)MATH
23.
go back to reference Binkley, A.B.; Scatch, S.R.: Validation of the coupling dependency metric as a predictor of run time failures and maintenance measure. In: The 20th International Conference in Software Engineering, pp. 452–455 (1998) Binkley, A.B.; Scatch, S.R.: Validation of the coupling dependency metric as a predictor of run time failures and maintenance measure. In: The 20th International Conference in Software Engineering, pp. 452–455 (1998)
24.
go back to reference Chidamber, S.; Darcy, D.; Kemerer, C.: Managerial use of metrics for object-oriented software: an exploratory analysis. IEEE Trans. Softw. Eng. 24(8), 629–639 (1998)CrossRef Chidamber, S.; Darcy, D.; Kemerer, C.: Managerial use of metrics for object-oriented software: an exploratory analysis. IEEE Trans. Softw. Eng. 24(8), 629–639 (1998)CrossRef
25.
go back to reference Darcy, D.; Kemerer, C.; Slaughter, S.; Tomayko, J.: The structural complexity of software: an experimental test. IEEE Trans. Softw. Eng. 31(11), 982–995 (2005)CrossRef Darcy, D.; Kemerer, C.; Slaughter, S.; Tomayko, J.: The structural complexity of software: an experimental test. IEEE Trans. Softw. Eng. 31(11), 982–995 (2005)CrossRef
26.
go back to reference MacCormack, A.; Rusnak, J.; Baldwin, C.: Exploring the structure of complex software designs: an empirical study of open source and proprietary code. Manag. Sci. 52(7), 1015–1030 (2006)CrossRef MacCormack, A.; Rusnak, J.; Baldwin, C.: Exploring the structure of complex software designs: an empirical study of open source and proprietary code. Manag. Sci. 52(7), 1015–1030 (2006)CrossRef
27.
go back to reference Harrison, R.; Counsell, S.; Nithi, R.: Experimental assessment of the effect of inheritance on the maintainability of object-oriented systems. J. Syst. Softw. 52(2–3), 173–179 (2000)CrossRef Harrison, R.; Counsell, S.; Nithi, R.: Experimental assessment of the effect of inheritance on the maintainability of object-oriented systems. J. Syst. Softw. 52(2–3), 173–179 (2000)CrossRef
28.
go back to reference Li, W.; Henry, S.: Object-oriented Metrics that predict maintainability. J. Syst. Softw. 23, 111–122 (1993)CrossRef Li, W.; Henry, S.: Object-oriented Metrics that predict maintainability. J. Syst. Softw. 23, 111–122 (1993)CrossRef
29.
go back to reference Harter, M.S.K.D.E.; Slaughter, S.A.: Effects of process maturity on quality, cycle time and effort in software product development. Manag. Sci. 46(4), 451–466 (2000)CrossRef Harter, M.S.K.D.E.; Slaughter, S.A.: Effects of process maturity on quality, cycle time and effort in software product development. Manag. Sci. 46(4), 451–466 (2000)CrossRef
30.
go back to reference Koten, C.; Gray, A.: An application of Bayesian network for predicting object-oriented software maintainability. Inf. Softw. Technol. 48(1), 59–67 (2006)CrossRef Koten, C.; Gray, A.: An application of Bayesian network for predicting object-oriented software maintainability. Inf. Softw. Technol. 48(1), 59–67 (2006)CrossRef
31.
go back to reference Bandi, R.; Vaishnavi, V.; Turk, D.: Predicting maintenance performance using object-oriented design complexity metrics. IEEE Trans. Softw. Eng. 29(1), 77–87 (2003)CrossRef Bandi, R.; Vaishnavi, V.; Turk, D.: Predicting maintenance performance using object-oriented design complexity metrics. IEEE Trans. Softw. Eng. 29(1), 77–87 (2003)CrossRef
32.
go back to reference Misra, S.: Modeling design/coding factors that drive maintainability of software systems. Softw. Qual. J. 13(3), 297–320 (2005)CrossRef Misra, S.: Modeling design/coding factors that drive maintainability of software systems. Softw. Qual. J. 13(3), 297–320 (2005)CrossRef
33.
go back to reference Thwin, M.; Quah, T.: Application of neural networks for software quality prediction using object-oriented metrics. J. Syst. Softw. 76(2), 147–156 (2005)CrossRef Thwin, M.; Quah, T.: Application of neural networks for software quality prediction using object-oriented metrics. J. Syst. Softw. 76(2), 147–156 (2005)CrossRef
34.
go back to reference Alshayeb, M.; Li, W.: An empirical study of system design instability metric and design evolution in an agile software process. J. Syst. Softw. 74(3), 269–274 (2005)CrossRef Alshayeb, M.; Li, W.: An empirical study of system design instability metric and design evolution in an agile software process. J. Syst. Softw. 74(3), 269–274 (2005)CrossRef
35.
go back to reference Olague, H.; Etzkorn, L.; Li, W.; Cox, G.: Assessing design instability in iterative (agile) object-oriented projects. J. Softw. Maint. Evolut. Res. Pract. 18(4), 237–266 (2006)CrossRef Olague, H.; Etzkorn, L.; Li, W.; Cox, G.: Assessing design instability in iterative (agile) object-oriented projects. J. Softw. Maint. Evolut. Res. Pract. 18(4), 237–266 (2006)CrossRef
36.
go back to reference Kelly, D.: A study of design characteristics in evolving software using stability as a criterion. IEEE Trans. Softw. Eng. 32(5), 315–329 (2006)CrossRef Kelly, D.: A study of design characteristics in evolving software using stability as a criterion. IEEE Trans. Softw. Eng. 32(5), 315–329 (2006)CrossRef
37.
go back to reference Bansiya, J.: Evaluating framework architecture structural stability. ACM Comput. Surv. 32(1), 18 (2000)CrossRef Bansiya, J.: Evaluating framework architecture structural stability. ACM Comput. Surv. 32(1), 18 (2000)CrossRef
38.
go back to reference Jazayeri, M.: On architectural stability and evolution. In: Blieberger, J., Strohmeier, A. (eds.) Reliable Software Technologies: Ada-Europe 2002, (Lecture Notes in Computer Science, No. 2361), pp. 13–23. Springer, Berlin (2002) Jazayeri, M.: On architectural stability and evolution. In: Blieberger, J., Strohmeier, A. (eds.) Reliable Software Technologies: Ada-Europe 2002, (Lecture Notes in Computer Science, No. 2361), pp. 13–23. Springer, Berlin (2002)
39.
go back to reference Bahsoon, R.; Emmerich, W.: Evaluating software architectures: development, stability, and evolution. In: Proceedings of ACS/IEEE International Conference on Computer Systems and Applications, Tunis, Tunisia, pp. 47–56 (2003) Bahsoon, R.; Emmerich, W.: Evaluating software architectures: development, stability, and evolution. In: Proceedings of ACS/IEEE International Conference on Computer Systems and Applications, Tunis, Tunisia, pp. 47–56 (2003)
40.
go back to reference Tonu, S.; Ashkan, A.; Tahvildari, L.: Evaluating architectural stability using a metric-based approach. In: Proceedings of the Conference on Software Maintenance and Reengineering (CSMR’06), pp. 261–270 (2006) Tonu, S.; Ashkan, A.; Tahvildari, L.: Evaluating architectural stability using a metric-based approach. In: Proceedings of the Conference on Software Maintenance and Reengineering (CSMR’06), pp. 261–270 (2006)
41.
go back to reference Molesini, A.; Garcia, A.; Chavez, C.V.F.G.; Batista, T.V.: “Stability assessment of aspect-oriented software architectures: a quantitative study. J. Syst. Softw. 83(5), 711–722 (2010)CrossRef Molesini, A.; Garcia, A.; Chavez, C.V.F.G.; Batista, T.V.: “Stability assessment of aspect-oriented software architectures: a quantitative study. J. Syst. Softw. 83(5), 711–722 (2010)CrossRef
42.
go back to reference Ebad, S.A.; Ahmed, M.A.: Measuring stability of object-oriented software architectures. IET Softw. 9(3), 76–82 (2015)CrossRef Ebad, S.A.; Ahmed, M.A.: Measuring stability of object-oriented software architectures. IET Softw. 9(3), 76–82 (2015)CrossRef
43.
go back to reference Goyal, N.; Srivastava, R.: Stability evaluation model for object oriented software. Int. J. Adv. Res. Comput. Sci. 9(2), 371–375 (2018)CrossRef Goyal, N.; Srivastava, R.: Stability evaluation model for object oriented software. Int. J. Adv. Res. Comput. Sci. 9(2), 371–375 (2018)CrossRef
44.
go back to reference Bahsoon, R.; Emmerich, W.: Evaluating software architectures for stability: a real options approach. In: The 25th International Conference on Software Engineering, Doctoral Symposium, pp. 765–769 (2003) Bahsoon, R.; Emmerich, W.: Evaluating software architectures for stability: a real options approach. In: The 25th International Conference on Software Engineering, Doctoral Symposium, pp. 765–769 (2003)
45.
go back to reference Alenezi, M.; Khellah, F.: Evolution impact on architecture stability in open-source projects. Int. J. Cloud Appl. Comput. 5(4), 24–35 (2015) Alenezi, M.; Khellah, F.: Evolution impact on architecture stability in open-source projects. Int. J. Cloud Appl. Comput. 5(4), 24–35 (2015)
46.
go back to reference Alenezi, M.: Software architecture quality measurement stability and understandability. Int. J. Adv. Comput. Sci. Appl. 7(7), 550–559 (2016) Alenezi, M.: Software architecture quality measurement stability and understandability. Int. J. Adv. Comput. Sci. Appl. 7(7), 550–559 (2016)
47.
go back to reference Li, W.; Etzkorn, L.; Davis, C.; Talburt, J.: An empirical study of object-oriented system evolution. Inf. Softw. Technol. 42(6), 373–381 (2000)CrossRef Li, W.; Etzkorn, L.; Davis, C.; Talburt, J.: An empirical study of object-oriented system evolution. Inf. Softw. Technol. 42(6), 373–381 (2000)CrossRef
48.
go back to reference Ratiu, D.; Ducasse, S.; Girba, T.; Marinescu, R.: Using history information to improve design flaws detection. In: Proceedings of the Eighth European Conference on Software Maintenance and Reengineering (CSMR’04), pp. 223–232 (2004) Ratiu, D.; Ducasse, S.; Girba, T.; Marinescu, R.: Using history information to improve design flaws detection. In: Proceedings of the Eighth European Conference on Software Maintenance and Reengineering (CSMR’04), pp. 223–232 (2004)
49.
go back to reference Alshayeb, M.; Naji, M.; Elish, M.; Al-Ghamdi, J.: Towards measuring object-oriented class stability. IET Softw. 5(4), 415–424 (2011)CrossRef Alshayeb, M.; Naji, M.; Elish, M.; Al-Ghamdi, J.: Towards measuring object-oriented class stability. IET Softw. 5(4), 415–424 (2011)CrossRef
50.
go back to reference Monden, A., Nakae, D., Kamiya, T., Sato, S.; Matsumoto, K.: Software quality analysis by code clones in industrial legacy software. In: Proceedings Eighth IEEE Symposium on Software Metrics, pp. 87–94 (2002) Monden, A., Nakae, D., Kamiya, T., Sato, S.; Matsumoto, K.: Software quality analysis by code clones in industrial legacy software. In: Proceedings Eighth IEEE Symposium on Software Metrics, pp. 87–94 (2002)
51.
go back to reference Harder, J.; Tiarks, R.: A controlled experiment on software clones. In: 2012 20th IEEE International Conference on Program Comprehension (ICPC), pp. 219–228 (2012) Harder, J.; Tiarks, R.: A controlled experiment on software clones. In: 2012 20th IEEE International Conference on Program Comprehension (ICPC), pp. 219–228 (2012)
52.
go back to reference Kaur, J.; Tomar, P.: Validation of software component selection algorithms based on clustering. Indian J. Sci. Technol. 9(45), 1–4 (2016) Kaur, J.; Tomar, P.: Validation of software component selection algorithms based on clustering. Indian J. Sci. Technol. 9(45), 1–4 (2016)
53.
go back to reference Liu, D.; Lung, C.H.; Ajila, S.A.: Adaptive Clustering techniques for software components and architecture. In: 2015 IEEE 39th Annual Computer Software and Applications Conference, vol. 3, pp. 460–465 (2015) Liu, D.; Lung, C.H.; Ajila, S.A.: Adaptive Clustering techniques for software components and architecture. In: 2015 IEEE 39th Annual Computer Software and Applications Conference, vol. 3, pp. 460–465 (2015)
54.
go back to reference Ersoy, E.; Kaya, K.; Altınışık, M.; Sözer, H.: Using hypergraph clustering for software architecture reconstruction of data-tier software. In: Tekinerdogan, B., Zdun, U., Babar, A. (eds.) Software Architecture: 10th European Conference, ECSA 2016, Copenhagen, Denmark, November 28–December 2, 2016, Proceedings. Cham: Springer International Publishing, pp. 326-333 (2016) Ersoy, E.; Kaya, K.; Altınışık, M.; Sözer, H.: Using hypergraph clustering for software architecture reconstruction of data-tier software. In: Tekinerdogan, B., Zdun, U., Babar, A. (eds.) Software Architecture: 10th European Conference, ECSA 2016, Copenhagen, Denmark, November 28–December 2, 2016, Proceedings. Cham: Springer International Publishing, pp. 326-333 (2016)
55.
go back to reference Khan, Q.; Akram, U.; Butt, W.H.; Rehman, S.: Implementation and evaluation of optimized algorithm for software architectures analysis through unsupervised learning (clustering). In: 2016 17th International Conference on Sciences and Techniques of Automatic Control and Computer Engineering (STA), pp. 266–276 (2016)2016 Khan, Q.; Akram, U.; Butt, W.H.; Rehman, S.: Implementation and evaluation of optimized algorithm for software architectures analysis through unsupervised learning (clustering). In: 2016 17th International Conference on Sciences and Techniques of Automatic Control and Computer Engineering (STA), pp. 266–276 (2016)2016
56.
go back to reference Saeidi, A.M.; Hage, J.; Khadka, R.; Jansen, S.: A search-based approach to multi-view clustering of software systems. In: 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER), pp. 429–438 (2015) Saeidi, A.M.; Hage, J.; Khadka, R.; Jansen, S.: A search-based approach to multi-view clustering of software systems. In: 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER), pp. 429–438 (2015)
57.
go back to reference Kumari, A.C.; Srinivas, K.; Gupta, M.P.: Software module clustering using a hyper-heuristic based multi-objective genetic algorithm. In: 2013 3rd IEEE International Advance Computing Conference (IACC), pp. 813–818 (2013) Kumari, A.C.; Srinivas, K.; Gupta, M.P.: Software module clustering using a hyper-heuristic based multi-objective genetic algorithm. In: 2013 3rd IEEE International Advance Computing Conference (IACC), pp. 813–818 (2013)
58.
go back to reference Alkhalid, A.; Alshayeb, M.; Mahmoud, S.A.: Software refactoring at the class level using clustering techniques. J. Res. Pract. Inf. Technol. 43(4), 285–306 (2011) Alkhalid, A.; Alshayeb, M.; Mahmoud, S.A.: Software refactoring at the class level using clustering techniques. J. Res. Pract. Inf. Technol. 43(4), 285–306 (2011)
59.
go back to reference Alkhalid, A.; Alshayeb, M.; Mahmoud, S.: Software refactoring at the function level using new adaptive K-nearest neighbor algorithm. Adv. Eng. Softw. 41(10–11), 1160–1178 (2010)CrossRef Alkhalid, A.; Alshayeb, M.; Mahmoud, S.: Software refactoring at the function level using new adaptive K-nearest neighbor algorithm. Adv. Eng. Softw. 41(10–11), 1160–1178 (2010)CrossRef
60.
go back to reference Alkhalid, A.; Alshayeb, M.; Mahmoud, S.A.: Software refactoring at the package level using clustering techniques. IET Softw. 5(3), 276–284 (2011)CrossRef Alkhalid, A.; Alshayeb, M.; Mahmoud, S.A.: Software refactoring at the package level using clustering techniques. IET Softw. 5(3), 276–284 (2011)CrossRef
61.
go back to reference Rui, X.; Wunsch II, D.: Survey of clustering algorithms. IEEE Trans. Neural Netw. 16(3), 645–678 (2005)CrossRef Rui, X.; Wunsch II, D.: Survey of clustering algorithms. IEEE Trans. Neural Netw. 16(3), 645–678 (2005)CrossRef
62.
go back to reference Zhong, S.; Khoshgoftaar, T.M.; Seliya, N.: Analyzing software measurement data with clustering techniques. IEEE Intell. Syst. 19(2), 20–27 (2004)CrossRef Zhong, S.; Khoshgoftaar, T.M.; Seliya, N.: Analyzing software measurement data with clustering techniques. IEEE Intell. Syst. 19(2), 20–27 (2004)CrossRef
63.
go back to reference Bishnu, P.S.; Bhattacherjee, V.: Software fault prediction using quad tree-based k-means clustering algorithm. IEEE Trans. Knowl. Data Eng. 24(6), 1146–1150 (2012)CrossRef Bishnu, P.S.; Bhattacherjee, V.: Software fault prediction using quad tree-based k-means clustering algorithm. IEEE Trans. Knowl. Data Eng. 24(6), 1146–1150 (2012)CrossRef
64.
go back to reference Li, K.; Zhao, K.; Liu, W.: Neural network ensemble based on K-means clustering individual selection and application for software reliability prediction. In: 2013 Fourth World Congress on Software Engineering, pp. 131–135 (2013) Li, K.; Zhao, K.; Liu, W.: Neural network ensemble based on K-means clustering individual selection and application for software reliability prediction. In: 2013 Fourth World Congress on Software Engineering, pp. 131–135 (2013)
65.
go back to reference Malviya, A.K.; Yadav, V.K.: Maintenance activities in object oriented software systems using K-means clustering technique: a review. In: 2012 CSI Sixth International Conference on Software Engineering (CONSEG), pp. 1–5 (2012) Malviya, A.K.; Yadav, V.K.: Maintenance activities in object oriented software systems using K-means clustering technique: a review. In: 2012 CSI Sixth International Conference on Software Engineering (CONSEG), pp. 1–5 (2012)
66.
go back to reference Burd, E.; Bailey, J.: Evaluating clone detection tools for use during preventative maintenance. Presented at the Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation, 2002 Burd, E.; Bailey, J.: Evaluating clone detection tools for use during preventative maintenance. Presented at the Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation, 2002
67.
69.
go back to reference Mayrand, J.; Leblanc, C.; Merlo, E.: Experiment on the Automatic Detection of Function Clones in a Software System Using Metrics. IEEE Computer Society, Washington, DC (1996)CrossRef Mayrand, J.; Leblanc, C.; Merlo, E.: Experiment on the Automatic Detection of Function Clones in a Software System Using Metrics. IEEE Computer Society, Washington, DC (1996)CrossRef
70.
go back to reference Kamiya, T.; Ohata, F.; Kondou, K.; Kusumoto, S.; Inoue, K.: Maintenance support tools for Java programs: CCFinder and JAAT. In: Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001, pp. 837–838 (2001) Kamiya, T.; Ohata, F.; Kondou, K.; Kusumoto, S.; Inoue, K.: Maintenance support tools for Java programs: CCFinder and JAAT. In: Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001, pp. 837–838 (2001)
71.
go back to reference Baxter, I.D.; Yahin, A.; Moura, L.; Sant’Anna, M.; Bier, L.: Clone detection using abstract syntax trees. Presented at the Proceedings of the International Conference on Software Maintenance, 1998 Baxter, I.D.; Yahin, A.; Moura, L.; Sant’Anna, M.; Bier, L.: Clone detection using abstract syntax trees. Presented at the Proceedings of the International Conference on Software Maintenance, 1998
78.
go back to reference Naji, M.: Measuring object-oriented class stability. Master’s Thesis Master Thesis, King Fahd University of Petroleum & Minerals, Dhahran, Saudi Arabia, 2008 Naji, M.: Measuring object-oriented class stability. Master’s Thesis Master Thesis, King Fahd University of Petroleum & Minerals, Dhahran, Saudi Arabia, 2008
79.
go back to reference AlGhamdi, J.; Rufai, R.; Khan, S.: OOMeter: a software quality assurance tool. In: Proceedings of the Ninth European Conference on Software Maintenance and Reengineering (CSMR 2005), pp. 190–191 (2005) AlGhamdi, J.; Rufai, R.; Khan, S.: OOMeter: a software quality assurance tool. In: Proceedings of the Ninth European Conference on Software Maintenance and Reengineering (CSMR 2005), pp. 190–191 (2005)
82.
go back to reference Heiman, G.W.: Basic Statistics for the Behavioral Sciences. Wadsworth Publishing, Belmont (2010) Heiman, G.W.: Basic Statistics for the Behavioral Sciences. Wadsworth Publishing, Belmont (2010)
83.
go back to reference Jolliffe, I.: Principal Component Analysis, 2nd edn. Springer, Berlin (2002)MATH Jolliffe, I.: Principal Component Analysis, 2nd edn. Springer, Berlin (2002)MATH
84.
go back to reference Gorsuch, R.L.: Factor Analysis, 2nd edn. Lawrence Erlbaum Associates, Mahwah (1983)MATH Gorsuch, R.L.: Factor Analysis, 2nd edn. Lawrence Erlbaum Associates, Mahwah (1983)MATH
85.
go back to reference MacCallum, R.C.; Widaman, K.F.; Zhang, S.; Hong, S.: Sample size in factor analysis. Psychol. Methods 4, 84–99 (1999)CrossRef MacCallum, R.C.; Widaman, K.F.; Zhang, S.; Hong, S.: Sample size in factor analysis. Psychol. Methods 4, 84–99 (1999)CrossRef
86.
go back to reference Hutcheson, G.; Sofroniou, N.: The Multivariate Social Scientist: Introductory Statistics Using Generalized Linear Models. SAGE Publications Ltd, Thousand Oaks (1999)MATHCrossRef Hutcheson, G.; Sofroniou, N.: The Multivariate Social Scientist: Introductory Statistics Using Generalized Linear Models. SAGE Publications Ltd, Thousand Oaks (1999)MATHCrossRef
87.
go back to reference Norusis, M.: SPSS 13.0 Statistical Procedures Companion. Prentice Hall, Englewood Cliffs (2005) Norusis, M.: SPSS 13.0 Statistical Procedures Companion. Prentice Hall, Englewood Cliffs (2005)
88.
go back to reference Hogarty, K.Y.; Hines, C.V.; Kromrey, J.D.; Ferron, J.M.; Mumford, K.R.: The quality of factor solutions in exploratory factor analysis: the influence of sample size, communality, and overdetermination. Educ. Psychol. Meas. 65, 202–223 (2005)MathSciNetCrossRef Hogarty, K.Y.; Hines, C.V.; Kromrey, J.D.; Ferron, J.M.; Mumford, K.R.: The quality of factor solutions in exploratory factor analysis: the influence of sample size, communality, and overdetermination. Educ. Psychol. Meas. 65, 202–223 (2005)MathSciNetCrossRef
89.
go back to reference Grimm, L.G.; Yarnold, P.R.: Reading & Understanding Multivariate Statistics, 1st edn. American Psychological Association, Washington (1995) Grimm, L.G.; Yarnold, P.R.: Reading & Understanding Multivariate Statistics, 1st edn. American Psychological Association, Washington (1995)
90.
go back to reference Veerasamy, R.; Rajak, H.; Jain, A.; Sivadasan, S.; Varghese, C.P.; Agrawal, R.K.: Validation of QSAR Models-strategies and importance. Int. J. Drug Des. Discov. 2(3), 511–519 (2011) Veerasamy, R.; Rajak, H.; Jain, A.; Sivadasan, S.; Varghese, C.P.; Agrawal, R.K.: Validation of QSAR Models-strategies and importance. Int. J. Drug Des. Discov. 2(3), 511–519 (2011)
91.
go back to reference Burd, E.; Bailey, J.: Evaluating clone detection tools for use during preventative maintenance. In: Proceedings. Second IEEE International Workshop on Source Code Analysis and Manipulation, pp. 36–43 (2002) Burd, E.; Bailey, J.: Evaluating clone detection tools for use during preventative maintenance. In: Proceedings. Second IEEE International Workshop on Source Code Analysis and Manipulation, pp. 36–43 (2002)
92.
go back to reference Bellon, S.; Koschke, R.; Antoniol, G.; Krinke, J.; Merlo, E.: Comparison and evaluation of clone detection tools. IEEE Trans. Softw. Eng. 33(9), 577–591 (2007)CrossRef Bellon, S.; Koschke, R.; Antoniol, G.; Krinke, J.; Merlo, E.: Comparison and evaluation of clone detection tools. IEEE Trans. Softw. Eng. 33(9), 577–591 (2007)CrossRef
93.
go back to reference Kamiya, T.; Kusumoto, S.; Inoue, K.: CCFinder: a multilinguistic token-based code clone detection system for large scale source code. IEEE Trans. Softw. Eng. 28(7), 654–670 (2002)CrossRef Kamiya, T.; Kusumoto, S.; Inoue, K.: CCFinder: a multilinguistic token-based code clone detection system for large scale source code. IEEE Trans. Softw. Eng. 28(7), 654–670 (2002)CrossRef
94.
go back to reference Baker, B.S.: On finding duplication and near-duplication in large software systems. In: Proceedings of 2nd Working Conference on Reverse Engineering, pp. 86–95 (1995) Baker, B.S.: On finding duplication and near-duplication in large software systems. In: Proceedings of 2nd Working Conference on Reverse Engineering, pp. 86–95 (1995)
95.
go back to reference Koschke, R.; Falke, R.; Frenzel, P.: Clone detection using abstract syntax suffix trees. Presented at the Proceedings of the 13th Working Conference on Reverse Engineering, 2006 Koschke, R.; Falke, R.; Frenzel, P.: Clone detection using abstract syntax suffix trees. Presented at the Proceedings of the 13th Working Conference on Reverse Engineering, 2006
96.
go back to reference Juergens, E.; Deissenboeck, F.; Hummel, B.: Code similarities beyond copy & paste. In: 2010 14th European Conference on Software Maintenance and Reengineering, pp. 78–87 (2010) Juergens, E.; Deissenboeck, F.; Hummel, B.: Code similarities beyond copy & paste. In: 2010 14th European Conference on Software Maintenance and Reengineering, pp. 78–87 (2010)
97.
go back to reference Juergens, E.; Deissenboeck, F.; Hummel, B.: CloneDetective: a workbench for clone detection research. In: 2009 IEEE 31st International Conference on Software Engineering, pp. 603–606 (2009) Juergens, E.; Deissenboeck, F.; Hummel, B.: CloneDetective: a workbench for clone detection research. In: 2009 IEEE 31st International Conference on Software Engineering, pp. 603–606 (2009)
98.
go back to reference Jiang, L.; Misherghi, G.; Su, Z.; Glondu, S.: DECKARD: scalable and accurate tree-based detection of code clones. In: 29th International Conference on Software Engineering (ICSE’07), pp. 96–105 (2007) Jiang, L.; Misherghi, G.; Su, Z.; Glondu, S.: DECKARD: scalable and accurate tree-based detection of code clones. In: 29th International Conference on Software Engineering (ICSE’07), pp. 96–105 (2007)
99.
go back to reference Falke, R.; Frenzel, P.; Koschke, R.J.E.S.E.: Empirical evaluation of clone detection using syntax suffix trees. J. Artic. 13(6), 601–643 (2008) Falke, R.; Frenzel, P.; Koschke, R.J.E.S.E.: Empirical evaluation of clone detection using syntax suffix trees. J. Artic. 13(6), 601–643 (2008)
Metadata
Title
An Empirical Study on Using Class Stability as an Indicator of Class Similarity
Author
Mohammad Alshayeb
Publication date
28-06-2019
Publisher
Springer Berlin Heidelberg
Published in
Arabian Journal for Science and Engineering / Issue 11/2019
Print ISSN: 2193-567X
Electronic ISSN: 2191-4281
DOI
https://doi.org/10.1007/s13369-019-03976-7

Other articles of this Issue 11/2019

Arabian Journal for Science and Engineering 11/2019 Go to the issue

Research Article - Computer Engineering and Computer Science

UFC: A Unified POI Recommendation Framework

Research Article - Computer Engineering and Computer Science

Storage Node Allocation Methods for Erasure Code-based Cloud Storage Systems

Research Article - Computer Engineering and Computer Science

On Some Improved Versions of Whale Optimization Algorithm

Premium Partners