Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

STAN - a generator tool for code auditors

: Bandow, G.; Merchel, R.; Wystrychowski, T.

Ross, M.; Brebbia, C.A.; Staples, G. ; Stapleton, J.:
Software Quality Management III
Boston; Southampton: Computational Mechanics Publ., 1995
ISBN: 1-56252-233-7
12 pp.
International Conference on Software Quality Management <3, 1995, Sevilla>
Conference Paper
Fraunhofer IML ()
auditor; code auditor; defect prevention; early error detection; generator tool; maintenance; programming guidelines; quality assurance; review; software develoment process; software lifecycle; static analyzer

In this paper a generator tool is described which is able to generate analyzers for programming guidelines. Defect prevention and early error detection, and support of all activities in the software lifecycle are the essential aims of the software development process which gave the incentive for this work. In order to achieve these aims programs should have a uniform structure, be easy to read and to understand, be portable to all system platforms, be correct, i.e. without errors as far as possible, and be maintainable by different programmers. As practical experience showed it is helpful to use guidelines in order to achieve these aims. An automized review of guidelines has considerable advantages in view to quality assurance. There will be almost no additional expenditures for the software developer when he uses this tool. Most of the layout and commenting guidelines are automatically put into practice. Based on a formal description of regular, context-free and context sensitive char acteristics of a programming language (target language) and restrictions defined on target language increments the tool generates a static analyzer for these restrictions of the target language. The generator system called STAN (STatic ANalyzer) can be used for languages which are described by LL(k) grammars. in principle, the lookahead k can be of any scope. This makes it possible to use this system also for non-programming languages, such as formal design languages.