How to Analyze Graph-Based Models - Www-st.inf.tu-dresden.de ...
How to Analyze Graph-Based Models - Www-st.inf.tu-dresden.de ...
How to Analyze Graph-Based Models - Www-st.inf.tu-dresden.de ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Refac<<strong>st</strong>rong>to</<strong>st</strong>rong>ring on Def-Use <<strong>st</strong>rong>Graph</<strong>st</strong>rong>s<br />
► For renaming of a <strong>de</strong>finition, all uses have <<strong>st</strong>rong>to</<strong>st</strong>rong> be changed, <<strong>st</strong>rong>to</<strong>st</strong>rong>o<br />
■ We need <<strong>st</strong>rong>to</<strong>st</strong>rong> trace all uses of a <strong>de</strong>finition in the Def-Use-graph<br />
■ Refac<<strong>st</strong>rong>to</<strong>st</strong>rong>ring works always on Def-Use-graphs<br />
► Refac<<strong>st</strong>rong>to</<strong>st</strong>rong>ring works always in the same way:<br />
■ Change a <strong>de</strong>finition<br />
■ Find all <strong>de</strong>pen<strong>de</strong>nt references<br />
■ Change them<br />
■ Recurse handling other <strong>de</strong>pen<strong>de</strong>nt <strong>de</strong>finitions<br />
► Refac<<strong>st</strong>rong>to</<strong>st</strong>rong>ring can be supported by <<strong>st</strong>rong>to</<strong>st</strong>rong>ols<br />
■ The Def-Use-graph forms the basis of refac<<strong>st</strong>rong>to</<strong>st</strong>rong>ring <<strong>st</strong>rong>to</<strong>st</strong>rong>ols<br />
► <<strong>st</strong>rong>How</<strong>st</strong>rong>ever, building the Def-Use-<<strong>st</strong>rong>Graph</<strong>st</strong>rong> for a complete program co<strong>st</strong>s a<br />
lot of space and is a difficult program analysis task<br />
■ Every method that <strong>st</strong>ruc<strong>tu</strong>res the Def-Use-<<strong>st</strong>rong>Graph</<strong>st</strong>rong> benefits immediately the<br />
refac<<strong>st</strong>rong>to</<strong>st</strong>rong>ring<br />
■ either simplifying or accelerating it<br />
Prof. Uwe Aßmann, Softwaretechnologie II<br />
15