Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
Javascript must be enabled to continue!

Certified semantics and analysis of JavaScript

View through CrossRef
Sémantique et analyse certifiée de JavaScript JavaScript est un langage de programmation maintenant très utilisé - y compris dans des domaines où la sécurité est importante. Il est donc important de permettre de vérifier la qualité des logiciels écrit en JavaScript. Cette thèse explore l'approche de la preuve formelle, visant à donner une preuve mathématique qu'un programme donné se comporte comme prévu. Pour construire cette preuve, nous utilisons un assistant de preuve tel que Coq - un programme de confiance permettant de vérifier nos preuves formelles. Pour pouvoir énoncer qu'un programme JavaScript se comporte correctement, nous avons tout d'abord besoin d'une sémantique du langage JavaScript. Cette thèse s'est donc inscrite dans le projet JSCert visant à produire une sémantique formelle pour le langage JavaScript. Devant la taille de la sémantique de JavaScript, il est important de savoir comment on peut lui faire confiance : une faute de frappe peut compromettre toute la sémantique. Pour pouvoir faire confiance à JSCert, nous nous sommes appuyés sur deux sources de confiance. D'une part, JSCert a été conçue pour être très similaire à la spécification officielle de JavaScript, le standard ECMAScript : ils utilisent les mêmes structures de donnée, et il est possible d'associer chaque règle de réduction dans JSCert à une ligne d'ECMAScript. D'autre part, nous avons défini et prouvé relativement à JSCert un interpréteur nommé JSRef. Nous avons aussi pu lancer JSRef sur les suites de test de JavaScript. La sémantique de JSCert n'est pas la première sémantique formelle pour le JavaScript, mais c'est la première à proposer deux manières distinctes pour relier la sémantique formelle au langage JavaScript : en ayant une sémantique très similaire à la spécification officielle, et en ayant testé cette sémantique pour la comparer aux autres interpréteurs. Plutôt que de prouver indépendamment que chaque programme JavaScript s'exécute comme prévu, nous analysons ses programmes par interprétation abstraite. Cela consiste à interpréter la sémantique d'un langage avec des domaines abstraits. Par exemple la valeur concrète 1 pourra être remplacée par la valeur abstraite +. L'interprétation abstraite se compose en deux étapes : d'abord une sémantique abstraite est construite et prouvée correcte vis à vis de sa sémantique concrète, puis des analyseurs sont construits selon cette sémantique abstraite. Nous ne nous intéresserons qu'à la première étape dans cette thèse. La sémantique de JSCert est immense - plus de huit cent règles de réduction. La construction d'une sémantique abstraite traditionnelle ne passent pas à l'échelle face à de telles tailles. Nous avons donc conçu une nouvelle manière de construire des sémantiques abstraites à partir de sémantiques concrètes. Notre méthode se base sur une analyse précise de la structure des règles de réduction et vise à minimiser l'effort de preuve. Nous avons appliqué cette méthode sur plusieurs langages. Dans le but d'appliquer notre approche sur JavaScript, nous avons construit un domaine basé sur la logique de séparation. Cette logique requiert de nombreuses adaptations pour pouvoir s'appliquer dans le cadre de l'interprétation abstraite. Cette thèse en étudie les interactions et propose une nouvelle approche pour les solutionner dans le cadre construit précédemment. Nos domaines, bien qu'assez simple par rapport au modèle mémoire de JavaScript, semblent permettre la preuve d'analyseurs déjà existant. Les contributions de cette thèse sont donc triples : une sémantique formelle de confiance pour le langage JavaScript, un formalisme générique pour construire des sémantiques abstraites, et un domaine non trivial pour ce formalisme.
Agence Bibliographique de l'Enseignement Supérieur
Title: Certified semantics and analysis of JavaScript
Description:
Sémantique et analyse certifiée de JavaScript JavaScript est un langage de programmation maintenant très utilisé - y compris dans des domaines où la sécurité est importante.
Il est donc important de permettre de vérifier la qualité des logiciels écrit en JavaScript.
Cette thèse explore l'approche de la preuve formelle, visant à donner une preuve mathématique qu'un programme donné se comporte comme prévu.
Pour construire cette preuve, nous utilisons un assistant de preuve tel que Coq - un programme de confiance permettant de vérifier nos preuves formelles.
Pour pouvoir énoncer qu'un programme JavaScript se comporte correctement, nous avons tout d'abord besoin d'une sémantique du langage JavaScript.
Cette thèse s'est donc inscrite dans le projet JSCert visant à produire une sémantique formelle pour le langage JavaScript.
Devant la taille de la sémantique de JavaScript, il est important de savoir comment on peut lui faire confiance : une faute de frappe peut compromettre toute la sémantique.
Pour pouvoir faire confiance à JSCert, nous nous sommes appuyés sur deux sources de confiance.
D'une part, JSCert a été conçue pour être très similaire à la spécification officielle de JavaScript, le standard ECMAScript : ils utilisent les mêmes structures de donnée, et il est possible d'associer chaque règle de réduction dans JSCert à une ligne d'ECMAScript.
D'autre part, nous avons défini et prouvé relativement à JSCert un interpréteur nommé JSRef.
Nous avons aussi pu lancer JSRef sur les suites de test de JavaScript.
La sémantique de JSCert n'est pas la première sémantique formelle pour le JavaScript, mais c'est la première à proposer deux manières distinctes pour relier la sémantique formelle au langage JavaScript : en ayant une sémantique très similaire à la spécification officielle, et en ayant testé cette sémantique pour la comparer aux autres interpréteurs.
Plutôt que de prouver indépendamment que chaque programme JavaScript s'exécute comme prévu, nous analysons ses programmes par interprétation abstraite.
Cela consiste à interpréter la sémantique d'un langage avec des domaines abstraits.
Par exemple la valeur concrète 1 pourra être remplacée par la valeur abstraite +.
L'interprétation abstraite se compose en deux étapes : d'abord une sémantique abstraite est construite et prouvée correcte vis à vis de sa sémantique concrète, puis des analyseurs sont construits selon cette sémantique abstraite.
Nous ne nous intéresserons qu'à la première étape dans cette thèse.
La sémantique de JSCert est immense - plus de huit cent règles de réduction.
La construction d'une sémantique abstraite traditionnelle ne passent pas à l'échelle face à de telles tailles.
Nous avons donc conçu une nouvelle manière de construire des sémantiques abstraites à partir de sémantiques concrètes.
Notre méthode se base sur une analyse précise de la structure des règles de réduction et vise à minimiser l'effort de preuve.
Nous avons appliqué cette méthode sur plusieurs langages.
Dans le but d'appliquer notre approche sur JavaScript, nous avons construit un domaine basé sur la logique de séparation.
Cette logique requiert de nombreuses adaptations pour pouvoir s'appliquer dans le cadre de l'interprétation abstraite.
Cette thèse en étudie les interactions et propose une nouvelle approche pour les solutionner dans le cadre construit précédemment.
Nos domaines, bien qu'assez simple par rapport au modèle mémoire de JavaScript, semblent permettre la preuve d'analyseurs déjà existant.
Les contributions de cette thèse sont donc triples : une sémantique formelle de confiance pour le langage JavaScript, un formalisme générique pour construire des sémantiques abstraites, et un domaine non trivial pour ce formalisme.

