English
Related papers

Related papers: Putting in All the Stops: Execution Control for Ja…

200 papers

We report on a one-semester compiler construction course based on the idea of implementing a small self-contained compiler for a small model language from scratch, not using other compiler construction frameworks. The course is built around…

Programming Languages · Computer Science 2022-07-27 Daniil Berezun , Dmitry Boulytchev

Current compiler optimization reports often present complex, technical information that is difficult for programmers to interpret and act upon effectively. This paper assesses the capability of large language models (LLM) to understand…

Programming Languages · Computer Science 2025-06-16 Peter Pirkelbauer , Chunhua Liao

Recent advances in large language models (LLMs) have substantially enhanced automated code generation across a wide range of programming languages. Nonetheless, verifying the correctness and executability of LLM-generated code remains a…

Programming Languages · Computer Science 2026-01-14 Xinkui Zhao , Yifan Zhang , Zhengyi Zhou , Yueshen Xu

Language implementation frameworks, e.g., RPython and Truffle/Graal, are practical tools for creating efficient virtual machines, including a well-functioning just-in-time (JIT) compiler. It is demanding to support multitier JIT compilation…

Programming Languages · Computer Science 2022-01-20 Yusuke Izawa , Hidehiko Masuhara , Carl Friedrich Bolz-Tereick , Youyou Cong

Hardware-assisted reference monitoring is receiving increasing attention as a way to improve the security of existing software. One example is the PIPE architecture extension, which attaches metadata tags to register and memory values and…

Cryptography and Security · Computer Science 2020-12-21 CHR Chhak , Andrew Tolmach , Sean Anderson

JavaScript (JS) is a popular, platform-independent programming language. To ensure the interoperability of JS programs across different platforms, the implementation of a JS engine should conform to the ECMAScript standard. However, doing…

Software Engineering · Computer Science 2021-04-16 Guixin Ye , Zhanyong Tang , Shin Hwei Tan , Songfang Huang , Dingyi Fang , Xiaoyang Sun , Lizhong Bian , Haibo Wang , Zheng Wang

The wide-spread adoption of system defenses such as the randomization of code, stack, and heap raises the bar for code-reuse attacks. Thus, attackers utilize a scripting engine in target programs like a web browser to prepare the code-reuse…

Cryptography and Security · Computer Science 2020-07-07 Jannik Pewny , Philipp Koppe , Thorsten Holz

Interrupts have been widely used in safety-critical computer systems to handle outside stimuli and interact with the hardware, but reasoning about interrupt-driven software remains a difficult task. Although a number of static verification…

Programming Languages · Computer Science 2017-09-29 Chungha Sung , Markus Kusano , Chao Wang

The JavaScript programming language, which began as a simple scripting language for the Web, has become ubiquitous, spanning desktop, mobile, and server applications. This increase in usage has made JavaScript an attractive target for…

Cryptography and Security · Computer Science 2024-10-29 José Miguel Moreno , Narseo Vallina-Rodriguez , Juan Tapiador

Compilers are used to run programs that are written in a range of designs from text to executable formats. With the advent of the internet, studies related to the development of cloud based compilers are being carried out. There is a…

Programming Languages · Computer Science 2016-05-09 Ramkumar Lakshminarayanan , Balaji Dhanasekaran , Ben George Ephre

Identifying dependency call graphs of multilanguage software systems using static code analysis is challenging. The different languages used in developing today's systems often have different lexical, syntactical, and semantic rules that…

Writing documentation about software internals is rarely considered a rewarding activity. It is highly time-consuming and the resulting documentation is fragile when the software is continuously evolving in a multi-developer setting.…

Software Engineering · Computer Science 2013-11-13 Tobias Kuhn , Alexandre Bergel

The size and complexity of software applications is increasing at an accelerating pace. Source code repositories (along with their dependencies) require vast amounts of labor to keep them tested, maintained, and up to date. As the…

Software Engineering · Computer Science 2024-06-14 Ivan R. Ivanov , Joachim Meyer , Aiden Grossman , William S. Moses , Johannes Doerfert

JavaScript is an increasingly popular language for server-side development, thanks in part to the Node.js runtime environment and its vast ecosystem of modules. With the Node.js package manager npm, users are able to easily include external…

Software Engineering · Computer Science 2021-10-28 Alexi Turcotte , Ellen Arteca , Ashish Mishra , Saba Alimadadi , Frank Tip

Traditionally, we have two possibilities to design tools for program comprehension and analysis. The first option is to create a standalone program, independent of any source code editor. This way, the act of source code editing is…

Software Engineering · Computer Science 2018-08-31 Matúš Sulír , Jaroslav Porubän , Ondrej Zoričák

This paper summarizes our experience in communicating the elements of reasoning about correctness, and the central role of formal specifications in reasoning about modular, component-based software using a language and an integrated Web IDE…

Software Engineering · Computer Science 2015-08-20 Nabil M. Kabbani , Daniel Welch , Caleb Priester , Stephen Schaub , Blair Durkee , Yu-Shan Sun , Murali Sitaraman

Early programming languages for software-defined networking (SDN) were built on top of the simple match-action paradigm offered by OpenFlow 1.0. However, emerging hardware and software switches offer much more sophisticated support for…

Networking and Internet Architecture · Computer Science 2016-07-06 Mina Tahmasbi Arashloo , Yaron Koral , Michael Greenberg , Jennifer Rexford , David Walker

To increase performance and efficiency, systems use FPGAs as reconfigurable accelerators. A key challenge in designing these systems is partitioning computation between processors and an FPGA. An appropriate division of labor may be…

Hardware Architecture · Computer Science 2021-07-21 Endri Bezati , Mahyar Emami , Jörn Janneck , James Larus

Stop words, which are considered non-predictive, are often eliminated in natural language processing tasks. However, the definition of uninformative vocabulary is vague, so most algorithms use general knowledge-based stop lists to remove…

Software Engineering · Computer Science 2023-06-13 Yaohou Fan , Chetan Arora , Christoph Treude

JavaScript's widespread adoption has made it an attractive target for malicious attackers who employ sophisticated obfuscation techniques to conceal harmful code. Current deobfuscation tools suffer from critical limitations that severely…

Cryptography and Security · Computer Science 2025-12-17 Dongchao Zhou , Lingyun Ying , Huajun Chai , Dongbin Wang