English
Related papers

Related papers: Towards Automated Application-Specific Software St…

200 papers

Programmable Logic Controllers (PLCs) execute critical control software that drives Industrial Automation and Control Systems (IACS). PLCs can become easy targets for cyber-adversaries as they are resource-constrained and are usually built…

Cryptography and Security · Computer Science 2021-01-07 Awais Tanveer , Roopak Sinha , Stephen G. MacDonell , Paulo Leitao , Valeriy Vyatkin

To refactor already working code while keeping reliability, compatibility and perhaps security, we can borrow ideas from micropass/nanopass compilers. By treating the procedure of software refactoring as composing code transformations, and…

Software Engineering · Computer Science 2023-08-15 Yu Liu

We address the problem of automatic decompilation, converting a program in low-level representation back to a higher-level human-readable programming language. The problem of decompilation is extremely important for security researchers.…

Programming Languages · Computer Science 2019-05-22 Omer Katz , Yuval Olshaker , Yoav Goldberg , Eran Yahav

WebAssembly is a compilation target for cross-platform applications that is increasingly being used. In this paper, we investigate whether one can transparently cross-compile C programs to WebAssembly, and if not, what impact porting can…

Cryptography and Security · Computer Science 2021-12-23 Quentin Stiévenart , Coen De Roover , Mohammad Ghafari

The practice of code reuse is crucial in software development for a faster and more efficient development lifecycle. In reality, however, code reuse practices lack proper control, resulting in issues such as vulnerability propagation and…

Software Engineering · Computer Science 2024-10-28 Zhiwei Fu , Steven H. H. Ding , Furkan Alaca , Benjamin C. M. Fung , Philippe Charland

This paper describes an implemented system which is designed to support the deployment of applications offering distributed services, comprising a number of distributed components. This is achieved by creating high level placement and…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-06-24 Alan Dearle , Graham Kirby , Andrew McCarthy , Juan-Carlos Diaz y Carballo

To process data more efficiently, big data frameworks provide data abstractions to developers. However, due to the abstraction, there may be many challenges for developers to understand and debug the data processing code. To uncover the…

Software Engineering · Computer Science 2021-03-29 Zehao Wang

Software vulnerabilities remain a significant risk factor in achieving security objectives within software development organizations. This is especially true where either proprietary or open-source software (OSS) is included in the…

Software Engineering · Computer Science 2025-09-23 James J. Cusick

Modern scientific software stacks have become extremely complex, using many programming models and libraries to exploit a growing variety of GPUs and accelerators. Package managers can mitigate this complexity using dependency solvers, but…

Software Engineering · Computer Science 2022-10-18 Todd Gamblin , Massimiliano Culpo , Gregory Becker , Sergei Shudler

Developing secure distributed systems is difficult, and even harder when advanced cryptography must be used to achieve security goals. Following prior work, we advocate using secure program partitioning to synthesize cryptographic…

Cryptography and Security · Computer Science 2024-01-10 Coşku Acay , Joshua Gancher , Rolph Recto , Andrew C. Myers

API integration is a cornerstone of our digital infrastructure, enabling software systems to connect and interact. However, as shown by many studies, writing or generating correct code to invoke APIs, particularly web APIs, is challenging.…

Software Engineering · Computer Science 2025-12-19 Daniel Maninger , Leon Chemnitz , Amir Molzam Sharifloo , Tushar Lamba , Jannis Brugger , Mira Mezini

Reconfiguring the network stack allows applications to specialize the implementations of communication libraries depending on where they run, the requests they serve, and the performance they need to provide. Specializing applications in…

Networking and Internet Architecture · Computer Science 2023-11-15 Akshay Narayan , Aurojit Panda , Mohammad Alizadeh , Hari Balakrishnan , Arvind Krishnamurthy , Scott Shenker

Data analytics applications combine multiple functions from different libraries and frameworks. Even when each function is optimized in isolation, the performance of the combined application can be an order of magnitude below hardware…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-10-26 Shoumik Palkar , James Thomas , Deepak Narayanan , Anil Shanbhag , Rahul Palamuttam , Holger Pirk , Malte Schwarzkopf , Saman Amarasinghe , Samuel Madden , Matei Zaharia

The prevalence of software systems has become an integral part of modern-day living. Software usage has increased significantly, leading to its growth in both size and complexity. Consequently, software development is becoming a more…

Software Engineering · Computer Science 2023-06-07 Tiago Dias , Arthur Batista , Eva Maia , Isabel Praça

For library developers, understanding how their Application Programming Interfaces (APIs) are used in the field can be invaluable. Knowing how clients are using their APIs allows for data-driven decisions on prioritising bug reports,…

Software Engineering · Computer Science 2025-06-16 Ahmed Zaki , Cristian Cadar

Software component reuse is the software engineering practice of developing new software products from existing components. A reuse library or component reuse repository organizes stores and manages reusable components. This paper describes…

Software Engineering · Computer Science 2010-07-30 P. Shireesha , S. S. V. N. Sharma

The development of a real-time web application often starts with a feature-driven approach allowing to quickly react to users feedbacks. However, this approach poorly scales in performance. Yet, the user-base can increase by an order of…

Programming Languages · Computer Science 2015-12-23 Etienne Brodu , Stéphane Frénot , Frédéric Oblé

The transition from human-centric to agent-centric software development practices is disrupting existing knowledge sharing environments for software developers. Traditional peer-to-peer repositories and developer communities for shared…

Artificial Intelligence · Computer Science 2025-11-12 Valentin Tablan , Scott Taylor , Gabriel Hurtado , Kristoffer Bernhem , Anders Uhrenholt , Gabriele Farei , Karo Moilanen

The reuse of code fragments by copying and pasting is widely practiced in software development and results in code clones. Cloning is considered an anti-pattern as it negatively affects program correctness and increases maintenance efforts.…

Software Engineering · Computer Science 2018-06-26 Hannes Thaller , Rudolf Ramler , Josef Pichler , Alexander Egyed

OpenCL is an open standard for parallel programming of heterogeneous compute devices, such as GPUs, CPUs, DSPs or FPGAs. However, the verbosity of its C host API can hinder application development. In this paper we present cf4ocl, a…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-16 Nuno Fachada , Vitor V. Lopes , Rui C. Martins , Agostinho C. Rosa