Assertion checker for the C programming language based on computations over event traces

作者: Mikhail Auguston

DOI:

关键词:

摘要: This paper suggests an approach to the development of software testing and debugging automation tools based on precise program behavior models. The model is defined as a set events (event trace) with two basic binary relations over -- precedence inclusion, represents temporal relationship between actions. A language for computations event traces developed that provides basis assertion checking, queries, execution profiles, performance measurements. nondestructive, since texts are separated from target source code can be maintained independently. Assertions capture dynamic properties particular formalize general knowledge typical bugs strategies. An grammar sound implementation via automatic instrumentation. architecture preliminary experiments prototype checker C programming discussed.

参考文章(16)
Fabrizio Baiardi, Nicoletta De Francesco, Gigliola Vaglini, Development of a debugger for a concurrent language IEEE Transactions on Software Engineering. ,vol. 12, pp. 547- 553 ,(1986) , 10.1109/TSE.1986.6312902
M. I. Auguston, Programming language RIGAL as a compiler writing tool Sigplan Notices. ,vol. 25, pp. 61- 69 ,(1990) , 10.1145/122193.122198
G. Goldszmidt, S. Katz, S. Yemini, Interactive blackbox debugging for concurrent languages workshop on parallel & distributed debugging. ,vol. 24, pp. 271- 282 ,(1988) , 10.1145/68210.69241
Bernd Bruegge, Peter Hibbard, Generalized path expressions: a high level debugging mechanism Sigplan Notices. ,vol. 8, pp. 34- 44 ,(1983) , 10.1145/1006142.1006157
K.S. Templer, C.L. Jeffery, A configurable automatic instrumentation tool for ANSI C automated software engineering. pp. 249- 258 ,(1998) , 10.1109/ASE.1998.732663
Peter Fritzson, Nahid Shahmehri, Mariam Kamkar, Tibor Gyimothy, Generalized algorithmic debugging and testing ACM Letters on Programming Languages and Systems. ,vol. 1, pp. 303- 322 ,(1992) , 10.1145/161494.161498
Leslie Lamport, Time, clocks, and the ordering of events in a distributed system Communications of the ACM. ,vol. 21, pp. 558- 565 ,(1978) , 10.1145/359545.359563
Mikhail Auguston, A language for debugging automation. software engineering and knowledge engineering. pp. 108- 115 ,(1994)
Samuel P. Harbison, Guy L. Steele, C: A Reference Manual, Fourth Edition Prentice Hall PTR. ,(1994)