1 / 12

Fix Generation

Fix Generation. Yingfei Xiong, 2010. BX. get. Source. View. put. Maintain consistency between source and view automatically. What if we need users to decide?. get. Source. View. ?. put1. put2. An Example. Fixes. Framework for Fix Generation. D, the set of data

huslu
Download Presentation

Fix Generation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fix Generation Yingfei Xiong, 2010

  2. BX get Source View put Maintain consistency between source and view automatically.

  3. What if we need users to decide? get Source View ? put1 put2

  4. An Example

  5. Fixes

  6. Framework for Fix Generation • D, the set of data • E, the set of errors • , the check function • , the fix generating function

  7. Law for Fix Generation • Let • We have

  8. Fixes are widely used • Eclipse: Fixes for compilation errors • [Egyed:ASE08] Fixes for UML models • [Dallmeier:ASE09] Fixes for object behavior anomalies • [Chen:LISA10] Fixes for firewall policy faults • ...

  9. Fixes are widely used • Eclipse: Fixes for compilation errors • [Egyed:ASE08] Fixes for UML models • [Dallmeier:ASE09] Fixes for object behavior anomalies • [Chen:LISA10] Fixes for firewall policy faults • ... But little general support is provided

  10. Open Issues • How to describe check and generate? • using general programming languages • using domain-specific languages • How to ensure the law? • check the law • construct only well-defined check and generate (like Boomerang / Beanbag / TGGs) • Is it possible to construct generate automatically? • from consistency rules (like bidirectionalization) • from user operations

  11. Bidirectional Transformation is Fix Generation with One Error • D=S×V • E={e} • check (s, v) | get(s)==v = {} | otherwise = {e} • generate e (s,v) = {fget, fput} • where • fget = (s, get(s)) • fput = (put(s,v), v)

  12. Conclusion Fix Generation BX

More Related