skip to main content
10.1145/1960496.1960501acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Typing aspects for MATLAB

Published:21 March 2011Publication History

ABSTRACT

The MATLAB programming language is heavily used in many scientific and engineering domains. Part of the appeal of the language is that one can quickly prototype numerical algorithms without requiring any static type declarations. However, this lack of type information is detrimental to both the programmer in terms of software reliability and understanding, and to the compiler in terms of generating efficient code.

This paper introduces the idea of adding typing aspects to MATLAB programs. A typing aspect can be used to: (1) capture the runtime types of variables, and (2) to check runtime types against either a declared type or against a previously captured runtime type. Typing aspects can be can be used: (1) solely as documentation, (2) to log type errors, or (3) to catch type errors at runtime.

References

  1. McLab: An Extensible Compiler Framework for MATLAB. Home page http://www.sable.mcgill.ca/mclab/.Google ScholarGoogle Scholar
  2. Accelerating MATLAB, 2002. http://www.mathworks.com/company/newsletters/digest/sept02/accel_matlab.pdf.Google ScholarGoogle Scholar
  3. G. Almasi and D. A. Padua. MaJIC: A MATLAB Just-In-Time Compiler. In Languages and Compilers for Parallel Computing. Springer Berlin / Heidelberg, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. T. Aslam, J. Doherty, A. Dubrau, and L. Hendren. AspectMatlab: An Aspect-Oriented Scientific Programming Language. In Proceedings of 9th International Conference on Aspect-Oriented Software Development, pages 181--192, March 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Chevalier-Boisvert, L. Hendren, and C. Verbrugge. Optimizing MATLAB through Just-In-Time Specialization. In International Conference on Compiler Construction, pages 46--65, March 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Denker, S. Ducasse, A. Lienhard, and P. Marschall. Sub-method reflection. Journal of Object Technology, 6(9):275--295, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  7. R. E. Filman and D. P. Friedman. Aspect-oriented programming is quantification and obliviousness. Technical Report Technical Report 01.12, RICAS, 2001. Presented at the Workshop on Advanced Separation of Concerns, OOPSLA 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Furr, J. hoon (David) An, J. S. Foster, and M. Hicks. Static type inference for Ruby. In Proceedings of the 2009 ACM symposium on Applied Computing, SAC '09, pages 1859--1866, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. M. Papi, M. Ali, T. L. Correa Jr., J. H. Perkins, and M. D. Ernst. Practical pluggable types for Java. In ISSTA 2008, Proceedings of the 2008 International Symposium on Software Testing and Analysis, pages 201--212, Seattle, WA, USA, July 22-24, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. L. D. Rose, K. Gallivan, E. Gallopoulos, B. A. Marsolf, and D. A. Padua. FALCON: A MATLAB Interactive Restructuring Compiler. In LCPC '95: Proceedings of the 8th International Workshop on Languages and Compilers for Parallel Computing, pages 269--288, London, UK, 1996. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Typing aspects for MATLAB

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      DSAL '11: Proceedings of the sixth annual workshop on Domain-specific aspect languages
      March 2011
      24 pages
      ISBN:9781450306485
      DOI:10.1145/1960496

      Copyright © 2011 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 21 March 2011

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader