24.02.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!