TL;DR: ALADDIN is an interactive facility for debugging and testing of assembly language programs by allowing the user to specify breakpoint assertions, rather than breakpoint locations.
Abstract: ALADDIN is an interactive facility for debugging and testing of assembly language programs. ALADDIN differs from traditional debuggers by allowing the user to specify breakpoint assertions, rather than breakpoint locations. Assertions are logical relations among various components of the program state. If an assertion becomes false during execution of the object program a breakpoint is executed and control is passed to the user's terminal. ALADDIN can also be used as a testing tool to verify that asserted behavior matches actual behavior under various sets of input data and test conditions.
TL;DR: A variation of the metho d of verification of loop programs based upon a given loo p specification is applied to program debugging showing how a loop and its specificatio n can be checked for consistency and correctness and possibl y corrected.
Abstract: Introduction In a recent paper [1] Misra had introduced a metho d of verification of loop programs based upon a given loo p specification. This method employs the ideas of Mills [3 ] and is close to the subgoal induction advanced by Morris an d Wegbreit [2]. In this work we apply a variation of the metho d to program debugging showing how a loop and its specificatio n can be checked for consistency and correctness and possibl y corrected. The method requires an initialization be remove d from the loop construct and its specification be defined so a s to explicitly show the dependence of the final values on th e initial values of the variables of the loop treated as a separat e entity. The presentation is informal, being illustrated wit h a simple example. In what follows a*B stands for the whil e a do B construct, where B : D-> D is the loop body, and D is the domain of a*B. Greek letters stand for vectors o f variables of D. F stands for the function computed by a*B .