Simplification of State Invariant with Mixed Reachability Analysis

혼합 도달성 분석을 이용한 상태 불변식의 단순화

  • 권기현 (경기대학교 정보과학부)
  • Published : 2003.04.01

Abstract

State invariant is a property that holds in every reachable state. It can be used not only in understanding and analyzing complex software systems, but it can also be used for system verifications such as checking safety, liveness, and consistency. For these reasons, there are many vital researches for deriving state invariant from finite state machine models. In previous works every reachable state is to be considered to generate state invariant. Thus it is likely to be too complex for the user to understand. This paper seeks to answer the question `how to simplify state invariant\ulcorner`. Since the complexity of state invariant is strongly dependent upon the size of states to be considered, so the smaller the set of states to be considered is, the shorter the length of state invariant is. For doing so, we let the user focus on some interested scopes rather than a whole state space in a model. Computation Tree Logic(CTL) is used to specify scopes in which he/she is interested. Given a scope in CTL, mixed reachability analysis is used to find out a set of states inside it. Obviously, a set of states calculated in this way is a subset of every reachable state. Therefore, we give a weaker, but comprehensible, state invariant.

상태 불변식은 도달 가능한 모든 상태에서 만족되는 속성이다. 불변식은 복잡한 소프트웨어 시스템의 분석과 이해에 사용될 뿐만 아니라 안전성, 궁극성, 일관성 등과 같은 시스템 검증에도 사용된다. 이와 같은 이유로 인해서, 유한 상태 기계 모델로부터 상태 불변식을 추출하는 연구가 활발히 진행되고 있다. 상태 불변식을 생성하는 기존 연구에서는 도달 가능한 상태가 모두 고려됐다. 따라서 생성된 상태 불변식은 길고 복잡해서, 사용자가 이해하기 어려웠다. 본 논문에서는 '어떻게 상태 불변식을 단순화 할 것인가\ulcorner` 란 질문에 대한 답을 보인다. 상태 불변식의 복잡성은 고려되어진 상태의 크기에 강하게 좌우된다. 고려된 상태들이 작으면 작을수록, 상태 불변식의 길이는 짧다. 단순한 상태 불변식을 생성하기 위해서는, 전체 상태 공간보다는 관심 있는 특정 부분(즉 범위)에 집중해야 한다. 관심 있는 범위를 표현하기 위하여 본 논문에서는 CTL 논리를 사용한다. CTL로 범위가 표현되면, 혼합 도달성 분석을 이용하여 범위 내에 속하는 상태들을 찾는다. 명백히, 이 방법으로 계산된 상태 집합은 도달 가능한 모든 상태의 부분 집합이다. 따라서, 더 약하지만 더 이해력 있는 상태 불변식을 얻는다.

Keywords

References

  1. E.M. Clarke, E.A. Emerson, A.P. Sistla, Automatic verification of finite state concurrent systems using temporal logic specifications, ACM Transactions on Programming Languages and Systems, Vol.8, No.2, pp. 244-263, 1986 https://doi.org/10.1145/5397.5399
  2. Z. Manna, et.al., STeP: The Stanford temporal prover, Technical Report STAN-CS-TR-94-1518, Computer Science Department, Stanford University, 1994
  3. S. Bensalem, Y. Lakhnech, Automatic generation of invariants, Formal Methods in System Design, Vol.15, No.1, pp.75-92, 1999 https://doi.org/10.1023/A:1008744030390
  4. S. Bensalem, Y. Lakhnech, H. Saidi, Powerful techniques for the automatic generation of invariants, Proceedings of CAV' 96, LNCS 1102, pp. 323-335, 1996
  5. R. Jeffords, C. Heitmeyer, Automatic generation of state invariants from requirements specifications, In Proceedings of ACM SIGSOFT Symposium on Foundations of Software Engineering, 1998 https://doi.org/10.1145/288195.288218
  6. Y.W. Park, et.al., Static analysis to identify invariants in RSML specifications, In Proceedings of Formal Techniques in Real-Time and Fault-Tolerant '98, LNCS 1486, Springer, 1998 https://doi.org/10.1007/BFb0055343
  7. C. Heitmeyer, et.al., Using abstraction and model checking to detect safety violations in requirements specifications, IEEE Transactions on Software Engineering, Vol.24, No.11, 1998 https://doi.org/10.1109/32.730543
  8. W. Chan, Temporal Logic Queries, In Proceedings of CAV 2000, LNCS 1855, Springer, 2000
  9. E.M. Clarke, O. Grumberg, D. Peled, Model Checking, MIT Press, 1999
  10. M.B. Dwyer, G.S. Avrunin, J.C. Corbett, Property specification patterns for finite-state verification, In Proceedings of the Workshop on Formal Methods in Software Practice, 1998 https://doi.org/10.1145/298595.298598
  11. L. K. Dillon, et.al., A graphical interval logic for specifying concurrent systems, ACM Transactions on Software Engineering and Methodology, Vol.3, No.2, pp.131-165, 1994 https://doi.org/10.1145/192218.192226
  12. R.E. Bryant, Graph-Based Algorithms for Boolean Function Manipulation, IEEE Transactions on Computer, Vol. 35, No.8, pp.677-691, 1986
  13. D.Harel, A. Naamad, The STATMATE semantics of statecharts, ACM' Transactions on Software Engineering and Methodology, Vol.5, No.4, pp.293-333, 1996 https://doi.org/10.1145/235321.235322