2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM) 2013
DOI: 10.1109/scam.2013.6648193
|View full text |Cite
|
Sign up to set email alerts
|

Determining dynamic coupling in JavaScript using object type inference

Abstract: Abstract-Coupling in an object-oriented context is often defined in terms of access to instance variables and methods of other classes. JavaScript, however, lacks static type information and classes, and instead features a flexible object system with prototypal inheritance. In order to determine coupling in JavaScript, we infer object types based on abstract interpretation of a program. Type inference depends on both structure and behavior of objects, and common patterns for expressing classes and modules are … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
2
0
2

Year Published

2014
2014
2023
2023

Publication Types

Select...
3
2
1

Relationship

2
4

Authors

Journals

citations
Cited by 6 publications
(4 citation statements)
references
References 12 publications
0
2
0
2
Order By: Relevance
“…Modf itself also uses AAM-style semantics for its small-step analysis of functions, which makes the comparison with the AAM analyzer justified and straightforward, the latter also on a technical level by maximizing code reuse. Applications of AAM are found in various domains, such as detecting function purity [18], performing symbolic execution for contracts [15], analyzing concurrent programs [14,23,24], determining function coupling [16], discovering security vulnerabilities [17] or performing malware analysis [11]. The approach used by Modf could improve the performance of such applications and other client analyses without impacting their precision.…”
Section: Related Workmentioning
confidence: 99%
“…Modf itself also uses AAM-style semantics for its small-step analysis of functions, which makes the comparison with the AAM analyzer justified and straightforward, the latter also on a technical level by maximizing code reuse. Applications of AAM are found in various domains, such as detecting function purity [18], performing symbolic execution for contracts [15], analyzing concurrent programs [14,23,24], determining function coupling [16], discovering security vulnerabilities [17] or performing malware analysis [11]. The approach used by Modf could improve the performance of such applications and other client analyses without impacting their precision.…”
Section: Related Workmentioning
confidence: 99%
“…We compute these dependencies from a compile-time description of the possible states the program can transition to. This description is provided by the JIPDA 5 abstract interpreter framework for JavaScript [8]. We therefore owe our support for a fairly representative subset of JavaScript to JIPDA -including several features that are difficult to analyze statically such as higher-order functions with sideeffects and prototype chains.…”
Section: Abstract Interpretation Of Javascript To Uncover Control Andmentioning
confidence: 99%
“…Por outro lado, o segundo grupo de abordagens provê suporte a avaliação da estrutura do código por meio de métricas que contabilizam propriedades estruturais do código [Nicolay et al, 2013] [Terceiro et al, 2010] em uma linguagem específica. Por exemplo, o trabalho de [Terceiro et al, 2010] permite contabilizar métricas para diversas linguagens tais como, Java e C. No entanto, esse grupo de abordagens não oferece um suporteà avaliação de dependências entre componentes escritos em diferentes linguagens.…”
Section: Limitações Dos Trabalhos Relacionadosunclassified
“…Esses trabalhos fazem a contabilização e a avaliação de métricas para diversas linguagens de programação. Essa contabilizaçãoé feita gerando um valor da métrica para elementos do programa em cada linguagem [Terceiro et al, 2010] [Nicolay et al, 2013]. No entanto, essa abordagem não oferece um bom suporteà avaliação de dependências entre componentes desenvolvidos em linguagens distintas.…”
Section: Inspeção Manual E Técnicas Automatizadasunclassified