# 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

- Baldwin, C.Y. and Clark, K.B., 2000. Design Rules, Vol. I. The Power of Modularity, MIT Press, MA, USA.
- 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.
- 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:
- http://www.youtube.com/watch?v=EJfzArH8-ls
- 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
- 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
- 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
- Fall, K., in Focus: Perspectives-US, 2016. “Four Thought Leaders on Where the Industry is Headed”, IEEE Software, pp. 36-39.
- Fiedler, M., 1973. “Algebraic Connectivity of Graphs”, Czech. Math. J., Vol. 23, (2) 298-305 (1973).
- Gamma, E., Helm, R., Johnson, R. and Vlissides, J., 1995. Design Patterns: Elements of Reusable ObjectOriented Software, Addison-Wesley, Boston, MA.
- JAMA, 2016. Java Matrix Package, web site: http://math.nist.gov/javanumerics/jama/
- 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.
- 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.
- Prototype, 2016. Web site: http://www.tutorialspoint.com/ design_pattern/prototype_pattern.htm
- 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.
- 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
- 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
- von Luxburg, U., 2007. A Tutorial on Spectral Clustering, Statistics and Computing, 17 (4), pp. 395-416. DOI: 10.1007/s11222-007-9033-z
- 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.

#### 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