Dynamic languages, such as JavaScript, PHP, Python or Ruby, provide a memory model for objects data structures allowing programmers to dynamically create, manipulate, and delete objects’ properties. Moreover, in dynamic languages it is possible to access and update properties by using strings: this represents a hard challenge for static analysis. In this paper, we exploit the finite state automata abstract domain, approximating strings, in order to define a novel abstract domain for objects. We design an abstract interpreter useful to analyze objects in a toy language, inspired by real-word dynamic programming languages. We then show, by means of minimal yet expressive examples, the precision of the proposed abstract domain
Dynamic languages, such as JavaScript, employ string-to-code primitives to turn dynamically generate...
Strings play a central role in JavaScript and similar scripting languages. Owing to dynamic features...
Strings play a central role in JavaScript and similar scripting languages. Owing to dynamic features...
Abstract interpretation is a well established theory that supports reasoning about the run-time beha...
In Abstract Interpretation, completeness ensures that the analysis does not lose information with re...
Interpretation is a well established theory that supports reasoning about the run-time behaviour of ...
In recent years, dynamic languages, such as JavaScript or Python, have faced an important increment ...
In the recent years, dynamic languages such as JavaScript, Python or PHP, have found several fields ...
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a w...
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a w...
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a w...
Completeness in abstract interpretation is a well-known property, which ensures that the abstract fr...
In this paper, our aim is to propose a model for code abstraction, based on abstract interpretation,...
In this paper we formalize Tarsis, a new abstract domain based on the abstract interpretation theory...
Abstract. In dynamic languages, objects are open—they support iteration over and dynamic addition/de...
Dynamic languages, such as JavaScript, employ string-to-code primitives to turn dynamically generate...
Strings play a central role in JavaScript and similar scripting languages. Owing to dynamic features...
Strings play a central role in JavaScript and similar scripting languages. Owing to dynamic features...
Abstract interpretation is a well established theory that supports reasoning about the run-time beha...
In Abstract Interpretation, completeness ensures that the analysis does not lose information with re...
Interpretation is a well established theory that supports reasoning about the run-time behaviour of ...
In recent years, dynamic languages, such as JavaScript or Python, have faced an important increment ...
In the recent years, dynamic languages such as JavaScript, Python or PHP, have found several fields ...
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a w...
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a w...
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a w...
Completeness in abstract interpretation is a well-known property, which ensures that the abstract fr...
In this paper, our aim is to propose a model for code abstraction, based on abstract interpretation,...
In this paper we formalize Tarsis, a new abstract domain based on the abstract interpretation theory...
Abstract. In dynamic languages, objects are open—they support iteration over and dynamic addition/de...
Dynamic languages, such as JavaScript, employ string-to-code primitives to turn dynamically generate...
Strings play a central role in JavaScript and similar scripting languages. Owing to dynamic features...
Strings play a central role in JavaScript and similar scripting languages. Owing to dynamic features...