Finding Relations Among Linear Constraints

  • Jun Yan
  • Jian Zhang
  • Zhongxing Xu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4120)


In program analysis and verification, there are some constraints that have to be processed repeatedly. A possible way to speed up the processing is to find some relations among these constraints first. This paper studies the problem of finding Boolean relations among a set of linear numerical constraints. The relations can be represented by rules. It is believed that we can not generate all the rules in polynomial-time. A search based algorithm with some heuristics to speed up the search process is proposed. All the techniques are implemented in a tool called MALL which can generate the rules automatically. Experimental results with various examples show that our method can generate enough rules in acceptable time. Our method can also handle other types of constraints if proper numeric solvers are available.


Linear Constraint Strict Inequality Inductive Logic Programming Find Relation Boolean Combination 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Cheng, B.M.W., Lee, J.H.M., Wu, J.C.K.: Speeding up constraint propagation by redundant modeling. In: Freuder, E.C. (ed.) CP 1996. LNCS, vol. 1118, pp. 91–103. Springer, Heidelberg (1996)Google Scholar
  2. 2.
    Getoor, L., Ottosson, G., Fromherz, M., Carlson, B.: Effective redundant constraints for online scheduling. In: Proceedings of the Fourteenth National Conference on Artificial Intelligence (AAAI 1997), pp. 302–307 (1997)Google Scholar
  3. 3.
    Zhang, J., Wang, X.: A constraint solver and its application to path feasibility analysis. International Journal of Software Engineering & Knowledge Engineering 11, 139–156 (2001)CrossRefGoogle Scholar
  4. 4.
    Zhang, J.: A path-based approach to the detection of infinite looping. In: Second Asia-Pacific Conference on Quality Software (APAQS 2001), pp. 88–94 (2001)Google Scholar
  5. 5.
    Zhang, J.: Specification analysis and test data generation by solving Boolean combinations of numeric constraints. In: Proceedings of the First Asia-Pacific Conference on Quality Software, Hong Kong, pp. 267–274 (2000)Google Scholar
  6. 6.
    Clarke, E.M., Grumberg, O., Long, D.E.: Model checking and abstraction. ACM Transactions on Programming Languages and Systems 16(5), 1512–1542 (1994)CrossRefGoogle Scholar
  7. 7.
    Ball, T., Rajamani, S.K.: Bebop: A symbolic model checker for Boolean programs. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, pp. 113–130. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  8. 8.
    Berkelaar, M.: LP_solve. A public domain Mixed Integer Linear Program solver (May 2003), Available at:
  9. 9.
    Karmarkar, N.: A new polynomial-time algorithm for linear programming. Combinatorica 4, 373–395 (1984)CrossRefMathSciNetzbMATHGoogle Scholar
  10. 10.
    Papadimitriou, C.H., Wolfe, D.: The complexity of facets resolved. Journal of Computer and System Sciences 37(1), 2–13 (1988)CrossRefMathSciNetzbMATHGoogle Scholar
  11. 11.
    Papadimitriou, C.H., Yannakakis, M.: The complexity of facets (and some facets of complexity). In: Proceedings of the fourteenth annual ACM symposium on Theory of computing (STOC 1982), pp. 255–260 (1982)Google Scholar
  12. 12.
    Jaffar, J., Michaylov, S., Stuckey, P.J., Yap, R.H.C.: The CLP(\(\mathcal{R}\)) language and system. ACM Transactions on Programming Languages and Systems, 339–395 (July 1992)Google Scholar
  13. 13.
    Sankaranarayanan, S., Sipma, H.B., Manna, Z.: Scalable analysis of linear systems using mathematical programming. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 25–41. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  14. 14.
    Muggleton, S., De Raedt, L.: Inductive logic programming: Theory and methods. Journal of Logic Programming 19/20, 629–679 (1994)CrossRefGoogle Scholar
  15. 15.
    Silva, J., Sakallah, K.: Conflict analysis in search algorithms for propositional satisfiability. In: Proceedings of the 8th International Conference on Tools with Artificial Intelligence (ICTAI 1996), p. 467 (1996)Google Scholar
  16. 16.
    Bruni, R., Sassano, A.: Restoring satisfiability or maintaining unsatisfiability by finding small unsatisfiable subformulae. In: Proceedings of the Workshop on Theory and Applications of Satisfiability Testing (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Jun Yan
    • 1
    • 2
  • Jian Zhang
    • 1
  • Zhongxing Xu
    • 1
    • 2
  1. 1.Laboratory of Computer Science, Institute of SoftwareChinese Academy of Sciences 
  2. 2.Graduate University, Chinese Academy of Sciences 

Personalised recommendations