[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2584469.2584472acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
abstract

JavaScript API misuse detection by using typescript

Published: 22 April 2014 Publication History

Abstract

Static analysis of JavaScript programs to detect errors in them is a challenging task. Especially when the program imports massive JavaScript libraries such as jQuery and MooTools, analyzing the whole program and the libraries is expensive and extremely declines the analysis efficiency. In this paper, we introduce a novel approach to solve the problem by modularizing the analysis. We separate the analysis of JavaScript libraries by using types extracted from their corresponding specifications in TypeScript and the analysis of JavaScript applications by a static analysis framework. We use DefinitelyTyped, an open-source repository that provides TypeScript declaration files of over 300 popular JavaScript libraries, and we extend SAFE, an open-source analysis framework for JavaScript.

References

[1]
ECMAScript Language Specification. Edition 5.1. http://www.ecma-international.org/publications/standards/Ecma-262.htm.
[2]
Christopher Anderson, Paola Giannini, and Sophia Drossopoulou. Towards type inference for JavaScript. In ECOOP 2005.
[3]
Ravi Chugh, Jeffrey A. Meister, Ranjit Jhala, and Sorin Lerner. Staged information flow for JavaScript. In PLDI 2009.
[4]
Douglas Crockford. JSLint. http://www.jslint.com.
[5]
Salvatore Guarnieri, Marco Pistoia, Omer Tripp, Julian Dolbyand Stephen Teilhet, and Ryan Berg. Saving the world wide web from vulnerable JavaScript. In ISSTA 2011.
[6]
Arjun Guha, Shriram Krishnamurthi, and Trevor Jim. Using static analysis for Ajax intrusion detection. In WWW 2009.
[7]
Phillip Heidegger and Peter Thiemann. Recency types for analyzing scripting languages. In ECOOP 2010.
[8]
Simon Holm Jensen, Anders Møller, and Peter Thiemann. Type analysis for JavaScript. In SAS 2009.
[9]
PLRG @ KAIST. SAFE: Scalable Analysis Framework for ECMAScript. http://safe.kaist.ac.kr.
[10]
Hongki Lee, Sooncheol Won, Joonho Jin, Junhee Cho, and Sukyoung Ryu. SAFE: Formal specification and implementation of a scalable analysis framework for ECMAScript. In FOOL 2012.
[11]
Sergio Maffeis, John C. Mitchell, and Ankur Taly. Isolating JavaScript with filters, rewriting, and wrappers. In ESORICS 2009.
[12]
Microsoft. TypeScript. http://www.typescriptlang.org.

Cited By

View all
  • (2024)Learning Type Inference for Enhanced Dataflow AnalysisComputer Security – ESORICS 202310.1007/978-3-031-51482-1_10(184-203)Online publication date: 11-Jan-2024
  • (2022)Automatically deriving JavaScript static analyzers from specifications using Meta-level static analysisProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3549097(1022-1034)Online publication date: 7-Nov-2022
  • (2021)Learning type annotation: is big data enough?Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3473135(1483-1486)Online publication date: 20-Aug-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
MODULARITY '14: Proceedings of the companion publication of the 13th international conference on Modularity
April 2014
44 pages
ISBN:9781450327732
DOI:10.1145/2584469
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Sponsors

  • AOSA: Aspect-Oriented Software Association

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 April 2014

Check for updates

Author Tags

  1. api misuse detection
  2. javascript
  3. typescript

Qualifiers

  • Abstract

Funding Sources

Conference

MODULARITY '14
Sponsor:
  • AOSA

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)14
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Learning Type Inference for Enhanced Dataflow AnalysisComputer Security – ESORICS 202310.1007/978-3-031-51482-1_10(184-203)Online publication date: 11-Jan-2024
  • (2022)Automatically deriving JavaScript static analyzers from specifications using Meta-level static analysisProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3549097(1022-1034)Online publication date: 7-Nov-2022
  • (2021)Learning type annotation: is big data enough?Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3473135(1483-1486)Online publication date: 20-Aug-2021
  • (2021)Accelerating JavaScript static analysis via dynamic shortcutsProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468556(1129-1140)Online publication date: 20-Aug-2021
  • (2021)A Survey of Parametric Static AnalysisACM Computing Surveys10.1145/346445754:7(1-37)Online publication date: 18-Jul-2021
  • (2021)Investigating and recommending co-changed entities for JavaScript programsJournal of Systems and Software10.1016/j.jss.2021.111027180:COnline publication date: 1-Oct-2021
  • (2019)Automatic Modeling of Opaque Code for JavaScript Static AnalysisFundamental Approaches to Software Engineering10.1007/978-3-030-16722-6_3(43-60)Online publication date: 4-Apr-2019
  • (2017)Analysis of JavaScript ProgramsACM Computing Surveys10.1145/310674150:4(1-34)Online publication date: 25-Aug-2017
  • (2016)The Seamless Peer and Cloud Evolution FrameworkProceedings of the Genetic and Evolutionary Computation Conference 201610.1145/2908812.2908886(821-828)Online publication date: 20-Jul-2016

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media