Towards a Type System for Analyzing JavaScript Programs

作者: Peter Thiemann

DOI: 10.1007/978-3-540-31987-0_28

关键词: Scripting languageUnobtrusive JavaScriptComputer scienceOperational semanticsProgram analysisObject (computer science)Object-oriented programmingType theoryType safetyJavaScriptProgramming language

摘要: JavaScript is a popular language for client-side web scripting. It has dubious reputation among programmers two reasons. First, many programs are written against rapidly evolving API whose implementations sometimes contradictory and idiosyncratic. Second, the only weakly typed comes virtually without development tools. The present work first attempt to address second point. does so by defining type system that tracks possible traits of an object flags suspicious conversions. Because classless, object-based with first-class functions, must include singleton types, subtyping, class record labels. The covers representative subset there soundness proof respect operational semantics.

参考文章(19)
Claes Wilkström, J. L. Armstrong, Mike Williams, Robert Virding, ERLANG for Concurrent Programming Prentice-Hall, Inc.. ,(1993)
Carl A Gunter, John C Mitchell, None, Theoretical aspects of object-oriented programming: types, semantics, and language design Theoretical aspects of object-oriented programming: types, semantics, and language design. pp. 548- 548 ,(1994)
Luca Cardelli, Martin Abadi, A Theory of Objects ,(1996)
Joe Armstrong, Mike Williams, Robert Virding, Concurrent Programming in Erlang ,(1993)
Sven-Olof Nyström, A soft-typing system for Erlang annual erlang workshop. pp. 56- 71 ,(2003) , 10.1145/940880.940888
Simon Marlow, Philip Wadler, A practical subtyping system for Erlang international conference on functional programming. ,vol. 32, pp. 136- 149 ,(1997) , 10.1145/258948.258962
Fritz Henglein, Jakob Rehof, Safe polymorphic type inference for a dynamically typed language: translating Scheme to ML international conference on functional programming. pp. 192- 203 ,(1995) , 10.1145/224164.224203
Susumu Nishimura, Static typing for dynamic messages symposium on principles of programming languages. pp. 266- 278 ,(1998) , 10.1145/268946.268968
Kwangkeun Yi, An abstract interpretation for estimating uncaught exceptions in Standard ML programs Science of Computer Programming. ,vol. 31, pp. 147- 173 ,(1998) , 10.1016/S0167-6423(96)00044-5
Andrew K. Wright, Robert Cartwright, A practical soft type system for scheme ACM Transactions on Programming Languages and Systems. ,vol. 19, pp. 87- 152 ,(1997) , 10.1145/239912.239917