[comp.lang.ada] Ada Portability Problems

spencer@pyr.gatech.EDU (SPENCER RUGABER) (05/01/88)

I am interested in learning of any experiences in detecting portability
problems with Ada code.  Specifically, I would like to see examples of
Ada code that compiles successfully but that exhibits a problem when
moved to another machine.  I would also like to learn of any tools,
similar to lint, for detecting such problems.

Spencer Rugaber
Software Engineering Research Center
Georgia Institute of Technology
spencer@gatech.edu

spencer@pyr.gatech.EDU (SPENCER RUGABER) (07/22/88)

I recently asked the participants of comp.lang.ada to let me know of
portability problems that they had found with Ada.  This note summarizes
the responses that I received.  Thanks to the following respondants (listed
in order of my receipt of their messages).

    Dave Emery      - emery@mitre-bedford.arpa
    Stanley Allen   - allen@star.stanford.edu
    Randall Neff    - neff@paradigm.stanford.edu
    Robert Philower - philhower%ctsvs2.decnet@ge-crd.arpa
    Doug Bryan      - bryan@helens.stanford.edu

Summary of Portability Problems

  + Intermediate results of a computation may violate type constraints,
    but the final result does not.  Compilers treat this differently.

  + All sorts of order of evaluation problems; for example, order of initial-
    ization of the components of a record.

  + Different number of bits in the predefined types, such as INTEGER.

  + Different operating system interfaces, such as file name formats, 
    limitations in the I/O package, and access to the command line parameters.

  + Compiler limitations, such as amount of internal memory, that limit what
    can be compiled in shot, compiler reserved names, and the amount of
    temporary file space used.

  + Lots of complaints about compiler bugs.

  + Items discussed in the LRM as being potential machine dependencies such
    as PRAGMAS and representation clauses.

References on Ada Portability

  + Portability and Style in Ada, Nissen & Wallis. 1984,
    Cambridge University Press.

  + "Observations on the Portability of Ada I/O", Ed Matthews
    Ada Letters, Sept/Oct 1987.

  + Catalogue of Ada Runtime Implementation Dependencies, by the 
    Ada Runtime Environments Working Group.  Dec 1987.

  + Portability and the Portability Summary, Developing Ada Programs on
    VAX/VMS, Digital Equipment Corporation, Maynard, MA, 1985.

  + Programming in Ada, Barnes, J.G.P., Addison-Wesley Publishers, Read-
    ing, MA, 1984.

  + The LRM.

A paper that includes a discussion of Ada portability problems will be
published in October in the Proceedings of the Sixth Symposium on Empirical 
Foundations of Information and Software Science (EFISS) Conference.  The 
publisher is Plenum Publishing Corp.

Spencer