Skip to main content

2017 | OriginalPaper | Buchkapitel

Weakly Sensitive Analysis for Unbounded Iteration over JavaScript Objects

verfasst von : Yoonseok Ko, Xavier Rival, Sukyoung Ryu

Erschienen in: Programming Languages and Systems

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

JavaScript framework libraries like jQuery are widely used, but complicate program analyses. Indeed, they encode clean high-level constructions such as class inheritance via dynamic object copies and transformations that are harder to reason about. One common pattern used in them consists of loops that copy or transform part or all of the fields of an object. Such loops are challenging to analyze precisely, due to weak updates and as unrolling techniques do not always apply. In this paper, we observe that precise field correspondence relations are required for client analyses (e.g., for call-graph construction), and propose abstractions of objects and program executions that allow to reason separately about the effect of distinct iterations without resorting to full unrolling. We formalize and implement an analysis based on this technique. We assess the performance and precision on the computation of call-graph information on examples from jQuery tutorials.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literatur
1.
Zurück zum Zitat Andreasen, E., Møller, A.: Determinacy in static analysis for jQuery. In: OOPLSA (2014) Andreasen, E., Møller, A.: Determinacy in static analysis for jQuery. In: OOPLSA (2014)
2.
Zurück zum Zitat Bae, S., Cho, H., Lim, I., Ryu, S.: \({\sf SAFE}_{\sf WAPI}\): web API misuse detector for web applications. In: ESEC/FSE (2014) Bae, S., Cho, H., Lim, I., Ryu, S.: \({\sf SAFE}_{\sf WAPI}\): web API misuse detector for web applications. In: ESEC/FSE (2014)
4.
Zurück zum Zitat Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL (1977) Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL (1977)
5.
Zurück zum Zitat Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: POPL (1979) Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: POPL (1979)
8.
Zurück zum Zitat Eshkevari, L., Mazinanian, D., Rostami, S., Tsantalis, N.: JSDeodorant: class-awareness for JavaScript programs. In: ICSE (2017) Eshkevari, L., Mazinanian, D., Rostami, S., Tsantalis, N.: JSDeodorant: class-awareness for JavaScript programs. In: ICSE (2017)
9.
Zurück zum Zitat European Association for Standardizing Information and Communication Systems (ECMA): ECMA-262: ECMAScript Language Specification. Edition 5.1 (2011) European Association for Standardizing Information and Communication Systems (ECMA): ECMA-262: ECMAScript Language Specification. Edition 5.1 (2011)
10.
Zurück zum Zitat Feldthaus, A., Schäfer, M., Sridharan, M., Dolby, J., Tip, F.: Efficient construction of approximate call graphs for JavaScript IDE services. In: ICSE (2013) Feldthaus, A., Schäfer, M., Sridharan, M., Dolby, J., Tip, F.: Efficient construction of approximate call graphs for JavaScript IDE services. In: ICSE (2013)
11.
Zurück zum Zitat Hackett, B., Guo, S.: Fast and precise hybrid type inference for JavaScript. In: PLDI, New York, NY, USA (2012) Hackett, B., Guo, S.: Fast and precise hybrid type inference for JavaScript. In: PLDI, New York, NY, USA (2012)
13.
Zurück zum Zitat Jensen, S.H., Madsen, M., Møller, A.: Modeling the HTML DOM and browser API in static analysis of JavaScript web applications. In: ESEC/FSE (2011) Jensen, S.H., Madsen, M., Møller, A.: Modeling the HTML DOM and browser API in static analysis of JavaScript web applications. In: ESEC/FSE (2011)
15.
Zurück zum Zitat Lee, H., Won, S., Jin, J., Cho, J., Ryu, S.: SAFE: formal specification and implementation of a scalable analysis framework for ECMAScript. In: FOOL (2012) Lee, H., Won, S., Jin, J., Cho, J., Ryu, S.: SAFE: formal specification and implementation of a scalable analysis framework for ECMAScript. In: FOOL (2012)
16.
Zurück zum Zitat Park, C., Ryu, S.: Scalable and precise static analysis of JavaScript applications via loop-sensitivity. In: ECOOP (2015) Park, C., Ryu, S.: Scalable and precise static analysis of JavaScript applications via loop-sensitivity. In: ECOOP (2015)
17.
Zurück zum Zitat Park, C., Won, S., Jin, J., Ryu, S.: Static analysis of JavaScript web applications in the wild via practical DOM modeling. In: ASE (2015) Park, C., Won, S., Jin, J., Ryu, S.: Static analysis of JavaScript web applications in the wild via practical DOM modeling. In: ASE (2015)
18.
Zurück zum Zitat Schäfer, M., Sridharan, M., Dolby, J., Tip, F.: Dynamic determinacy analysis. In: PLDI (2013) Schäfer, M., Sridharan, M., Dolby, J., Tip, F.: Dynamic determinacy analysis. In: PLDI (2013)
20.
Zurück zum Zitat Wei, S., Ryder, B.G.: Practical blended taint analysis for JavaScript. In: ISSTA (2013) Wei, S., Ryder, B.G.: Practical blended taint analysis for JavaScript. In: ISSTA (2013)
Metadaten
Titel
Weakly Sensitive Analysis for Unbounded Iteration over JavaScript Objects
verfasst von
Yoonseok Ko
Xavier Rival
Sukyoung Ryu
Copyright-Jahr
2017
DOI
https://doi.org/10.1007/978-3-319-71237-6_8

Premium Partner