English
Related papers

Related papers: How Do Developers Use Type Inference: An Explorato…

200 papers

Background: Google announced Kotlin as an Android official programming language in 2017, giving developers an option of writing applications using a language that combines object-oriented and functional features. Aims: The goal of this work…

Software Engineering · Computer Science 2020-07-29 Bruno Góis Mateus , Matias Martinez

Statically-annotated types have been shown to aid developers in a number of programming tasks, and this benefit holds true even when static type checking is not used. It is hypothesized that this is because developers use type annotations…

Software Engineering · Computer Science 2026-02-05 Samuel W. Flint , Robert Dyer , Bonita Sharif

Statically analyzing dynamically-typed code is a challenging endeavor, as even seemingly trivial tasks such as determining the targets of procedure calls are non-trivial without knowing the types of objects at compile time. Addressing this…

Machine Learning · Computer Science 2023-10-05 Lukas Seidel , Sedick David Baker Effendi , Xavier Pinho , Konrad Rieck , Brink van der Merwe , Fabian Yamaguchi

Maintaining large code bases written in dynamically typed languages, such as JavaScript or Python, can be challenging due to the absence of type annotations: simple data compatibility errors proliferate, IDE support is limited, and APIs are…

Software Engineering · Computer Science 2020-03-09 Michael Pradel , Georgios Gousios , Jason Liu , Satish Chandra

Context: During the last years, developers of mobile applications have the possibility to use new paradigms and tools for developing mobile applications. For instance, since 2017 Android developers have the official support to write Android…

Software Engineering · Computer Science 2019-07-19 Bruno Gois Mateus , Matias Martinez

Benefits of static type systems are well-known: they offer guarantees that no type error will occur during runtime and, inherently, inferred types serve as documentation on how functions are called. On the other hand, many type systems have…

Programming Languages · Computer Science 2020-08-31 Isabel Wingen , Philipp Körner

Since Google introduced Kotlin as an official programming language for developing Android apps in 2017, Kotlin has gained widespread adoption in Android development. However, compared to Java, there is limited support for Kotlin code…

Software Engineering · Computer Science 2024-08-22 Qiong Feng , Xiaotian Ma , Huan Ji , Wei Song , Peng Liang

Python type inference is challenging in practice. Due to its dynamic properties and extensive dependencies on third-party libraries without type annotations, the performance of traditional static analysis techniques is limited. Although…

Software Engineering · Computer Science 2021-06-29 Siwei Cui , Gang Zhao , Zeyu Dai , Luochao Wang , Ruihong Huang , Jeff Huang

Kotlin is a novel language that represents an alternative to Java, and has been recently adopted as a first-class programming language for Android applications. Kotlin is achieving a significant diffusion among developers, and several…

Software Engineering · Computer Science 2019-08-20 Riccardo Coppola , Luca Ardito , Marco Torchiano

We present a type system and inference algorithm for a rich subset of JavaScript equipped with objects, structural subtyping, prototype inheritance, and first-class methods. The type system supports abstract and recursive objects, and is…

Programming Languages · Computer Science 2016-10-19 Satish Chandra , Colin S. Gordon , Jean-Baptiste Jeannin , Cole Schlesinger , Manu Sridharan , Frank Tip , Youngil Choi

When scripts in untyped languages grow into large programs, maintaining them becomes difficult. A lack of explicit type annotations in typical scripting languages forces programmers to must (re)discover critical pieces of design information…

Programming Languages · Computer Science 2011-06-15 Sam Tobin-Hochstadt , Matthias Felleisen

Recently, dynamically typed languages, such as Python, have gained unprecedented popularity. Although these languages alleviate the need for mandatory type annotations, types still play a critical role in program understanding and…

Programming Languages · Computer Science 2022-02-08 Ibrahim Abdelaziz , Julian Dolby , Kavitha Srinivas

Currently, the majority of apps running on mobile devices are Android apps developed in Java. However, developers can now write Android applications using a new programming language: Kotlin, which Google adopted in 2017 as an official…

Software Engineering · Computer Science 2021-11-23 Matias Martinez , Bruno Gois Mateus

Python is a popular dynamic programming language, evidenced by its ranking as the second most commonly used language on GitHub. However, its dynamic type system can lead to potential type errors, leading researchers to explore automatic…

Software Engineering · Computer Science 2023-07-19 Yun Peng , Chaozheng Wang , Wenxuan Wang , Cuiyun Gao , Michael R. Lyu

Optional type annotations allow for enriching dynamic programming languages with static typing features like better Integrated Development Environment (IDE) support, more precise program analysis, and early detection and prevention of…

Software Engineering · Computer Science 2023-07-31 Bernd Gruner , Tim Sonnekalb , Thomas S. Heinze , Clemens-Alexander Brust

Formal contracts and assertions are effective methods to enhance software quality by enforcing preconditions, postconditions, and invariants. Previous research has demonstrated the value of contracts in traditional software development…

Software Engineering · Computer Science 2024-01-26 David R. Ferreira , Alexandra Mendes , João F. Ferreira

Background: Since Google introduced Kotlin as an official programming language for developing Android apps in 2017, Kotlin has gained widespread adoption in Android development. The inter-operability of Java and Kotlin's design nature…

Software Engineering · Computer Science 2024-07-29 Qiong Feng , Huan Ji , Xiaotian Ma , Peng Liang

As gradual typing becomes increasingly popular in languages like Python and TypeScript, there is a growing need to infer type annotations automatically. While type annotations help with tasks like code completion and static error catching,…

Programming Languages · Computer Science 2020-05-06 Jiayi Wei , Maruth Goyal , Greg Durrett , Isil Dillig

Java programming language has been long used to develop native Android mobile applications. In the last few years many companies and freelancers have switched into using Kotlin partially or entirely. As such, many projects are released as…

Cryptography and Security · Computer Science 2021-05-21 Fadi Mohsen , Loran Oosterhaven , Fatih Turkmen

We present a new approach to the type inference problem for dynamic languages. Our goal is to combine \emph{logical} constraints, that is, deterministic information from a type system, with \emph{natural} constraints, that is, uncertain…

Programming Languages · Computer Science 2021-03-30 Irene Vlassi Pandi , Earl T. Barr , Andrew D. Gordon , Charles Sutton
‹ Prev 1 2 3 10 Next ›