English
Related papers

Related papers: Array Based Java Source Code Obfuscation Using Cla…

200 papers

Arrays are such a rich and fundamental data type that they tend to be built into a language, either in the compiler or in a large low-level library. Defining this functionality at the user level instead provides greater flexibility for…

Programming Languages · Computer Science 2014-07-16 Jeff Bezanson , Jiahao Chen , Stefan Karpinski , Viral Shah , Alan Edelman

Developers often extract methods to improve readability, understanding, and reuse, while inlining keeps logic in one block. Prior work based on static metrics has not shown clear differences between these practices, and the human side of…

With the advent of new technologies, using various formats of digital gadgets is becoming widespread. In today's world, where everyday tasks are inevitable without technology, this extensive use of computers paves the way for malicious…

Cryptography and Security · Computer Science 2022-02-23 Mohammad Mahdi Maghouli , Mohamadreza Fereydooni , Monireh Abdoos , Mojtaba Vahidi-Asl

Reverse engineering binaries is required to understand and analyse programs for which the source code is unavailable. Decompilers can transform the largely unreadable binaries into a more readable source code-like representation. However,…

Cryptography and Security · Computer Science 2023-01-16 Ali Al-Kaswan , Toufique Ahmed , Maliheh Izadi , Anand Ashok Sawant , Premkumar Devanbu , Arie van Deursen

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

To fork a project is to copy the existing code base and move in a direction different than that of the erstwhile project leadership. Forking provides a rapid way to address new requirements by adapting an existing solution. However, it can…

Software Engineering · Computer Science 2010-04-19 Neil A. Ernst , Steve Easterbrook , John Mylopoulos

This tool demonstration presents a research toolkit for a language model of Java source code. The target audience includes researchers studying problems at the granularity level of subroutines, statements, or variables in Java. In contrast…

Software Engineering · Computer Science 2023-05-16 Chia-Yi Su , Aakash Bansal , Vijayanta Jain , Sepideh Ghanavati , Collin McMillan

Understanding or comprehending source code is one of the core activities of software engineering. Understanding object-oriented source code is essential and required when a programmer maintains, migrates, reuses, documents or enhances…

Software Engineering · Computer Science 2016-01-29 Ra'Fat AL-msie'deen

During software maintenance, programmers spend a lot of time on code comprehension. Reading comments is an effective way for programmers to reduce the reading and navigating time when comprehending source code. Therefore, as a critical task…

Software Engineering · Computer Science 2018-02-01 Xing Hu , Yuhan Wei , Ge Li , Zhi Jin

The problem of reconstructing strings from their substring spectra has a long history and in its most simple incarnation asks for determining under which conditions the spectrum uniquely determines the string. We study the problem of coded…

Information Theory · Computer Science 2019-04-24 Ryan Gabrys , Olgica Milenkovic

We provide full certifications of two versions of merge sort of arrays in the verification-aware programming language Dafny. We start by considering schemas for applying the divide-and-conquer or partition method of solution to…

Logic in Computer Science · Computer Science 2025-09-03 Juan Pablo Carbonell , José E. Solsona , Nora Szasz , Álvaro Tasistro

Diffusion language models offer a compelling alternative to autoregressive code generation, enabling global planning and iterative refinement of complex program logic. However, existing approaches fail to respect the rigid structure of…

Machine Learning · Computer Science 2026-02-23 Anton Xue , Litu Rout , Constantine Caramanis , Sanjay Shakkottai

The development of deep learning software libraries enabled significant progress in the field by allowing users to focus on modeling, while letting the library to take care of the tedious and time-consuming task of optimizing execution for…

Machine Learning · Computer Science 2023-10-17 Miloš Stanojević , Laurent Sartran

Learning from source code usually requires a large amount of labeled data. Despite the possible scarcity of labeled data, the trained model is highly task-specific and lacks transferability to different tasks. In this work, we present…

Machine Learning · Computer Science 2021-03-05 Linfeng Liu , Hoan Nguyen , George Karypis , Srinivasan Sengamedu

There has been a recent surge of interest in automating software engineering tasks using deep learning. This paper addresses the problem of code generation, where the goal is to generate target code given source code in a different language…

Machine Learning · Computer Science 2024-02-01 Sindhu Tipirneni , Ming Zhu , Chandan K. Reddy

In this paper a novel approach for matrix manipulation and indexing is proposed .Here the elements in a row of matrix are designated by numeric value called permutation index followed by the elements of the row being randomised. This is…

Cryptography and Security · Computer Science 2013-12-17 Rahul R Upadhyay

Code obfuscation is widely adopted in modern software development to protect intellectual property and hinder reverse engineering, but it also provides attackers with a powerful means to conceal malicious logic inside otherwise legitimate…

Cryptography and Security · Computer Science 2026-04-02 Francesco Pagano , Lorenzo Pisu , Leonardo Regano , Davide Maiorca , Alessio Merlo , Giorgio Giacinto

This paper presents an approach that exploits Java annotations to provide meta information needed to automatically transform plain Java programs into parallel code that can be run on multicore workstation. Programmers just need to decorate…

Programming Languages · Computer Science 2013-06-11 Patrizio Dazzi

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

This paper presents a technique for deadlock detection of Java programs. The technique uses typing rules for extracting infinite-state abstract models of the dependencies among the components of the Java intermediate language -- the Java…

Programming Languages · Computer Science 2017-09-14 Abel Garcia , Cosimo Laneve