Linear Software Models: Modularity Analysis by the Laplacian Matrix

Iaakov Exman, Rawi Sakhnini

Abstract

We have recently shown that one can obtain the number and sizes of modules of a software system from the eigenvectors of the Modularity Matrix weighted by an affinity matrix. However such a weighting still demands a suitable definition of an affinity. This paper obtains the same results by means of a Laplacian Matrix, directly based upon the Modularity Matrix without the need of weighting. These formalizations are different alternatives leading to the same outcomes based upon a central idea: modules are connected components. The important point is that, independently of specific advantages of given techniques, there is just one single unified algebraic theory of software composition – the Linear Software Models – behind the different approaches. The specifics of the Laplacian Matrix technique, after its formal enunciation, are illustrated by calculations made for case studies.

References

  1. Baldwin, C.Y. and Clark, K.B., 2000. Design Rules, Vol. I. The Power of Modularity, MIT Press, MA, USA.
  2. Cai, Y. and Sullivan, K.J., 2006. Modularity Analysis of Logical Design Models, in Proc. 21st IEEE/ACM Int. Conf. Automated Software Eng. ASE'06, pp. 91-102, Tokyo, Japan.
  3. Exman, I., 2012. Linear Software Models, Extended Abstract, in I. Jacobson, M. Goedicke and P. Johnson (eds.), GTSE 2012, SEMAT Workshop on General Theory of Software Engineering, pp. 23-24, KTH Royal Institute of Technology, Stockholm, Sweden. Video site:
  4. http://www.youtube.com/watch?v=EJfzArH8-ls
  5. Exman, I., 2013. Linear Software Models are Theoretical Standards of Modularity, in J. Cordeiro, S. Hammoudi, and M. van Sinderen (eds.): ICSOFT 2012, Revised selected papers, CCIS, Vol. 411, pp. 203-217, Springer-Verlag, Berlin, Germany. DOI: 10.1007/978-3-642-45404-2_14
  6. Exman, I., 2014. Linear Software Models: Standard Modularity Highlights Residual Coupling, Int. Journal on Software Engineering and Knowledge Engineering, vol. 24, pp. 183-210, March 2014. DOI: 10.1142/S0218194014500089
  7. Exman, I., 2015. Linear Software Models: Decoupled Modules from Modularity Eigenvectors, Int. Journal on Software Engineering and Knowledge Engineering, vol. 25, pp. 1395-1426, October 2015. DOI: 10.1142/S0218194015500308
  8. Fall, K., in Focus: Perspectives-US, 2016. “Four Thought Leaders on Where the Industry is Headed”, IEEE Software, pp. 36-39.
  9. Fiedler, M., 1973. “Algebraic Connectivity of Graphs”, Czech. Math. J., Vol. 23, (2) 298-305 (1973).
  10. Gamma, E., Helm, R., Johnson, R. and Vlissides, J., 1995. Design Patterns: Elements of Reusable ObjectOriented Software, Addison-Wesley, Boston, MA.
  11. JAMA, 2016. Java Matrix Package, web site: http://math.nist.gov/javanumerics/jama/
  12. Merris, R., 1994. "Laplacian matrices of graphs: a survey", Linear Algebra and its Applications, Vols. 197-198, January-February, pp. 143-176. DOI: 10.1016/0024- 3795(94)90486-3.
  13. Ng, A.Y., Jordan, M.I., and Weiss, Y., 2001. On spectral clustering: analysis and an algorithm, in: Proc. 2001 Neural Information Processing Systems, pp.849-856.
  14. Prototype, 2016. Web site: http://www.tutorialspoint.com/ design_pattern/prototype_pattern.htm
  15. Shokoufandeh, A., Mancoridis, S., Denton, T. and Maycock, M., 2005. “Spectral and meta-heuristic algorithms for software clustering,” Journal of Systems and Software, vol. 77, no. 3, pp. 213-223.
  16. Shtern, M. and Tzerpos, V., 2012. Clustering Methodologies for Software Engineering, in Advances in Software Engineering, vol. 2012, Article ID 792024 (2012). DOI: 10.1155/2012/792024
  17. Siff, M. and Reps, T., 1999. Identifying modules via concept analysis, IEEE Trans. Software Engineering, Vol. 25, (6), pp. 749-768. DOI: 10.1109/32.824377
  18. von Luxburg, U., 2007. A Tutorial on Spectral Clustering, Statistics and Computing, 17 (4), pp. 395-416. DOI: 10.1007/s11222-007-9033-z
  19. Wille, R., 1982. Restructuring lattice theory: an approach based on hierarchies of concepts. In: I. Rival (ed.): Ordered Sets, pp. 445-470, Reidel, Dordrecht, Holland.
Download


Paper Citation


in Harvard Style

Exman I. and Sakhnini R. (2016). Linear Software Models: Modularity Analysis by the Laplacian Matrix . In Proceedings of the 11th International Joint Conference on Software Technologies - Volume 2: ICSOFT-PT, (ICSOFT 2016) ISBN 978-989-758-194-6, pages 100-108. DOI: 10.5220/0005985601000108


in Bibtex Style

@conference{icsoft-pt16,
author={Iaakov Exman and Rawi Sakhnini},
title={Linear Software Models: Modularity Analysis by the Laplacian Matrix},
booktitle={Proceedings of the 11th International Joint Conference on Software Technologies - Volume 2: ICSOFT-PT, (ICSOFT 2016)},
year={2016},
pages={100-108},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005985601000108},
isbn={978-989-758-194-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 11th International Joint Conference on Software Technologies - Volume 2: ICSOFT-PT, (ICSOFT 2016)
TI - Linear Software Models: Modularity Analysis by the Laplacian Matrix
SN - 978-989-758-194-6
AU - Exman I.
AU - Sakhnini R.
PY - 2016
SP - 100
EP - 108
DO - 10.5220/0005985601000108