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