Program and Aspect Metrics for MATLAB

  • Pedro Martins
  • Paulo Lopes
  • João P. Fernandes
  • João Saraiva
  • João M. P. Cardoso
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7336)


In this paper we present the main concepts of a domain-specific aspect language for specifying cross-cutting concerns of MATLAB programs, together with a suite of metrics that is capable of assessing the overall advantage of introducing aspects in the development cycle of MATLAB software. We present the results of using our own suite to quantify the advantages of using aspect oriented programming, both in terms of programming effort and code quality. The results are promising and show a good potential for aspect oriented programming in MATLAB while our suite proves to be capable of analyzing the overall characteristics of MATLAB solutions and providing interesting results about them.


Aspect Oriented Programming Matlab Aspect Metrics 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    MATLAB: version 7.10.0 (R2010a). The MathWorks Inc., Natick, Massachusetts (2010)Google Scholar
  2. 2.
    MathWorks: Front page, (accessed in February 2012)
  3. 3.
    Halstead, M.H.: Elements of Software Science. Operating and programming systems series. Elsevier Science Inc., New York (1977)zbMATHGoogle Scholar
  4. 4.
    Aslam, T., Doherty, J., Dubrau, A., Hendren, L.: Aspectmatlab: an aspect-oriented scientific programming language. In: Proceedings of the 9th International Conference on Aspect-Oriented Software Development (AOSD), pp. 181–192. ACM, New York (2010)CrossRefGoogle Scholar
  5. 5.
    MathWorks: R2012a documentation - fixed-point toolbox, (accessed in February 2012)
  6. 6.
    Cardoso, J., Fernandes, J., Monteiro, M.: Adding aspect-oriented features to matlab. In: Workshop on Software Engineering Properties of Languages and Aspect Technologies (SPLAT! 2006) (2006)Google Scholar
  7. 7.
    Cardoso, J., Diniz, P., Monteiro, M.P., Fernandes, J.M., Saraiva, J.: A domainspecific aspect language for transforming MATLAB programs. In: Fifth Workshop on Domain-Specific Aspect Languages (DSAL) (March 2010) Google Scholar
  8. 8.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Lee, S.H. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  9. 9.
    Peckhan, J., Lloyd, S.J.: Practicing Software Engineering in 21st century. IRM Press (2003)Google Scholar
  10. 10.
    Lopes, C.V.: D: A Language Framework for Distributed Programming. PhD thesis, College of Computer Science, Northeastern University (1997)Google Scholar
  11. 11.
    Sant’anna, C., Garcia, A., Chavez, C., Lucena, C., v. von Staa, A.: On the reuse and maintenance of aspect-oriented software: An assessment framework. In: Proceedings XVII Brazilian Symposium on Software Engineering (SBES) (2003)Google Scholar
  12. 12.
    Nobre, R., Cardoso, J.M.P., Diniz, P.C.: Leveraging type knowledge for efficient matlab to c translation. In: 15th Workshop on Compilers for Parallel Computing (CPC) (2010)Google Scholar
  13. 13.
    MathWorks: Matlab central - file exchange, (accessed in February 2012)
  14. 14.
    Devouassoux, J., Reynaud, S., Jonniaux, G., Ribeiro, R.A., Pais, T.C.: Hazard avoidance developments for planetary exploration. In: 7th International ESA Conference on Guidance, Navigation and Control Systems (2008)Google Scholar
  15. 15.
    Reynaud, S., Drieux, M., Bourdarias, C., Philippe, C., Pham, B.v., Astrium Space Transportation: Science driven autonomous navigation for safe planetary pin-point landing 1. Context, 1–10 (2009)Google Scholar
  16. 16.
    Pais, T., Ribeiro, R.A.: Contributions to dynamic multicriteria decision making models. In: Proceedings of the International Fuzzy Systems Association World Congress and European Society for Fuzzy logic and technology Conference (IFSA-EUSFLAT), pp. 719–724 (2009)Google Scholar
  17. 17.
    Parr, T.: The Definitive ANTLR Reference: Building Domain-Specific Languages, 1st edn. Pragmatic Programmers. Pragmatic Bookshelf (2007)Google Scholar
  18. 18.
    Visser, J., Saraiva, J.: Tutorial on strategic programming across programming paradigms. In: 8th Brazilian Symposium on Programming Languages, SBLP (2004)Google Scholar
  19. 19.
    Balland, E., Moreau, P.E., Reilles, A.: Rewriting strategies in java. Electron. Notes Theor. Comput. Sci. 219, 97–111 (2008)CrossRefGoogle Scholar
  20. 20.
    Visser, E.: Program Transformation with Stratego/XT: Rules, Strategies, Tools, and Systems in Strategoxt-0.9. In: Lengauer, C., Batory, D., Blum, A., Vetta, A. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, pp. 216–238. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  21. 21.
    Balland, E., Brauner, P., Kopetz, R., Moreau, P.-E., Reilles, A.: Tom: Piggybacking Rewriting on Java. In: Baader, F. (ed.) RTA 2007. LNCS, vol. 4533, pp. 36–47. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  22. 22.
    Knuth, D.E.: Semantics of Context-free Languages. Mathematical Systems Theory 2(2), 127–145 (1968); Correction: Mathematical Systems Theory 5(1), 95–96 (March 1971) Google Scholar
  23. 23.
    Saraiva, J., Swierstra, D.: Generating Spreadsheet-Like Tools from Strong Attribute Grammars. In: Pfenning, F., Smaradakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 307–323. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  24. 24.
    Kuiper, M., Saraiva, J.: Lrc - A Generator for Incremental Language-Oriented Tools. In: Koskimies, K. (ed.) CC 1998. LNCS, vol. 1383, pp. 298–301. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  25. 25.
    Fernandes, J.P., Pardo, A., Saraiva, J.: A shortcut fusion rule for circular program calculation. In: ACM SIGPLAN Haskell Workshop, Haskell 2007, pp. 95–106. ACM, New York (2007)CrossRefGoogle Scholar
  26. 26.
    Pardo, A., Fernandes, J.P., Saraiva, J.: Shortcut fusion rules for the derivation of circular and higher-order programs. In: Higher-Order and Symbolic Computation, pp. 1–35. Springer (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Pedro Martins
    • 1
  • Paulo Lopes
    • 1
  • João P. Fernandes
    • 1
    • 2
  • João Saraiva
    • 1
  • João M. P. Cardoso
    • 2
  1. 1.HASLab / INESC TECUniversidade do MinhoPortugal
  2. 2.Faculdade de Engenharia, Departamento de Eng. InformaticaUniversidade do PortoPortoPortugal

Personalised recommendations