Academy & Industry Research Collaboration Center
Invariants are generally implicit. Explicitly stating program invariants, help programmers to identify program properties that must be preserved while modifying the code. Existing dynamic techniques detect invariants which includes both relevant and irrelevant/unused variables and thereby relevant and irrelevant invariants involved in the program. Due to the presence of irrelevant variables and irrelevant invariants, speed and efficiency of techniques are affected. Also, displaying properties about irrelevant variables and irrelevant invariants distracts the user from concentrating on properties of relevant variables.