Rule-Set Extraction from C-Code

  • Franz Wotawa
  • Willibald Krenn
Part of the Lecture Notes in Electrical Engineering book series (LNEE, volume 38)


We present an approach for extracting knowledge from C source code ofcontrol programs. The extracted knowledge is intended to be used in our smartcontrol engine which takes a rule set and decides which rules to use based onthe internal and environmental conditions. The extraction of rules is based onthe control-flow graph of the supplied C program: Basically, our methodextracts rules that correspond to paths to given high-level function calls. Theadvantage of this method is to get a first knowledge-base from availablesource code which makes using a smart control engine more applicable forindustry. We use an industrial control program as example within the paper inorder to justify the usefulness of our approach.


Control Flow Graph Conversion Problem Abstraction ProgramT ransformation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    W. Krenn and F. Wotawa, Gradient-based diagnosis, In Proceedings of the International Workshop on Principles of Diagnosis, pages 314–321, 2007.Google Scholar
  2. 2.
    M. Weiser, Programmers Use Slices when Debugging, Communications of the ACM, 25(7):446–452, 1982.CrossRefGoogle Scholar
  3. 3.
    M. Weiser, Program Slicing, IEEE Transactions on Software Engineering, 10(4):352–357, 1984.CrossRefGoogle Scholar
  4. 4.
    T. Henzinger, R. Jhala, R. Majumdar, and G. Sutre, Software verification with Blast,Proceedings of the Tenth International Workshop on Model Checking of Software(SPIN), Lecture Notes in Computer Science 2648, Springer-Verlag 2003.Google Scholar
  5. 5.
    T. Ball and S. K. Rajamani, The SLAM project: debugging system software via staticanalysis, Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles ofprogramming languages, pages 1–3, Jan. 2002.Google Scholar
  6. 6.
    C. Edmund, D. Kroening, and F. Lerda, Flavio, A Tool for Checking ANSI-C Programs,Tools and Algorithms for the Construction and Analysis of System, 2004.Google Scholar
  7. 7.
    M. D. Ernst, J. H. Perkins, P. J. Guo, S. McCamant, C. Pacheco, M. S. Tschantz, and C.Xiao, The Daikon system for dynamic detection of likely invariants, Science ofComputer Programming, 2007.Google Scholar
  8. 8.
    C. Csallner, N. Tillmann, and Y. Smaragdakis. Dysy: Dynamic Symbolic Execution forInvariant Inference. In Robby, editor, ICSE, pages 281–290, ACM, 2008.Google Scholar
  9. 9.
    D. Du Varney and S. Purushothaman Iyer, C Wolf – A Toolset for Extracting Modelsfrom C Programs, Formal Techniques for Networked and Distributed Sytems, 2002.Google Scholar
  10. 10.
    S. Shoham, E. Yahav, S. Fink, and M. Pistoia, Static Specification Mining UsingAutomata-Based Abstractions, ISSTA, 2007.Google Scholar
  11. 11.
    D. Angluin, Learning regular sets from queries and counterexamples, Information and Computation, 75(2):87–106, 1987.Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2009

Authors and Affiliations

  • Franz Wotawa
    • 1
  • Willibald Krenn
    • 1
  1. 1.Institute for Software Technology, Technische Universität Graz,Inffeldgasse 16b/2A-8010 GrazAustria

Personalised recommendations