Abstract
It is very important for software developers to thoroughly test their software. Since programs are tested in a specific environment, however, some errors are difficult, if not impossible, to detect by traditional testing methods such as path analysis. A program may contain errors that are masked by the environment in which it was developed and tested. One such element in a program’s environment is the value to which memory is initialized. Mistakes in initialization would not appear until the software is ported to an environment in which memory has a different initialization value, when the software would mysteriously stop working correctly.
To prevent “mystery errors” and increase software portability, a programmer should be aware of the types of errors that are undetectable for a particular machine and system. These errors must be looked for specifically, realizing that test data will never expose them. Systems programmers also should be aware of the masking affect of different memory initialization values and use values that hide the fewest types of errors. This paper examines errors that programmers tend to make with FORTRAN to determine what values in memory could mask each. A “best” initialization value is proposed for FORTRAN, and findings are extrapolated to other programming languages such as Ada.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Appelbe, W. F., DeMillo, R. A., Guindi, D. S., King, K. N., and McCracken, W. M., 1988, Using Mutation Analysis for Testing Ada Programs, Proceedings of Ada-Europe ‘88, Munich, W. Germany, June 1988.
Bowser, John H., 1988, Reference Manual for Ada Mutant Operators, GIT-SERC-88/02, Georgia Institute of Technology, Atlanta, GA.
Bullard, Catherine L., and Spafford, Eugene H., 1987, Testing Experience with Mottera, GIT-SERC-87/04, Georgia Institute of Technology, Atlanta, GA.
Bullard, Catherine L., Guindi, D., Ligon, W., McCracken, W. M., and Rugaber, S., 1988, Verification and Validation of Reusable Ada Components, Proceedings of the EFISS, Plenum Press, New York, NY.
DeMillo, R. A., Lipton, R. J., and Sayward, F. G., 1978, Hints on Test Data Selection: Help for the Practicing Programmer, Computer, Vol. 11, pp. 34–41, 4 April 1978.
DeMillo, R. A., Lipton, R. J., and Sayward, F. G., 1979, Program Mutation: A New Approach to Program Testing, Software Testing, Volume 2: Invited Papers, Infotech International, pp. 107–126.
DeMillo, R. A., Martin, R. J., McCracken, W. M., and Passifume, J. F., 1987, Software Test and Evaluation, Benjamin/Cummings, Menlo Park, CA.
DeMillo, R. A., Guindi, D. S., McCracken, W. M., Offutt, A. J., and King, K. N., 1988, An Extended Overview of the Mothra Software Testing Environment, Proceedings of the Second Workshop on Software Testing Verification, and Analysis, Computer Society Press, Banff, Canada, 19–21 July 1988.
Fischer, Charles N., and LeBlanc, Richard J., Jr., 1988, Crafting a Compiler, Benjamin/Cummings, Menlo Park, CA, pp. 651–669.
Howden, William E., 1980, Functional Testing and Design Abstractions, Journal of Systems and Software, No. 1, pp. 307–313.
Spafford, Eugene H., 1987, Initializing Uninitialized Memory, GIT-SERC-87/02, Georgia Institute of Technology, Atlanta, Georgia.
Wallis, Peter J., 1982, Portable Programming, John Wiley and Sons, New York, NY.
Youngs, E. A., 1971, Error Proneness in Programming, PhD Thesis, University of North Carolina.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1990 Plenum Press, New York
About this chapter
Cite this chapter
Bullard, C.L., McCracken, W.M. (1990). Environmental Effects on the Detection of Errors in Software Systems. In: Zunde, P., Hocking, D. (eds) Empirical Foundations of Information and Software Science V. Springer, Boston, MA. https://doi.org/10.1007/978-1-4684-5862-6_35
Download citation
DOI: https://doi.org/10.1007/978-1-4684-5862-6_35
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4684-5864-0
Online ISBN: 978-1-4684-5862-6
eBook Packages: Springer Book Archive