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.
Similar content being viewed by others
References
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.R2
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)
Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)
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)
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
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
Kohonen, T.: Self-Organizing Maps. Springer, Berlin (2001)
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)
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)
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)
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)
Silva, B., Marques, N.C.: The ubiquitous self-organizing map for non-stationary data streams. J. Big Data 2(1), 1–22 (2015)
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)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Monteiro, M.P., Marques, N.C., Silva, B., Palma, B., Cardoso, J. (2017). Toward a Token-Based Approach to Concern Detection in MATLAB Sources. In: Oliveira, E., Gama, J., Vale, Z., Lopes Cardoso, H. (eds) Progress in Artificial Intelligence. EPIA 2017. Lecture Notes in Computer Science(), vol 10423. Springer, Cham. https://doi.org/10.1007/978-3-319-65340-2_47
Download citation
DOI: https://doi.org/10.1007/978-3-319-65340-2_47
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-65339-6
Online ISBN: 978-3-319-65340-2
eBook Packages: Computer ScienceComputer Science (R0)