Augmenting Static Source Views in IDEs with Dynamic Metrics.
-
date post
19-Dec-2015 -
Category
Documents
-
view
214 -
download
1
Transcript of Augmenting Static Source Views in IDEs with Dynamic Metrics.
![Page 1: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/1.jpg)
Augmenting
Static Source Views
in IDEs with Dynamic Metrics
![Page 2: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/2.jpg)
Augmenting
Static Source Views
in IDEs with Dynamic Metrics
![Page 3: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/3.jpg)
IJavaElement element = elements[0];if (element.getElementType() == IJavaElement.FIELD) {
IJavaProject javaProject = element.getJavaProject();} else if (element.getElementType() == IJavaElement.LOCAL_VARIABLE) {
IJavaProject javaProject = element.getParent().getJavaProject();}
![Page 4: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/4.jpg)
![Page 5: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/5.jpg)
Static Source Views
no runtime information
execution path?
polymorphism?
runtime metrics?
![Page 6: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/6.jpg)
?
![Page 7: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/7.jpg)
Augmenting
Static Source Views
in IDEs with Dynamic Metrics
![Page 8: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/8.jpg)
Dynamic Metrics
message sending
invocations
created objects
allocated memory
![Page 9: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/9.jpg)
collecting Dynamic Metrics
![Page 10: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/10.jpg)
aspect CCTAspect { before() : execution(* *(..)) { CCTNode[] ss = thisStack; int sp = thisSP; ss[sp] = ss[sp-1]. profileCall( thisJoinPointStaticPart); ss[sp]. storeRcvArgsRuntimeTypes( thisJoinPoint); } after() returning(Object o) : execution(* *(..)) { CCTNode[] ss = thisStack; int sp = thisSP; ss[sp].storeRetRuntimeType(o); ss[sp] = null; }
Simplified excerptof the CCTAspect
after() returning( Object o): call(*.new(..)) { CCTNode[] ss = thisStack; int sp = thisSP; ss[sp].storeObjAlloc(o); } ...}
![Page 11: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/11.jpg)
![Page 12: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/12.jpg)
MAJOR
![Page 13: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/13.jpg)
Senseo
![Page 14: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/14.jpg)
![Page 15: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/15.jpg)
Augmenting
Static Source Views
in IDEs with Dynamic Metrics
![Page 16: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/16.jpg)
IDE
eclipse plugin
hoverhover
ruler columns
tree view
![Page 17: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/17.jpg)
DEMO
![Page 18: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/18.jpg)
Senseo enriches JDT withdynamic runtime information
![Page 19: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/19.jpg)
future workvisual enrichments
usability
July / August case study /paper
September
writing thesisNovember / December
![Page 20: Augmenting Static Source Views in IDEs with Dynamic Metrics.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d385503460f94a11ce5/html5/thumbnails/20.jpg)
questions?