English
Related papers

Related papers: Static Code Analysis of Multilanguage Software Sys…

200 papers

We address the problem of discovering communication links between applications in the popular Android mobile operating system, an important problem for security and privacy in Android. Any scalable static analysis in this complex setting is…

Programming Languages · Computer Science 2018-09-12 Jinman Zhao , Aws Albarghouthi , Vaibhav Rastogi , Somesh Jha , Damien Octeau

Even though much progress has been made in identifying and mitigating smart contract vulnerabilities, we often hear about coding or design issues leading to great financial losses. This paper presents our progress toward finding defects…

Logic in Computer Science · Computer Science 2024-11-01 Stefan-Claudiu Susan

TypeScript is a quickly evolving superset of JavaScript with active development of new features. Our paper seeks to understand how quickly these features are adopted by the developer community. Existing work in JavaScript shows the adoption…

Software Engineering · Computer Science 2023-03-20 Joshua D. Scarsbrook , Mark Utting , Ryan K. L. Ko

Static analysis tools provide a powerful means to detect security vulnerabilities by specifying queries that encode vulnerable code patterns. However, writing such queries is challenging and requires diverse expertise in security and…

Cryptography and Security · Computer Science 2026-03-26 Claire Wang , Ziyang Li , Saikat Dutta , Mayur Naik

Web applications written in JavaScript are regularly used for dealing with sensitive or personal data. Consequently, reasoning about their security properties has become an important problem, which is made very difficult by the highly…

Programming Languages · Computer Science 2013-02-14 Martin Lester , Luke Ong , Max Schaefer

Probabilistic programming is a powerful abstraction for statistical machine learning. Applying static analysis methods to probabilistic programs could serve to optimize the learning process, automatically verify properties of models, and…

Programming Languages · Computer Science 2019-09-12 Ryan Bernstein

The rapid proliferation of diverse programming languages presents both opportunities and challenges for developing multilingual code LLMs. While existing techniques often train code LLMs by simply aggregating multilingual code data, few…

Software Engineering · Computer Science 2025-12-23 Shangbo Yun , Xiaodong Gu , Jianghong Huang , Beijun Shen

Static analysis is an essential component of many modern software development tools. Unfortunately, the ever-increasing complexity of static analyzers makes their coding error-prone. Even analysis tools based on rigorous mathematical…

Software Engineering · Computer Science 2025-05-08 Daniela Ferreiro , Ignacio Casso , Jose F. Morales , Pedro López-García , Manuel V. Hermenegildo

We introduce Stable Code, the first in our new-generation of code language models series, which serves as a general-purpose base code language model targeting code completion, reasoning, math, and other software engineering-based tasks.…

Software architecture is receiving increasingly attention as a critical design level for software systems. As software architecture design resources (in the form of architectural descriptions) are going to be accumulated, the development of…

Software Engineering · Computer Science 2007-05-23 Jianjun Zhao

This paper describes how to adapt a static code analyzer to help novice programmers. Current analyzers have been built to give feedback to experienced programmers who build new applications or systems. The type of feedback and the type of…

Software Engineering · Computer Science 2017-10-03 Tim Blok , Ansgar Fehnker

Dynamic programming languages, such as PHP, JavaScript, and Python, provide built-in data structures including associative arrays and objects with similar semantics-object properties can be created at run-time and accessed via arbitrary…

Software Engineering · Computer Science 2014-05-07 David Hauzar , Jan Kofroň , Pavel Baštecký

The escalating complexity of software systems and accelerating development cycles pose a significant challenge in managing code errors and implementing business logic. Traditional techniques, while cornerstone for software quality…

Software Engineering · Computer Science 2023-10-16 Gang Fan , Xiaoheng Xie , Xunjin Zheng , Yinan Liang , Peng Di

Code retrieval is a common practice for programmers to reuse existing code snippets in open-source repositories. Given a user query (i.e., a natural language description), code retrieval aims at searching for the most relevant ones from a…

Software Engineering · Computer Science 2022-03-30 Wenchao Gu , Zongjie Li , Cuiyun Gao , Chaozheng Wang , Hongyu Zhang , Zenglin Xu , Michael R. Lyu

The increasing complexity of software systems has driven significant advancements in program analysis, as traditional methods unable to meet the demands of modern software development. To address these limitations, deep learning techniques,…

Software Engineering · Computer Science 2025-02-27 Jiayimei Wang , Tao Ni , Wei-Bin Lee , Qingchuan Zhao

A software element defined in one place is typically used in many places. When it is changed, all its occurrences may need to be changed too, which can severely hinder software evolution. This has led to the support of encapsulation in…

Software Engineering · Computer Science 2013-12-11 Mikal Ziane , Mel Ó Cinnéide

Composable many-core systems enable the independent development and analysis of applications which will be executed on a shared platform where the mix of concurrently executed applications may change dynamically at run time. For each…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-02-11 Behnaz Pourmohseni , Fedor Smirnov , Stefan Wildermann , Jürgen Teich

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

A variety of code analyzers, such as IACA, uiCA, llvm-mca or Ithemal, strive to statically predict the throughput of a computation kernel. Each analyzer is based on its own simplified CPU model reasoning at the scale of a basic block.…

Performance · Computer Science 2024-02-23 Théophile Bastian , Hugo Pompougnac , Alban Dutilleul , Fabrice Rastello

JavaScript (JS) is one of the most popular programming languages due to its flexibility and versatility, but maintaining JS code is tedious and error-prone. In our research, we conducted an empirical study to characterize the relationship…

Software Engineering · Computer Science 2021-02-18 Zijian Jiang , Hao Zhong , Na Meng