Elimination of Redundant Invariants

Redundant invariants increase processing time and memory consumption, which make serious effect on the application of invariants. The elimination of invariant redundancy is an important part in the invariant study. Now most methods of invariant redundancy elimination are based on optimization of invariants detecting tool which lack the principles analyse and system solutions of redundant invariants themselves. This paper first analyses the theory about classification and forming reasons of redundant invariant and then discusses the judgement of three kinds of invariant redundancy: equivalent redundancy, transitivity redundancy and implicating redundancy. Finally, the paper proposes the algorithms of eliminating invariant redundancy. The study has great value to the application of invariants which can significantly improves the efficiency by saving the time and space in processing.

[1]  William G. Griswold,et al.  Quickly detecting relevant program invariants , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[2]  William G. Griswold,et al.  Automated support for program refactoring using invariants , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[3]  Martin Odersky ECOOP 2004 – Object-Oriented Programming , 2004, Lecture Notes in Computer Science.

[4]  Shriram Krishnamurthi,et al.  Automated Fault Localization Using Potential Invariants , 2003, ArXiv.

[5]  Nancy A. Lynch,et al.  Using simulated execution in verifying distributed algorithms , 2003, International Journal on Software Tools for Technology Transfer.

[6]  David Notkin,et al.  Exploiting Synergy Between Testing and Inferred Partial Specifications , 2003 .

[7]  Michael D. Ernst,et al.  Improving test suites via operational abstraction , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[8]  Michael D. Ernst,et al.  Dynamically discovering likely program invariants , 2000 .

[9]  Stephen McCamant,et al.  Early Identification of Incompatibilities in Multi-component Upgrades , 2004, ECOOP.

[10]  Stephen McCamant,et al.  Formalizing Lightweight Verification of Software Component Composition , 2004 .