Toward a Token-Based Approach to Concern Detection in MATLAB Sources

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10423)

Abstract

Matrix and data manipulation programming languages are an essential tool for data analysts. However, these languages are often unstructured and lack modularity mechanisms. This paper presents a business intelligence approach for studying the manifestations of lack of modularity support in that kind of languages. The study is focused on MATLAB as a well established representative of those languages. We present a technique for the automatic detection and quantification of concerns in MATLAB, as well as their exploration in a code base. Ubiquitous Self Organizing Map (UbiSOM) is used based on direct usage of indicators representing different sets of tokens in the code. UbiSOM is quite effective to detect patterns of co-occurrence between multiple concerns. To illustrate, a repository comprising over 35, 000 MATLAB files is analyzed using the technique and relevant conclusions are drawn.

Keywords

Business intelligence Concern metrics Concern mining MATLAB Token-based technique Self-organizing maps Modularity 

References

  1. 1.
    Bispo, J., Cardoso, J.M.P.: A MATLAB subset to c compiler targeting embedded systems. Softw.: Pract. Exp. 47(2), 249–272 (2017). http://dx.doi.org/10.1002/spe.2408, sPE-15-0162.R2Google Scholar
  2. 2.
    Cardoso, J.M., Fernandes, J.M., Monteiro, M.P.: Adding aspect-oriented features to matlab. In: Fifth International Conference on Aspect-Oriented Software Development (AOSD 2016) (2006)Google Scholar
  3. 3.
    Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)CrossRefGoogle Scholar
  4. 4.
    Figueiredo, E., Sant’Anna, C., Garcia, A., Bartolomei, T.T., Cazzola, W., Marchetto, A.: On the maintainability of aspect-oriented software: a concern-oriented measurement framework. In: 12th European Conference on Software Maintenance and Reengineering, CSMR 2008, pp. 183–192. IEEE (2008)Google Scholar
  5. 5.
    Kellens, A., Mens, K., Tonella, P.: A survey of automated code-level aspect mining techniques. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development IV. LNCS, vol. 4640, pp. 143–162. Springer, Heidelberg (2007). doi:10.1007/978-3-540-77042-8_6 CrossRefGoogle Scholar
  6. 6.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997). doi:10.1007/BFb0053381 Google Scholar
  7. 7.
    Kohonen, T.: Self-Organizing Maps. Springer, Berlin (2001)CrossRefMATHGoogle Scholar
  8. 8.
    Maisikeli, S.G., Mitropoulos, F.J.: Aspect mining using self-organizing maps with method level dynamic software metrics as input vectors. In: 2010 2nd International Conference on Software Technology and Engineering (ICSTE), vol. 1, pp. V1–212. IEEE (2010)Google Scholar
  9. 9.
    Marques, N.C., Silva, B., Santos, H.: An interactive interface for multi-dimensional data stream analysis. In: 2016 20th International Conference on Information Visualisation (IV), pp. 223–229. IEEE (2016)Google Scholar
  10. 10.
    Mikolov, T., Sutskever, I., Chen, K., Corrado, G.S., Dean, J.: Distributed representations of words and phrases and their compositionality. In: Advances in Neural Information Processing Systems, pp. 3111–3119 (2013)Google Scholar
  11. 11.
    Monteiro, M., Cardoso, J., Posea, S.: Identification and characterization of crosscutting concerns in MATLAB systems. In: Conference on Compilers, Programming Languages, Related Technologies and Applications (CoRTA 2010), Braga, Portugal, pp. 9–10. Citeseer (2010)Google Scholar
  12. 12.
    Silva, B., Marques, N.C.: The ubiquitous self-organizing map for non-stationary data streams. J. Big Data 2(1), 1–22 (2015)CrossRefGoogle Scholar
  13. 13.
    Ultsch, A., Herrmann: The architecture of emergent self-organizing maps to reduce projection errors. In: Verleysen, M. (ed.) Proceedings of the European Symposium on Artificial Neural Networks (ESANN 2005), pp. 1–6 (2005)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.NOVA Laboratory for Computer Science and Informatics (NOVA-LINCS) & FCTUniversidade NOVA de LisboaLisbonPortugal
  2. 2.IPSetubal - Escola Superior de Tecnologia de SetúbalSetúbalPortugal
  3. 3.FEUP, Universidade do Porto, INESC-TECPortoPortugal

Personalised recommendations