Approach to detecting types inconsistency errors in a program code in dynamic languages
The paper deals with detection of defects in a program code written in dynamic languages. At first, overview of static analyzers for programs in Python, Ruby and JavaScript is done. After this, the paper shows that most of existing tools are not able to detect entire class of defects: types inconsis...
Main Author: | |
---|---|
Format: | Article |
Language: | English |
Published: |
Ivannikov Institute for System Programming of the Russian Academy of Sciences
2018-10-01
|
Series: | Труды Института системного программирования РАН |
Subjects: | |
Online Access: | https://ispranproceedings.elpub.ru/jour/article/view/874 |
_version_ | 1819031963773698048 |
---|---|
author | I. E. Bronshteyn |
author_facet | I. E. Bronshteyn |
author_sort | I. E. Bronshteyn |
collection | DOAJ |
description | The paper deals with detection of defects in a program code written in dynamic languages. At first, overview of static analyzers for programs in Python, Ruby and JavaScript is done. After this, the paper shows that most of existing tools are not able to detect entire class of defects: types inconsistency errors. Such errors are defined, the paper proves that the errors are prevailing and rather critical in the opinion of software developers. It presents an approach to type inference for dynamic languages and to implementation of checkers based on output from type inference. Concept of defect trace is introduced and construction of such trace is described then. |
first_indexed | 2024-12-21T06:54:24Z |
format | Article |
id | doaj.art-28c5345b73f34e668780b2da3faf4e66 |
institution | Directory Open Access Journal |
issn | 2079-8156 2220-6426 |
language | English |
last_indexed | 2024-12-21T06:54:24Z |
publishDate | 2018-10-01 |
publisher | Ivannikov Institute for System Programming of the Russian Academy of Sciences |
record_format | Article |
series | Труды Института системного программирования РАН |
spelling | doaj.art-28c5345b73f34e668780b2da3faf4e662022-12-21T19:12:22ZengIvannikov Institute for System Programming of the Russian Academy of SciencesТруды Института системного программирования РАН2079-81562220-64262018-10-012506784874Approach to detecting types inconsistency errors in a program code in dynamic languagesI. E. Bronshteyn0ИСП РАНThe paper deals with detection of defects in a program code written in dynamic languages. At first, overview of static analyzers for programs in Python, Ruby and JavaScript is done. After this, the paper shows that most of existing tools are not able to detect entire class of defects: types inconsistency errors. Such errors are defined, the paper proves that the errors are prevailing and rather critical in the opinion of software developers. It presents an approach to type inference for dynamic languages and to implementation of checkers based on output from type inference. Concept of defect trace is introduced and construction of such trace is described then.https://ispranproceedings.elpub.ru/jour/article/view/874статический анализобнаружение дефектовдинамическая типизация данныхpythonrubyjavascriptнесоответствие типовтрассы дефектовстатический анализ |
spellingShingle | I. E. Bronshteyn Approach to detecting types inconsistency errors in a program code in dynamic languages Труды Института системного программирования РАН статический анализ обнаружение дефектов динамическая типизация данных python ruby javascript несоответствие типов трассы дефектовстатический анализ |
title | Approach to detecting types inconsistency errors in a program code in dynamic languages |
title_full | Approach to detecting types inconsistency errors in a program code in dynamic languages |
title_fullStr | Approach to detecting types inconsistency errors in a program code in dynamic languages |
title_full_unstemmed | Approach to detecting types inconsistency errors in a program code in dynamic languages |
title_short | Approach to detecting types inconsistency errors in a program code in dynamic languages |
title_sort | approach to detecting types inconsistency errors in a program code in dynamic languages |
topic | статический анализ обнаружение дефектов динамическая типизация данных python ruby javascript несоответствие типов трассы дефектовстатический анализ |
url | https://ispranproceedings.elpub.ru/jour/article/view/874 |
work_keys_str_mv | AT iebronshteyn approachtodetectingtypesinconsistencyerrorsinaprogramcodeindynamiclanguages |