Hard-to-detect errors due to the assembly-language environment

Lance G. Johnson, David C. Pheanis, Ira A. Fulton · 2022 IEEE Frontiers in Education Conference (FIE) · 2007

Most programming errors are reasonably simple to understand and detect. One of the benefits of a high-level language is its encapsulation of error-prone concepts such as memory access and stack manipulation. Assembly-language programmers do not have this luxury. In our quest to create automated error-prevention and error-detection tools for assembly language, we need to create a comprehensive list of possible errors. We are not considering syntax errors or algorithmic errors. Assemblers, simple testing, and automated testing can detect those errors. We want to deal with design errors that are direct byproducts of the assembly-language environment or result from a programmer’s lack of understanding of the assembly-language environment. Over many years of assembly-language instruction, we have come across a plethora of errors. Understanding the different types of errors and how to prevent and detect them is essential to our goal of creating automated error-prevention and error-detection tools. In this paper we list and explain the types of errors we have cataloged.

Read the paper · More papers on PaperTik