Abstract
Algebraic methods have been widely used to find properties of programs, especially for use in compiler optimisation. This paper describes the use of this kind of method to prove the absence of particular errors in microcode, or to detect and locate such errors. In order to show the kind of error which may be found we consider a number of examples. All of these have found errors in practical microcode, written for the PERQ computer.
- 1 Aho A. V. "Principles of compiler design" Addison-Wesley 1977 Google Scholar
Digital Library
- 2 Allen F.E. and Cocke J. "A program data flow analysis procedure" Comm. ACM Vol 19 No 3 pp 137- 167 (1976) Google Scholar
Digital Library
- 3 Backhouse R. C. and Carre B. A. "Regular algebra applied to path-finding problems" J. Inst. Math. Applic. Vol 15, ( 1975) pp 161-186Google Scholar
Cross Ref
- 4 G Bramson B.D. and Goodenough S.J. "Data use analysis for computer programs", unpublished R.S.R.E. report 1982Google Scholar
- 5 Bramson B.D. "Information flow analysis for computer programs" unpublished R.S.R.E. report 1982Google Scholar
- 6 Carre B.A. "Graphs and networks" OUP 1979Google Scholar
- 7 Cousot P. and Cousot R. "Abstract interpretation. A unified Lattice model for static analysis of programs by construction of approximation of fixpoints" Cth ACM Symp. on Principles of Programming Languages, Los Angeles, 1977. Google Scholar
Digital Library
- 8 Currie I.F., Edwards P.W. and Foster J.M. "Flex firmware" RSRE Report No. 81869 (1981)Google Scholar
- 9 Fosdick L.D. and Osterweil L.J. "Data flow analysis in software reliability" Computing Surveys, Vol 8. No 3, pp 385-338, (1976) Google Scholar
Digital Library
- 10 Foster J. M. "Checking microcode algebraically w Computer Journal ( to appear ) (1986)Google Scholar
- 11 Foster J. M. "Regu,lar expression analysis of procedures and exceptions" R.S.R.E. Report No. 85888 ( 1985)Google Scholar
- 12 Kam J. B. and Ullman J. D. "Monotone data flow analysis frameworks" Acta lnf. Vol 7 ( 1977 ) pp 385-317Google Scholar
- 13 Mezei J. and Wright J.B. "Algebraic automata and context-free sets" Information and Control Vol 11 ( 1967) pp3-29Google Scholar
Cross Ref
- 14 Mycroft A. "The theory and practise of transforming Call-by-need into call-by-value" Proc. bth. INT. Symp on Programming, Lecture notes on Computer Science 83, Springer-Verlag, 1980. Google Scholar
Digital Library
- 15 Mycroft A, and Nielson F. "Strong abstract interpretation using power domains" ICALP 1983, Lecture notes in Computer Science 15, Springer-Verlag 1983.Google Scholar
- 16 Rosen B. K. "Monoids for rapid data flow analysis" SIAM J. Comput. Vol 9 (1988) pp 159-196Google Scholar
Cross Ref
- 17 Salomaa A. "Two complete axiom systems for the algebra of regular events" Journal ACM Vol 13, No 1, Jan 1966 pp158- 169 Google Scholar
Digital Library
- 18 Tarjan R. E. "A unified approach to path programs" J. ACM, Vol 28, No 3. July 1981. pp 577-593 Google Scholar
Digital Library
- 19 Wegbreit B. "Property extraction in well-founded property sets" IEEE Trans. Software Eng. Vol 1 (1975) pp 278-285Google Scholar
Index Terms
Formally based static analysis of microcode
Recommendations
Formally based static analysis of microcode
MICRO 19: Proceedings of the 19th annual workshop on MicroprogrammingAlgebraic methods have been widely used to find properties of programs, especially for use in compiler optimisation. This paper describes the use of this kind of method to prove the absence of particular errors in microcode, or to detect and locate such ...
Experiments in Automatic Microcode Generation
A procedure is described which permits applications problems coded in a higher level language to be compiled to microcode for horizontally microprogrammed processors. An experimental language has been designed which is suitable for expressing ...
Evolution of Processor microcode
The control unit of many modern computer processors is implemented using microcode. Because of its low level and high complexity, writing microcode that is not only correct but efficient is extremely challenging. An interesting question is whether ...






Comments