Skip to main content

2019 | OriginalPaper | Buchkapitel

3. Analysis of Software Networks

verfasst von : Miloš Savić, Mirjana Ivanović, Lakhmi C. Jain

Erschienen in: Complex Networks in Software, Knowledge, and Social Systems

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Modern software systems are characterized not only by a large number of constituent software entities (e.g. functions, modules, classes), but also by complex networks of dependencies among those entities. Analysis of software networks can help software engineers and researchers to understand and quantify software design complexity and evaluate software systems according to software design quality principles. In this chapter, we firstly give a comprehensive overview of previous research works dealing with analysis of software networks. Then, we present a novel network-based methodology to analyze software systems. The proposed methodology utilizes the notion of enriched software networks, i.e. software networks whose nodes are augmented with metric vectors containing both software metrics and metrics used in complex network analysis. The methodology is empirically validated on enriched software networks that represent large-scale Java software systems at different levels of abstraction.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
It should be noticed that compilation unit networks are considerably different from class collaboration networks since one compilation unit (a Java file) may contain definitions of more than one class and/or interface including also multiple inner classes/interfaces.
 
2
Other methods for resolving ties such as the smallest rank, the largest rank or a randomly selected rank can be employed as well.
 
Literatur
1.
Zurück zum Zitat Al-Mutawa, H.A., Dietrich, J., Marsland, S., McCartin, C.: On the shape of circular dependencies in java programs. In: Proceedings of the 2014 23rd Australian Software Engineering Conference, ASWEC ’14, pp. 48–57. IEEE Computer Society, Washington, DC (2014). https://doi.org/10.1109/ASWEC.2014.15 Al-Mutawa, H.A., Dietrich, J., Marsland, S., McCartin, C.: On the shape of circular dependencies in java programs. In: Proceedings of the 2014 23rd Australian Software Engineering Conference, ASWEC ’14, pp. 48–57. IEEE Computer Society, Washington, DC (2014). https://​doi.​org/​10.​1109/​ASWEC.​2014.​15
4.
Zurück zum Zitat Baxter, G., Frean, M., Noble, J., Rickerby, M., Smith, H., Visser, M., Melton, H., Tempero, E.: Understanding the shape of java software. In: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications, OOPSLA ’06, pp. 397–412. ACM, New York (2006). https://doi.org/10.1145/1167473.1167507 Baxter, G., Frean, M., Noble, J., Rickerby, M., Smith, H., Visser, M., Melton, H., Tempero, E.: Understanding the shape of java software. In: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications, OOPSLA ’06, pp. 397–412. ACM, New York (2006). https://​doi.​org/​10.​1145/​1167473.​1167507
5.
Zurück zum Zitat Bhattacharya, P., Iliofotou, M., Neamtiu, I., Faloutsos, M.: Graph-based analysis and prediction for software evolution. In: Proceedings of the 34th International Conference on Software Engineering, ICSE ’12, pp. 419–429. IEEE Press, Piscataway (2012) Bhattacharya, P., Iliofotou, M., Neamtiu, I., Faloutsos, M.: Graph-based analysis and prediction for software evolution. In: Proceedings of the 34th International Conference on Software Engineering, ICSE ’12, pp. 419–429. IEEE Press, Piscataway (2012)
6.
Zurück zum Zitat Bieman, J.M., Kang, B.K.: Cohesion and reuse in an object-oriented system. In: Proceedings of the 1995 Symposium on Software Reusability, SSR ’95, pp. 259–262. ACM, New York (1995) Bieman, J.M., Kang, B.K.: Cohesion and reuse in an object-oriented system. In: Proceedings of the 1995 Symposium on Software Reusability, SSR ’95, pp. 259–262. ACM, New York (1995)
7.
Zurück zum Zitat Bollobás, B.: Random Graphs. Cambridge University Press, Cambridge (2001)CrossRef Bollobás, B.: Random Graphs. Cambridge University Press, Cambridge (2001)CrossRef
9.
Zurück zum Zitat Briand, L.C., Daly, J.W., Wüst, J.K.: A unified framework for coupling measurement in object-oriented systems. IEEE Trans. Softw. Eng. 25(1), 91–121 (1999)CrossRef Briand, L.C., Daly, J.W., Wüst, J.K.: A unified framework for coupling measurement in object-oriented systems. IEEE Trans. Softw. Eng. 25(1), 91–121 (1999)CrossRef
13.
Zurück zum Zitat Chatzigeorgiou, A., Melas, G.: Trends in object-oriented software evolution: investigating network properties. In: Proceedings of the 34th International Conference on Software Engineering, ICSE ’12, pp. 1309–1312. IEEE Press, Piscataway (2012). https://doi.org/10.1109/ICSE.2012.6227092 Chatzigeorgiou, A., Melas, G.: Trends in object-oriented software evolution: investigating network properties. In: Proceedings of the 34th International Conference on Software Engineering, ICSE ’12, pp. 1309–1312. IEEE Press, Piscataway (2012). https://​doi.​org/​10.​1109/​ICSE.​2012.​6227092
14.
Zurück zum Zitat Chatzigeorgiou, A., Tsantalis, N., Stephanides, G.: Application of graph theory to OO software engineering. In: Proceedings of the 2006 International Workshop on Workshop on Interdisciplinary Software Engineering Research, WISER ’06, pp. 29–36. ACM, New York (2006). https://doi.org/10.1145/1137661.1137669 Chatzigeorgiou, A., Tsantalis, N., Stephanides, G.: Application of graph theory to OO software engineering. In: Proceedings of the 2006 International Workshop on Workshop on Interdisciplinary Software Engineering Research, WISER ’06, pp. 29–36. ACM, New York (2006). https://​doi.​org/​10.​1145/​1137661.​1137669
21.
Zurück zum Zitat Eder, J., Kappel, G., Schrefl, M.: Coupling and cohesion in object-oriented systems, Technical report. University of Klagenfurt (1992) Eder, J., Kappel, G., Schrefl, M.: Coupling and cohesion in object-oriented systems, Technical report. University of Klagenfurt (1992)
32.
Zurück zum Zitat Hitz, M., Montazeri, B.: Measuring coupling and cohesion in object-oriented systems. In: Proceedings of the International Symposium on Applied Corporate Computing, pp. 25–27 (1995) Hitz, M., Montazeri, B.: Measuring coupling and cohesion in object-oriented systems. In: Proceedings of the International Symposium on Applied Corporate Computing, pp. 25–27 (1995)
33.
Zurück zum Zitat Hylland-Wood, D., Carrington, D., Kaplan, S.: Scale-free nature of Java software package, class and method collaboration graphs. Technical Report. TR-MS1286, MIND Laboratory, University of Maryland, College Park (2006) Hylland-Wood, D., Carrington, D., Kaplan, S.: Scale-free nature of Java software package, class and method collaboration graphs. Technical Report. TR-MS1286, MIND Laboratory, University of Maryland, College Park (2006)
34.
Zurück zum Zitat Ichii, M., Matsushita, M., Inoue, K.: An exploration of power-law in use-relation of Java software systems. In: Proceedings of the 19th Australian Conference on Software Engineering, ASWEC ’08, pp. 422–431. IEEE Computer Society, Washington, DC (2008). https://doi.org/10.1109/ASWEC.2008.4483231 Ichii, M., Matsushita, M., Inoue, K.: An exploration of power-law in use-relation of Java software systems. In: Proceedings of the 19th Australian Conference on Software Engineering, ASWEC ’08, pp. 422–431. IEEE Computer Society, Washington, DC (2008). https://​doi.​org/​10.​1109/​ASWEC.​2008.​4483231
39.
Zurück zum Zitat Labelle, N., Wallingford, E.: Inter-package dependency networks in open-source software. In: Proceedings of the 6th International Conference on Complex Systems (ICCS), paper no. 226 (2006) Labelle, N., Wallingford, E.: Inter-package dependency networks in open-source software. In: Proceedings of the 6th International Conference on Complex Systems (ICCS), paper no. 226 (2006)
56.
Zurück zum Zitat Paymal, P., Patil, R., Bhomwick, S., Siy, H.: Empirical study of software evolution using community detection. Technical Report, Department of Computer Science, University of Nebraska, Omaha, USA (2011) Paymal, P., Patil, R., Bhomwick, S., Siy, H.: Empirical study of software evolution using community detection. Technical Report, Department of Computer Science, University of Nebraska, Omaha, USA (2011)
63.
Zurück zum Zitat Rakić, G.: Extendable and adaptable framework for input language independent static analysis. Ph.D. thesis, University of Novi Sad, Faculty of Sciences (2015) Rakić, G.: Extendable and adaptable framework for input language independent static analysis. Ph.D. thesis, University of Novi Sad, Faculty of Sciences (2015)
64.
Zurück zum Zitat Rakić, G., Budimac, Z.: Introducing enriched concrete syntax trees. In: Proceedings of the 14th International Multiconference on Information Society (IS), Collaboration, Software And Services In Information Society (CSS), pp. 211–214 (2011) Rakić, G., Budimac, Z.: Introducing enriched concrete syntax trees. In: Proceedings of the 14th International Multiconference on Information Society (IS), Collaboration, Software And Services In Information Society (CSS), pp. 211–214 (2011)
66.
Zurück zum Zitat Savić, M., Ivanović, M.: Graph clustering evaluation metrics as software metrics. In: Proceedings of the 3rd Workshop on Software Quality Analysis, Monitoring, Improvement and Applications (SQAMIA 2014), Lovran, Croatia, September 19–22, 2014, vol. 1266, pp. 81–89 (2014). http://CEUR-WS.org Savić, M., Ivanović, M.: Graph clustering evaluation metrics as software metrics. In: Proceedings of the 3rd Workshop on Software Quality Analysis, Monitoring, Improvement and Applications (SQAMIA 2014), Lovran, Croatia, September 19–22, 2014, vol. 1266, pp. 81–89 (2014). http://​CEUR-WS.​org
67.
Zurück zum Zitat Savić, M., Ivanović, M.: Validation of static program analysis tools by self-application: a case study. In: Proceedings of the 4th Workshop on Software Quality Analysis, Monitoring, Improvement and Applications (SQAMIA 2015), Maribor, Slovenia, June 8–10, 2015, vol. 1375, pp. 61–68 (2015). http://CEUR-WS.org Savić, M., Ivanović, M.: Validation of static program analysis tools by self-application: a case study. In: Proceedings of the 4th Workshop on Software Quality Analysis, Monitoring, Improvement and Applications (SQAMIA 2015), Maribor, Slovenia, June 8–10, 2015, vol. 1375, pp. 61–68 (2015). http://​CEUR-WS.​org
71.
Zurück zum Zitat Savić, M., Radovanović, M., Ivanović, M.: Community detection and analysis of community evolution in Apache Ant class collaboration networks. In: Proceedings of the Fifth Balkan Conference in Informatics, BCI ’12, pp. 229–234. ACM, New York (2012). https://doi.org/10.1145/2371316.2371361 Savić, M., Radovanović, M., Ivanović, M.: Community detection and analysis of community evolution in Apache Ant class collaboration networks. In: Proceedings of the Fifth Balkan Conference in Informatics, BCI ’12, pp. 229–234. ACM, New York (2012). https://​doi.​org/​10.​1145/​2371316.​2371361
79.
Zurück zum Zitat Sudeikat, J., Renz, W.: On complex networks in software: how agentorientation effects software structures. In: H.D. Burkhard, G. Lindemann, R. Verbrugge, L.Z. Varga (eds.) Multi-Agent Systems and Applications V. Lecture Notes in Computer Science, vol. 4696, pp. 215–224. Springer, Berlin (2007). https://doi.org/10.1007/978-3-540-75254-7_22 Sudeikat, J., Renz, W.: On complex networks in software: how agentorientation effects software structures. In: H.D. Burkhard, G. Lindemann, R. Verbrugge, L.Z. Varga (eds.) Multi-Agent Systems and Applications V. Lecture Notes in Computer Science, vol. 4696, pp. 215–224. Springer, Berlin (2007). https://​doi.​org/​10.​1007/​978-3-540-75254-7_​22
80.
Zurück zum Zitat Sun, S., Xia, C., Chen, Z., Sun, J., Wang, L.: On structural properties of large-scale software systems: from the perspective of complex networks. In: 2009 Sixth International Conference on Fuzzy Systems and Knowledge Discovery, vol. 7, pp. 309–313 (2009). https://doi.org/10.1109/FSKD.2009.635 Sun, S., Xia, C., Chen, Z., Sun, J., Wang, L.: On structural properties of large-scale software systems: from the perspective of complex networks. In: 2009 Sixth International Conference on Fuzzy Systems and Knowledge Discovery, vol. 7, pp. 309–313 (2009). https://​doi.​org/​10.​1109/​FSKD.​2009.​635
85.
Zurück zum Zitat Valverde, S., Solé, V.: Hierarchical small worlds in software architecure. Dyn. Contin. Discret. Impuls. Syst. Ser. B Appl. Algorithms 14(S6), 305–315 (2007) Valverde, S., Solé, V.: Hierarchical small worlds in software architecure. Dyn. Contin. Discret. Impuls. Syst. Ser. B Appl. Algorithms 14(S6), 305–315 (2007)
87.
Zurück zum Zitat Vasa, R., Schneider, J.G., Woodward, C., Cain, A.: Detecting structural changes in object oriented software systems. In: 2005 International Symposium on Empirical Software Engineering, pp. 8 pp.– (2005). 10.1109/ISESE.2005.1541855 Vasa, R., Schneider, J.G., Woodward, C., Cain, A.: Detecting structural changes in object oriented software systems. In: 2005 International Symposium on Empirical Software Engineering, pp. 8 pp.– (2005). 10.1109/ISESE.2005.1541855
92.
Zurück zum Zitat Wen, H., DSouza, R.M., Saul, Z.M., Filkov, V.: Evolution of apache open source software. In: N. Ganguly, A. Deutsch, A. Mukherjee (eds.) Dynamics On and Of Complex Networks, Modeling and Simulation in Science, Engineering and Technology, pp. 199–215. Birkhuser Boston (2009). https://doi.org/10.1007/978-0-8176-4751-3_12 Wen, H., DSouza, R.M., Saul, Z.M., Filkov, V.: Evolution of apache open source software. In: N. Ganguly, A. Deutsch, A. Mukherjee (eds.) Dynamics On and Of Complex Networks, Modeling and Simulation in Science, Engineering and Technology, pp. 199–215. Birkhuser Boston (2009). https://​doi.​org/​10.​1007/​978-0-8176-4751-3_​12
95.
Zurück zum Zitat Yourdon, E., Constantine, L.L.: Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design, 1st edn. Prentice-Hall Inc, Upper Saddle River, NJ, USA (1979)MATH Yourdon, E., Constantine, L.L.: Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design, 1st edn. Prentice-Hall Inc, Upper Saddle River, NJ, USA (1979)MATH
96.
Zurück zum Zitat Yuan, P., Jin, H., Deng, K., Chen, Q.: Analyzing software component graphs of grid middleware: hint to performance improvement. In: Proceedings of the 8th Internationsl Conference on Algorithms and Architectures for Parallel Processing (ICA3PP), pp. 305–315 (2008). https://doi.org/10.1007/978-3-540-69501-1_32 Yuan, P., Jin, H., Deng, K., Chen, Q.: Analyzing software component graphs of grid middleware: hint to performance improvement. In: Proceedings of the 8th Internationsl Conference on Algorithms and Architectures for Parallel Processing (ICA3PP), pp. 305–315 (2008). https://​doi.​org/​10.​1007/​978-3-540-69501-1_​32
98.
Zurück zum Zitat Zanetti, M.S., Schweitzer, F.: A network perspective on software modularity. In: ARCS 2012 Workshops, pp. 175–186 (2012) Zanetti, M.S., Schweitzer, F.: A network perspective on software modularity. In: ARCS 2012 Workshops, pp. 175–186 (2012)
99.
Zurück zum Zitat Zanetti, M.S., Tessone, C.J., Scholtes, I., Schweitzer, F.: Automated software remodularization based on move refactoring: a complex systems approach. In: Proceedings of the 13th International Conference on Modularity, MODULARITY ’14, pp. 73–84. ACM, New York (2014). https://doi.org/10.1145/2577080.2577097 Zanetti, M.S., Tessone, C.J., Scholtes, I., Schweitzer, F.: Automated software remodularization based on move refactoring: a complex systems approach. In: Proceedings of the 13th International Conference on Modularity, MODULARITY ’14, pp. 73–84. ACM, New York (2014). https://​doi.​org/​10.​1145/​2577080.​2577097
Metadaten
Titel
Analysis of Software Networks
verfasst von
Miloš Savić
Mirjana Ivanović
Lakhmi C. Jain
Copyright-Jahr
2019
DOI
https://doi.org/10.1007/978-3-319-91196-0_3