User-Assisted Code Query Optimization
Running static analysis rules in the wild, as part of a commercial service, demands special consideration of time limits and scalability given the large and diverse real-world workloads that the rules are evaluated on. Furthermore, these rules do not run in isolation, which exposes opportunities for reuse of partial evaluation results across rules. In our work on Amazon CodeGuru Reviewer, and its underlying rule-authoring toolkit known as the Guru Query Language (GQL), we have encountered performance and scalability challenges, and identified corresponding optimization opportunities such as, caching, indexing, and customization of analysis scope, which rule authors can take advantage of as built-in GQL constructs. Our experimental evaluation on a dataset of open-source GitHub repositories shows 3X speedup and perfect recall using indexing-based configurations, and 2X speedup and 51% increase on the number of findings for caching-based optimization.
Sat 17 JunDisplayed time zone: Eastern Time (US & Canada) change
14:00 - 15:30 | SOAP: Session 3 - Scalable AnalysisSOAP at Magnolia 18 Chair(s): Pietro Ferrara Università Ca' Foscari, Venezia, Italy | ||
14:00 40mKeynote | Sound and Precise Static Analysis using a generalization of Static Single Assignment and Value Numbering (Virtual)Invited Talk SOAP Tucker Taft AdaCore, United States | ||
14:40 25mTalk | Extensible and Scalable Architecture for Hybrid Analysis SOAP DOI | ||
15:05 25mTalk | User-Assisted Code Query Optimization SOAP Ben Liblit Amazon, Yingjun Lyu Amazon, Rajdeep Mukherjee Amazon, Omer Tripp Amazon, Yanjun Wang Amazon Web Services, USA DOI |