On the Use of a Multiple View Interactive Environment for MATLAB and Octave Program Comprehension

  • Ivan M. Lessa
  • Glauco de F. Carneiro
  • Miguel P. Monteiro
  • Fernando Brito e AbreuEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9158)


MATLAB or GNU/Octave programs can become very large and complex and therefore difficult to understand and maintain. The objective of this paper is presenting an approach to mitigate this problem, based upon a multiple view interactive environment (MVIE) called OctMiner. The latter provides visual resources to support program comprehension, namely the selection and configuration of several views to meet developers’ needs. For validation purposes, the authors conducted two case studies to characterize the use of OctMiner in the context of software comprehension activities. The results provided initial evidences of its effectiveness to support the comprehension of programs written in the aforementioned languages.


Software visualization MATLAB/octave Software comprehension 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Seacord, R., Plakosh, D., Lewis, G.: Modernizing legacy systems: software technologies, engineering processes, and business practices. Addison-Wesley Professional (2003)Google Scholar
  2. 2.
    Card, S., Mackinlay, J., Shneiderman, B.: Readings in Information Visualization Using Vision to Think. Morgan Kaufmann, San Francisco (1999)Google Scholar
  3. 3.
    Carneiro, G., Silva, M., Mara, L., Figueiredo, E., Sant’Anna, C., Garcia, A., Mendonça, M.: Identifying code smells with multiple concern views. In: Proceedings of the XXIV Brazilian Symposium on Software Engineering (SBES 2010), pp. 128–137 (2010)Google Scholar
  4. 4.
    Cardoso, J., Fernandes, J., Monteiro, M., Carvalho, T., Nobre, R.: Enriching MATLAB with aspect-oriented features for developing embedded systems. Journal of Systems Architecture, 412–428 (2013)Google Scholar
  5. 5.
    Monteiro, M., Cardoso, J., Posea, S.: Identification and characterization of crosscutting concerns in MATLAB systems. In: Proceedings of the Conference on Compilers, Programming Languages, Related Technologies and Applications (CoRTA 2010), Braga, Portugal, pp. 9–10 (2010)Google Scholar
  6. 6.
    Spence, R.: Information Visualization: Design for Interaction, 2nd edn. Prentice Hall (2007)Google Scholar
  7. 7.
    de Figueiredo Carneiro, G., de Mendonça Neto, M.G.: SourceMiner: towards an extensible multi-perspective software visualization environment. In: Hammoudi, S., Cordeiro, J., Maciaszek, L.A., Filipe, J. (eds.) ICEIS 2013. LNBIP, vol. 190, pp. 242–263. Springer, Heidelberg (2014)Google Scholar
  8. 8.
    Nunes, A., Carneiro, G., David, J.: Towards the development of a framework for multiple view interactive environments. In: Proceedings of the International Conference on Information Technology: New Generations (ITNG 2014), Las Vegas, USA, pp. 23–30 (2014)Google Scholar
  9. 9.
    Lessa, I., Carneiro, G., Monteiro, M., Brito e Abreu, F.: A multiple view interactive environment to support MATLAB and GNU/Octave program comprehension. In: Proceedings of the International Conference on Information Technology: New Generations (ITNG), Las Vegas, USA (2015)Google Scholar
  10. 10.
    Chaves, J., Nehrbass, J., Guilfoos, B., Gardiner, J., Ahalt, S., Krishnamurthy, A., Unpingco, J., Warnock, A., Samsi, S.: Octave and python: high-level scripting languages productivity and performance evaluation. In: Proceedings of the HPCMP Users Group Conference 2006 (2006)Google Scholar
  11. 11.
    Stenroos, M., Mäntynen, V., Nenonen, J.: A MATLAB library for solving quasi-static volume conduction problems using the boundary element method. Computer methods and programs in biomedicine (2007)Google Scholar
  12. 12.
    Robillard, M., Murphy, G.: Representing Concerns in Source Code. ACM TOSEM (2007)Google Scholar
  13. 13.
    Tarr, P., Ossher, H., Harrison, W., Jr., N. I.: Degrees of separation: multi-dimensional separation of concerns. In: Proceedings of the ICSE 1999 (1999)Google Scholar
  14. 14.
    Menon, V., Pingali, K.: A case for source-level transformations in MATLAB. In: Proceedings of the DSL 1999, pp. 53–66 (1999)Google Scholar
  15. 15.
    Doherty, J.: McSAF: An extensible static analysis framework for the MATLAB language. MSc dissertation, McGill University, Montréal, Canada, September 2011Google Scholar
  16. 16.
    Doherty, J., Hendren, L.: McSAF: A Static Analysis Framework for MATLAB. Sable Technical Report sable-2011-01, McGill University, Montréal, Canada, December 2011Google Scholar
  17. 17.
    Radpour, S.: Understanding and refactoring the MATLAB language. MSc dissertation, McGill University, Montréal, Canada, August 2012Google Scholar
  18. 18.
    Dubrau, A., Hendren, L.: Taming MATLAB. Sable Technical Report sable-2011-04, McGill University, Montréal, Canada, December 2011Google Scholar
  19. 19.
    Lessa, I., Carneiro, G., Monteiro, M., Brito e Abreu, F.: Scaffolding MATLAB and octave software comprehension through visualization. In: Proceedings of the 27th International Conference on Software Engineering and Knowledge Engineering (SEKE 2015), Pittsburgh, USA (2015)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Ivan M. Lessa
    • 1
  • Glauco de F. Carneiro
    • 1
  • Miguel P. Monteiro
    • 2
  • Fernando Brito e Abreu
    • 3
    Email author
  1. 1.Universidade Salvador (UNIFACS)Salvador/BahiaBrazil
  2. 2.Universidade Nova de Lisboa (UNL), NOVA LINCSLisbonPortugal
  3. 3.Instituto Universitário de Lisboa (ISCTE-IUL), ISTAR-IULLisbonPortugal

Personalised recommendations