Related Results

Optimizing assembly processes with augmented reality: a case study on TurtleBots
Optimizing assembly processes with augmented reality: a case study on TurtleBots
Augmented reality (AR) technology is revolutionizing traditional assembly processes, offering intuitive and interactive guidance that significantly enhances operational efficiency ...
2020 Statistical Profile of Certified PAs
2020 Statistical Profile of Certified PAs
Certified PAs Persevere Despite Pandemic Uncertainty Johns Creek, Ga., July 22, 2021 – Despite the uncertainty of the global pandemic, in 2020 Certified PAs largely maintained the...
DRIVERS AND CONSTRAINTS OF CONVERSION TO ORGANIC FARMING IN THE KINGDOM OF BHUTAN
DRIVERS AND CONSTRAINTS OF CONVERSION TO ORGANIC FARMING IN THE KINGDOM OF BHUTAN
Organic farming is one of the several approaches towards environmental conservation and aims to increase agricultural production and household income for small-scale farmers to ena...
Estimation of Smallholder Farmers’ Demand for Certified Seed: Evidence From Wheat and Tef Seed Systems in Ethiopia
Estimation of Smallholder Farmers’ Demand for Certified Seed: Evidence From Wheat and Tef Seed Systems in Ethiopia
Abstract The previous studies conducted in Ethiopia have mainly concentrated on the adoption of tef and wheat crops, along with complementary inputs. However, there has bee...
Certified domination critical graphs upon vertex removal
Certified domination critical graphs upon vertex removal
<p>A set <span class="math inline">\(D\)</span> of vertices of a graph <span class="math inline">\(G=(V_G,E_G)\)</span> is a <span><em>dom...
The influence of helmet certification in motorcycle helmets protective performance
The influence of helmet certification in motorcycle helmets protective performance
The convenience of online shopping has increased access to a vast array of helmet options and deals for motorcyclists. However, the e-commerce enables an influx of unverified and p...
Tiny datablock in saving Hadoop distributed file system wasted memory
Tiny datablock in saving Hadoop distributed file system wasted memory
<p>Hadoop distributed file system (HDFS) is the file system whereby Hadoop is use it to store all the upcoming data inside it. Since it been declared, HDFS is consuming a hug...
Performance Analysis of Certified Teachers at Budi Satrya High School
Performance Analysis of Certified Teachers at Budi Satrya High School
Abstract: This research aims to analyze the performance of certified teachers at Budi Satrya High School with a focus on evaluating teaching quality, interaction with students, and...

Back to Top