Efficient and precise dynamic slicing for client-side Javascript programs

Jiabin Ye, Cheng Zhang, Lei Ma, Haibo Yu, Jianjun Zhao

研究成果: 書籍/レポート タイプへの寄稿会議への寄与

6 被引用数 (Scopus)

抄録

JavaScript is the de facto dominant programming language for developing web applications. Most popular websites are using JavaScript, especially to develop client-side features. Being syntactically flexible and highly dynamic, JavaScript is easy to use and productive, but its code is known to be less maintainable. The task of maintaining client-side JavaScript code is further complicated by the pervasive interactions between JavaScript code and HTML elements, through browsers. In this paper, we present JS-Slicer, a dynamic slicer for JavaScript, to ease the task of understanding and debugging practical client-side JavaScript code. JS-Slicer defines three types of dependences, including data dependences, control dependences, and DOM dependences, to capture all relationships between program elements. JS-Slicer extends a novel dynamic analysis framework and combines dynamic and static analysis to precisely capture the dependences at run-time. A lot of language specific issues are properly handled, which enables JS-Slicer to slice practical JavaScript code. Our evaluation on six real-world web applications and JavaScript libraries shows that JS-Slicer is both precise and efficient: on average it captures around 40K dependences in 2.5K lines of code, in less than 3.0 seconds.

本文言語英語
ホスト出版物のタイトル2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016
出版社Institute of Electrical and Electronics Engineers Inc.
ページ449-459
ページ数11
ISBN(電子版)9781509018550
DOI
出版ステータス出版済み - 5月 20 2016
外部発表はい
イベント23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016 - Suita, Osaka, 日本
継続期間: 3月 14 20163月 18 2016

出版物シリーズ

名前2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016
1

会議

会議23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016
国/地域日本
CitySuita, Osaka
Period3/14/163/18/16

!!!All Science Journal Classification (ASJC) codes

  • ソフトウェア

フィンガープリント

「Efficient and precise dynamic slicing for client-side Javascript programs」の研究トピックを掘り下げます。これらがまとまってユニークなフィンガープリントを構成します。

引用スタイル