一句话:提出 PowerStation,一个 RubyMine 插件,通过静态分析自动检测 Rails ORM 性能低效并建议修复。
现代 Web 应用常通过 ORM 框架以面向对象方式访问数据库,但开发者仍难以写出高性能的 ORM 代码。本文提出 PowerStation,一个集成在 RubyMine IDE 中的插件,针对 Ruby on Rails 应用,采用自动化静态分析检测 ORM 相关的性能低效模式,并向开发者建议修复方案。在 12 个真实应用上的评估表明,PowerStation 能自动检测出 1221 个性能问题,展示了其在真实开发环境中辅助优化数据库后端 Web 应用的可行性。
Modern web applications are built using a myriad of software components, and each of them exposes different programming models (e.g., application logic expressed in an imperative language, database queries expressed using declarative SQL). To improve programmer productivity, Object Relational Mapping (ORM) frameworks have been developed to allow developers build web applications in an object-oriented manner. Despite such frameworks, prior work has found that developers still struggle in developing performant ORM-based web applications. This paper presents PowerStation, a RubyMine IDE plugin for optimizing web applications developed using the Ruby on Rails ORM. Using automated static analysis, PowerStation detects ORM-related inefficiency problems and suggests fixes to developers. Our evaluation using 12 real-world applications shows that PowerStation can automatically detects 1221 performance issues across them. A tutorial on using PowerStation can be found at https://youtu.be/rAV8CGuSj6k.
DOI 原文 ·
@inproceedings{paperbot4623,
title = {PowerStation: automatically detecting and fixing inefficiencies of database-backed web applications in IDE},
author = {Junwen Yang and Cong Yan and Pranav Subramaniam and Shan Lu and Alvin Cheung},
booktitle = {FSE},
year = {2018},
doi = {10.1145/3236024.3264589}
}