scholarly journals What we eval in the shadows: a large-scale study of eval in R programs

2021 ◽  
Vol 5 (OOPSLA) ◽  
pp. 1-23
Author(s):  
Aviral Goel ◽  
Pierre Donat-Bouillud ◽  
Filip Křikava ◽  
Christoph M. Kirsch ◽  
Jan Vitek

Most dynamic languages allow users to turn text into code using various functions, often named <tt>eval</tt>, with language-dependent semantics. The widespread use of these reflective functions hinders static analysis and prevents compilers from performing optimizations. This paper aims to provide a better sense of why programmers use <tt>eval</tt>. Understanding why <tt>eval</tt> is used in practice is key to finding ways to mitigate its negative impact. We have reasons to believe that reflective feature usage is language and application domain-specific; we focus on data science code written in R and compare our results to previous work that analyzed web programming in JavaScript. We analyze 49,296,059 calls to <tt>eval</tt> from 240,327 scripts extracted from 15,401 R packages. We find that <tt>eval</tt> is indeed in widespread use; R’s <tt>eval</tt> is more pervasive and arguably dangerous than what was previously reported for JavaScript.

2019 ◽  
Author(s):  
Paola G. Ferrario

AbstractIn metabolomics, the investigation of an association between many metabolites and one trait (such as age in humans or cultivar in foods) is a central research question. On this topic, we present a complete statistical analysis, combining selected R packages in a new workflow, which we are sharing completely, according to modern standards and research reproducibility requirements. We demonstrate the workflow using a large-scale study with public data, available on repositories. Hence, the workflow can directly be re-used on quite different metabolomics data, when searching for association with one covariate of interest.


Author(s):  
Hafiz Ahmad Awais Chaudhary ◽  
Tiziana Margaria

Low code development environments are gaining attention due to their potential as a development paradigm for very large scale adoption in the future IT. In this paper, we propose a method to extend the (application) Domain Specific Languages supported by two low code development environments based on formal models, namely DIME (native Java) and Pyro (native Python), to include functionalities hosted on heterogeneous technologies and platforms. For this we follow the analogy of micro services. After this integration, both environments can leverage the communication with pre-existing remote RESTful and enterprise systems’ services, in our case Amazon Web Services (AWS) (but this can be easily generalized to other cloud platforms). Developers can this way utilize within DIME and Pyro the potential of sophisticated services, potentially the entire Python and AWS ecosystems, as libraries of drag and drop components in their model driven, low-code style. The new DSLs are made available in DIME and Pyro as collections of implemented SIBs and blocks. Due to the specific capabilities and checks underlying the DIME and Pyro platforms, the individual DSL functionalities are automatically validated for semantic and syntactical errors in both environments.


2019 ◽  
Vol 29 (11n12) ◽  
pp. 1761-1779
Author(s):  
Chi Li ◽  
Zuxing Gu ◽  
Min Zhou ◽  
Jiecheng Wu ◽  
Jiarui Zhang ◽  
...  

Libraries offer reusable functionality through Application Programming Interfaces (APIs) with usage constraints such as call conditions or orders. Constraint violations, i.e. API misuses, commonly lead to bugs and security issues. Although researchers have developed various API misuse detectors in the past few decades, recent studies show that API misuse is prevalent in real-world projects, especially for secure socket layer (SSL) certificate validation, which is completely broken in many security-critical applications and libraries. In this paper, we introduce SSLDoc to effectively detect API misuse bugs, specifically for SSL API libraries. The key insight behind SSLDoc is a constraint-directed static analysis technique powered by a domain-specific language (DSL) for specifying API usage constraints. Through studying real-world API misuse bugs, we propose ISpec DSL, which covers majority types of API usage constraints and enables simple but precise specification. Furthermore, we design and implement SSLDoc to automatically parse ISpec into checking targets and employ a static analysis engine to identify potential API misuses and prune false positives with rich semantics. We have instantiated SSLDoc for OpenSSL APIs and applied it to large-scale open-source programs. SSLDoc found 45 previously unknown security-sensitive bugs in OpenSSL implementation and applications in Ubuntu. Up to now, 35 have been confirmed by the corresponding development communities and 27 have been fixed in master branch.


Author(s):  
Geoffrey Jones

This chapter examines the scaling and diffusion of green entrepreneurship between 1980 and the present. It explores how entrepreneurs and business leaders promoted the idea that business and sustainability were compatible. It then examines the rapid growth of organic foods, natural beauty, ecological architecture, and eco-tourism. Green firms sometimes grew to a large scale, such as the retailer Whole Foods Market in the United States. The chapter explores how greater mainstreaming of these businesses resulted in a new set of challenges arising from scaling. Organic food was now transported across large distances causing a negative impact on carbon emissions. More eco-tourism resulted in more air travel and bigger airports. In other industries scaling had a more positive impact. Towns were major polluters, so more ecological buildings had a positive impact.


2019 ◽  
Vol 79 ◽  
pp. 152-158 ◽  
Author(s):  
Kristoffer Sølvsten Burgdorf ◽  
Betina B. Trabjerg ◽  
Marianne Giørtz Pedersen ◽  
Janna Nissen ◽  
Karina Banasik ◽  
...  

Author(s):  
Marcelo Mendes Pedroza ◽  
Wanderson Gomes da Silva ◽  
Luciene Santos de Carvalho ◽  
Alice Rocha de Souza ◽  
Girlene Figueiredo Maciel

Sign in / Sign up

Export Citation Format

Share Document