English
Related papers

Related papers: TreatJS: Higher-Order Contracts for JavaScript

200 papers

Today's JavaScript applications are composed of scripts from different origins that are loaded at run time. As not all of these origins are equally trusted, the execution of these scripts should be isolated from one another. However, some…

Programming Languages · Computer Science 2017-01-18 Matthias Keil , Peter Thiemann

We present OBJS, a new transpiler project featuring the implementation of typified variables and functions call management in Javascript, as well as several new operators and syntax patterns that could make coding more agile and versatile.…

Programming Languages · Computer Science 2024-11-14 Alessandro Rosa

Modern websites extensively rely on JavaScript to implement both functionality and tracking. Existing privacy enhancing content blocking tools struggle against mixed scripts, which simultaneously implement both functionality and tracking,…

Cryptography and Security · Computer Science 2024-05-29 Abdul Haddi Amjad , Shaoor Munir , Zubair Shafiq , Muhammad Ali Gulzar

Security bugs and trapdoors in smart contracts have been impacting the Ethereum community since its inception. Conceptually, the 1.45-million Ethereum's contracts form a single "gigantic program" whose behaviors are determined by the…

Cryptography and Security · Computer Science 2025-08-08 Thomas Ball , Nikolaj S. Bjørner , Ashley J. Chen , Shuo Chen , Yang Chen , Zhongxin Guo , Tzu-Han Hsu , Peng Liu , Nanqing Luo

Contracts are a form of lightweight formal specification embedded in the program text. Being executable parts of the code, they encourage programmers to devote proper attention to specifications, and help maintain consistency between…

Software Engineering · Computer Science 2014-05-08 H. -Christian Estler , Carlo A. Furia , Martin Nordio , Marco Piccioni , Bertrand Meyer

Modern websites heavily rely on JavaScript (JS) to implement legitimate functionality as well as privacy-invasive advertising and tracking. Browser extensions such as NoScript block any script not loaded by a trusted list of endpoints, thus…

Cryptography and Security · Computer Science 2023-03-27 Abdul Haddi Amjad , Zubair Shafiq , Muhammad Ali Gulzar

We describe a method and tool called \textit{ContractCheck} that allows for the consistency analysis of legal contracts, in particular Sales Purchase Agreements (SPAs). The analysis relies on an encoding of the premises for the execution of…

Logic in Computer Science · Computer Science 2022-12-08 Alan Khoja , Martin Kölbl , Stefan Leue , Rüdiger Wilhelmi

Contracts are a well-established approach for describing and analyzing behavioral aspects of web service compositions. The theory of contracts comes equipped with a notion of compatibility between clients and servers that ensures that every…

Programming Languages · Computer Science 2011-01-26 Maria Grazia Buscemi , Hernán Melgratti

The JSC language is a superset of JavaScript designed to ease the development of large web applications. This language extends JavaScripts own object system by isolating code in a class declaration, simplifying multiple inheritance and…

Programming Languages · Computer Science 2009-12-16 Artur Ventura

Blockchains are modern distributed systems that provide decentralized financial capabilities with trustable guarantees. Smart contracts are programs written in specialized programming languages running on a blockchain and govern how tokens…

Cryptography and Security · Computer Science 2022-07-11 Margarita Capretto , Martin Ceresa , Cesar Sanchez

We present a new approach to automated reasoning about higher-order programs by endowing symbolic execution with a notion of higher-order, symbolic values. Our approach is sound and relatively complete with respect to a first-order solver…

Programming Languages · Computer Science 2016-03-22 Phuc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

JavaScript has become one of the most widely used languages for Web development. However, it is challenging to ensure the correctness and reliability of Web applications written in JavaScript, due to their dynamic and event-driven features.…

Software Engineering · Computer Science 2019-05-21 Pengfei Gao , Fu Song , Taolue Chen , Yao Zeng , Ting Su

We present a new approach to automated reasoning about higher-order programs by extending symbolic execution to use behavioral contracts as symbolic values, enabling symbolic approximation of higher-order behavior. Our approach is based on…

Programming Languages · Computer Science 2012-04-27 Sam Tobin-Hochstadt , David Van Horn

Contract scheduling is a general technique that allows to design a system with interruptible capabilities, given an algorithm that is not necessarily interruptible. Previous work on this topic has largely assumed that the interruption is a…

Artificial Intelligence · Computer Science 2020-11-26 Spyros Angelopoulos , Shahin Kamali

Isolating programs is an important mechanism to support more secure applications. Isolating program in dynamic languages such as JavaScript is even more challenging since reflective operations can circumvent simple mechanisms that could…

Programming Languages · Computer Science 2013-09-17 Damien Cassou , Stéphane Ducasse , Nicolas Petton

Session types are used to describe and structure interactions between independent processes in distributed systems. Higher-order types are needed in order to properly structure delegation of responsibility between processes. In this paper…

Logic in Computer Science · Computer Science 2019-03-14 Giovanni Bernardi , Matthew Hennessy

We present rootJS, an interface making it possible to seamlessly integrate ROOT 6 into applications written for Node.js, the JavaScript runtime platform increasingly commonly used to create high-performance Web applications. ROOT features…

Other Computer Science · Computer Science 2017-12-06 Theo Beffart , Maximilian Früh , Christoph Haas , Sachin Rajgopal , Jonas Schwabe , Christoph Wolff , Marek Szuba

This paper introduces a new technique for dynamic verification of component-based real-time systems based on statistical inference. Verifying such systems requires checking two types of properties: functional and real-time. For functional…

Software Engineering · Computer Science 2015-01-13 Chandrakana Nandi , Aurelien Monot , Manuel Oriol

Large foundation models are fundamentally transforming the software engineering landscape, demonstrating exceptional capabilities across diverse tasks such as code generation, debugging, and testing. Despite this rapid progress, a…

Software Engineering · Computer Science 2025-10-21 Shuzheng Gao , Eric John Li , Man Ho Lam , Jingyu Xiao , Yuxuan Wan , Chaozheng Wang , Ng Man Tik , Michael R. Lyu

Behavioral software contracts are a widely used mechanism for governing the flow of values between components. However, run-time monitoring and enforcement of contracts imposes significant overhead and delays discovery of faulty components…

Programming Languages · Computer Science 2014-06-17 Phuc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn
‹ Prev 1 2 3 10 Next ›