English
Related papers

Related papers: Just-in-Time Static Type Checking for Dynamic Lang…

200 papers

Elixir is a dynamically-typed functional language running on the Erlang Virtual Machine, designed for building scalable and maintainable applications. Its characteristics have earned it a surging adoption by hundreds of industrial actors…

Programming Languages · Computer Science 2024-01-01 Giuseppe Castagna , Guillaume Duboc , José Valim

Security of Android devices is now paramount, given their wide adoption among consumers. As researchers develop tools for statically or dynamically detecting suspicious apps, malware writers regularly update their attack mechanisms to hide…

Cryptography and Security · Computer Science 2022-10-21 Xiaoyu Sun , Xiao Chen , Li Li , Haipeng Cai , John Grundy , Jordan Samhi , Tegawendé F. Bissyandé , Jacques Klein

Dynamic language features are widely available in programming languages to implement functionality that can adapt to multiple usage contexts, enabling reuse. Functionality such as data binding , object-relational mapping and user interface…

Software Engineering · Computer Science 2022-04-05 Li Sui , Shawn Rasheed , Amjed Tahir , Jens Dietrich

Script-language runtimes such as Python, Lua, and JavaScript are widely deployed in security sensitive contexts, yet they remain difficult to test because valid inputs must satisfy syntax, dynamic type constraints, and object-level…

Cryptography and Security · Computer Science 2026-05-14 Yiran Qiu

Typed Clojure is an optional type system for Clojure, a dynamic language in the Lisp family that targets the JVM. Typed Clojure enables Clojure programmers to gain greater confidence in the correctness of their code via static type checking…

Programming Languages · Computer Science 2018-12-11 Ambrose Bonnaire-Sergeant , Rowan Davies , Sam Tobin-Hochstadt

Refinement types enrich a language's type system with logical predicates that circumscribe the set of values described by the type, thereby providing software developers a tunable knob with which to inform the type system about what…

Programming Languages · Computer Science 2020-10-16 Ranjit Jhala , Niki Vazou

The R programming language is widely used in large-scale data analyses. It contains especially rich built-in support for dealing with vectors, arrays, and matrices. These operations feature prominently in the applications that form R's…

Programming Languages · Computer Science 2023-04-11 John Wrenn , Anjali Pal , Alexa VanHattum , Shriram Krishnamurthi

Test Amplification is a method to extend handwritten tests into a more rigorous test suite covering corner cases in the system under test. Unfortunately, the current state-of-the-art for test amplification heavily relies on program analysis…

Software Engineering · Computer Science 2021-12-22 Ebert Schoofs , Mehrdad Abdi , Serge Demeyer

Software developers are increasingly dependent on question and answer portals and blogs for coding solutions. While such interfaces provide useful information, there are concerns that code hosted here is often incorrect, insecure or…

Software Engineering · Computer Science 2022-02-04 Sherlock A. Licorish , Markus Wagner

Most interaction with a computer is done via a graphical user interface. Traditionally, these are implemented in an imperative fashion using shared mutable state and callbacks. This is efficient, but is also difficult to reason about and…

Programming Languages · Computer Science 2020-10-27 Christian Uldal Graulund , Dmitrij Szamozvancev , Neel Krishnaswami

Context: Since it is well-established that developers spend a substantial portion of their time understanding source code, the ability to automatically identify algorithms within source code presents a valuable opportunity. This capability…

Software Engineering · Computer Science 2026-04-06 Denis Neumüller , Sebastian Boll , David Schüler , Matthias Tichy

Gradual typing enables programmers to combine static and dynamic typing in the same language. However, ensuring a sound interaction between the static and dynamic parts can incur significant runtime cost. In this paper, we perform a…

Programming Languages · Computer Science 2019-02-22 Michael M. Vitousek , Jeremy G. Siek , Avik Chaudhuri

Happens before-based dynamic analysis is the go-to technique for detecting data races in large scale software projects due to the absence of false positive reports. However, such analyses are expensive since they employ expensive vector…

Programming Languages · Computer Science 2025-06-26 Mosaad Al Thokair , Minjian Zhang , Umang Mathur , Mahesh Viswanathan

Static analysis is a widely used technique in software engineering for identifying and mitigating bugs. However, a significant hurdle lies in achieving a delicate balance between precision and scalability. Large Language Models (LLMs) offer…

Software Engineering · Computer Science 2023-11-17 Haonan Li , Yu Hao , Yizhuo Zhai , Zhiyun Qian

The rapidly evolving nature of Android apps poses a significant challenge to static batch machine learning algorithms employed in malware detection systems, as they quickly become obsolete. Despite this challenge, the existing literature…

Cryptography and Security · Computer Science 2023-10-25 Molina-Coronado B. , Mori U. , Mendiburu A. , Miguel-Alonso J

Large language models and deep learning models designed for code intelligence have revolutionized the software engineering field due to their ability to perform various code-related tasks. These models can process source code and software…

Software Engineering · Computer Science 2025-07-31 Ali Asgari , Milan de Koning , Pouria Derakhshanfar , Annibale Panichella

In concurrent and distributed systems, software components are expected to communicate according to predetermined protocols and APIs - and if a component does not observe them, the system's reliability is compromised. Furthermore, isolating…

Programming Languages · Computer Science 2021-05-25 Christian Batrolo Burlò , Adrian Francalanza , Alceste Scalas

This paper presents a large-scale study that investigates the bug resolution characteristics among popular Github projects written in different programming languages. We explore correlations but, of course, we cannot infer causation.…

Software Engineering · Computer Science 2020-01-07 Jie M. Zhang , Feng Li , Dan Hao , Meng Wang , Hao Tang , Lu Zhang , Mark Harman

Modern software development demands rapid, reliable testing methods to maintain high quality in increasingly complex systems. This paper details a comprehensive approach to designing and implementing robust test automation frameworks by…

Software Engineering · Computer Science 2025-05-26 Srikanth Srinivas , Lagan Goel

As the complexity of mobile applications grows exponentially and the fragmentation of user device environments intensifies, ensuring online application stability faces unprecedented challenges. Traditional methods, such as static logging…

Software Engineering · Computer Science 2025-12-29 Qi Hu , Jiangchao Liu , Xin Yu , Lin Zhang , Edward Jiang