90 likes | 97 Views
This paper discusses the concept of inverting abstract unification for set-sharing, exploring its applications in program verification and debugging. It presents a theoretical framework and proposes a solution for computing maximal pre-conditions and models. The paper also discusses implementation details and future research directions.
E N D
Inverting Abstract Unification for Set-Sharing Xuan Li and Lunjin Lu Oakland University, U.S.A
Backward Analysis • Forward analysis is about: If I have an input, what is output? • Backward analysis is about: If I have output, what is corresponding input? • Many applications such as program verification and debugger, etc.
The motivations • Dream: Wish some variables are definitely independent after execution of program. • What is the constraint on input that make dream make true. • This information can be used in automatic parallelization of logic program and other analysis.
How complexity it is • The function is not ONE to ONE. • So you have many inputs. • The closure operator is exponential. • The data space is exponential. If there are n variables, there are 2^(2^n-1) groups.
Our Solution • Computing set of maximal pre-conditions. • Computing the least superset of all maximal pre-condition. • Model problem as computing maximal models of a Boolean formula.
How good is it • This is a piece of theoretic work. • It is very elegant because of we formalize it as a maximal models of Boolean formula. • It is not efficient yet.
Implementation • Using C++. • Support both Linux and windows. • A good basis for future research.
Future work • Full backward set-sharing analysis. • Encoding using POS formula.
Conclusion • A piece of elegant theoretic work. • Still need to improve. • Consider the program in Pos domain will. improve efficiency. • It would be better to use GFP and LFP computation. • Published in PPDP 2005. Http://www/acm.org/portal/