Title :
Automating traceability for generated software artifacts
Author :
Richardson, Julian ; Green, Jeff
Author_Institution :
Automated Software Eng. Group, NASA Ames Res. Center, Moffett Field, CA, USA
Abstract :
Program synthesis automatically derives programs from specifications of their behavior. At a lower level, compilation automatically derives machine code from source code (i.e. from a specification of its behavior). An advantage of program synthesis/compilation, as opposed to manual coding, is that there is a direct link between the specification and the derived program. This link is, however, not very fine-grained: it can be best characterized as program is-derived-from specification. When the generated program needs to be understood or modified, more fine-grained linking is useful. We present a technique for automatically deriving traceability relations between parts of a specification and parts of the synthesized program. The technique is very lightweight and we expect it to work - with varying degrees of success - for any process in which one artifact is automatically derived from another. We illustrate the generality of the technique by applying it to two kinds of automatic generation: synthesis of Kalman filter programs from specifications using the AUTOFILTER program synthesis system, and generation of assembly language programs from C source code using the GCC C compiler. We evaluate the effectiveness of the technique in the latter application.
Keywords :
C language; Kalman filters; assembly language; automatic programming; formal specification; program compilers; program diagnostics; AUTOFILTER program synthesis system; C source code; GCC C compiler; Kalman filter programs; assembly language program generation; automatic generation; fine-grained linking; machine code; program compilation; program is-derived-from specification; software artifact generated; traceability automation; traceability relations; Application software; Assembly systems; Joining processes; Mission critical systems; NASA; Program processors; Programming profession; Safety; Software engineering; Software standards;
Conference_Titel :
Automated Software Engineering, 2004. Proceedings. 19th International Conference on
Print_ISBN :
0-7695-2131-2
DOI :
10.1109/ASE.2004.1342721