Shujuan Hou, Lingyun Li, Peiyao Yang · 2015
In this paper, a practical distributed turbo code (DTC) and its corresponding decoding scheme at destination are presented. The transmission is divided into two phases. In the first phase, the source broadcasts a turbo code to both relay and destination. In the second phase, the relay forwards the decoded systematic bits to the destination in case of no CRC errors. Further, a modified turbo decoder is designed at destination to ensure that the destination makes full use of the received bits whether from source or relay. Simulation results demonstrate a marked BER performance without an increase of computation complexity.
Cited by 0
Anjan Karmakar, Romain Robbes · IEEE Transactions on Software Engineering · 2023
Pre-trained models of source code have recently been successfully applied to a wide variety of Software Engineering tasks; they have also seen some practical adoption in practice, e.g. for code completion. Yet, we still know very little about <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">what</i> these pre-trained models learn about source code. In this article, we use <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">probing</i> —simple diagnostic tasks that do not further train the models—to discover to what extent pre-trained models learn about specific aspects of source code. We use an extensible framework to define 15 probing tasks that exercise surface, syntactic, structural and semantic characteristics of source code. We probe 8 pre-trained source code models, as well as a natural language model ( <monospace xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">BERT</monospace> ) as our baseline. We find that models that incorporate some structural information (such as <monospace xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">GraphCodeBERT</monospace> ) have a better representation of source code characteristics. Surprisingly, we find that for some probing tasks, <monospace xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">BERT</monospace> is competitive with the source code models, indicating that there are ample opportunities to improve source-code specific pre-training on the respective code characteristics. We encourage other researchers to evaluate their models with our probing task suite, so that they may peer into the hidden layers of the models and identify what intrinsic code characteristics are encoded.
Cited by 7
Catherine Tony, Nicolás E. Díaz Ferreyra, Markus Mutas et al. · ACM Transactions on Software Engineering and Methodology · 2025
Large Language Models (LLMs) are gaining momentum in software development with prompt-driven programming enabling developers to create code from Natural Language (NL) instructions. However, studies have questioned their ability to produce secure code and, thereby, the quality of prompt-generated software. Alongside, various prompting techniques that carefully tailor prompts have emerged to elicit optimal responses from LLMs. Still, the interplay between such prompting strategies and secure code generation remains under-explored and calls for further investigations. Objective : In this study, we investigate the impact of different prompting techniques on the security of code generated from NL instructions by LLMs. Method : First, we perform a systematic literature review to identify the existing prompting techniques that can be used for code generation tasks. A subset of these techniques are evaluated on GPT-3, GPT-3.5, and GPT-4 models for secure code generation. For this, we used an existing dataset consisting of 150 NL security-relevant code generation prompts. Results : Our work (i) classifies potential prompting techniques for code generation (ii) adapts and evaluates a subset of the identified techniques for secure code generation tasks, and (iii) observes a reduction in security weaknesses across the tested LLMs, especially after using an existing technique called Recursive Criticism and Improvement (RCI), contributing valuable insights to the ongoing discourse on LLM-generated code security.
Cited by 11Open access
Gabriel Luis L. Liwanag, Ryan Ebardo, Danny C. Cheng · Data & Metadata · 2025
Low-code, no-code has transformed software development by enabling non-programmers to build applications through visual interfaces. With the growing integration of artificial intelligence (AI), these platforms are evolving into intelligent environments that accelerate innovation and bridge the global shortage of skilled developers. This significance of this research is it clarifies how AI enhances LCNC development, a field increasingly central to digital transformation and automation. Using the systematic literature review method, the study gathered 1,582 initial records from Scopus, EBSCO, and AISeL, applying inclusion and exclusion criteria with PRISMA to arrive at 60 peer-reviewed journals published between 2020 and 2025. Each article was analyzed in terms of theoretical framework, industry context, development phase AI was integrated, challenges, and opportunities, with data thematically synthesized to trace emerging trends. The research found out that AI’s role in LCNC development is expanding and acting as co-developer increasing software reliability and adaptability. Results show that AI is primarily utilized in the development and maintenance phases of LCNC, functioning as a co-developer that automates code generation, debugging, and optimization. Most studies focus on applications in healthcare, manufacturing, logistics, and education, and finance, while theoretical engagement and diversity across industries remain limited. The study concluded that the convergence of LCNC and AI marks a shift toward intelligent, citizen-driven software development, underscoring the need for future research on theory, governance, and sector-specific best practices.
Cited by 1Open access
Seyedreza Mohseni, Siamak Mohammadi, Deepa Tilwani et al. · Proceedings of the AAAI Conference on Artificial Intelligence · 2025
Malware authors often employ code obfuscations to make their malware harder to detect. Existing tools for generating obfuscated code often require access to the original source code (e.g., C++ or Java), and adding new obfuscations is a non-trivial, labor-intensive process. In this study, we ask the following question: Can Large Language Models (LLMs) potentially generate a new obfuscated assembly code? If so, this poses a risk to anti-virus engines and potentially increases the flexibility of attackers to create new obfuscation patterns. We answer this in the affirmative by developing the MetamorphASM benchmark comprising MetamorphASM Dataset (MAD) along with three code obfuscation techniques: dead code, register substitution, and control flow change. The MetamorphASM systematically evaluates the ability of LLMs to generate and analyze obfuscated code using MAD, which contains 328,200 obfuscated assembly code samples. We release this dataset and analyze the success rate of various LLMs (e.g., GPT-3.5/4, GPT-4o-mini, Starcoder, CodeGemma, CodeLlama, CodeT5, and LLaMA 3.1) in generating obfuscated assembly code. The evaluation was performed using established information-theoretic metrics and manual human review to ensure correctness and provide the foundation for researchers to study and develop remediations to this risk.
Cited by 9Open access
Hanna, Serge Kas · SPIRE - Sciences Po Institutional REpository · 2025
Submitted to the IEEE Transactions on Molecular, Biological, and Multi-Scale Communications
Cited by 0Open access
Megan L Obermueller · Digital Commons - Hamline (Hamline University) · 2012
This capstone is a systematic review of the research on written code switching (CS). There were five guiding research questions. What kinds of written CS have been studied and in what context? What structural/grammatical constraints are found? What are the functions of CS in written data? To what extent do the structures and functions of written CS correspond to that of oral CS? What does the above suggest for further research and investigation? The systematic review identified CS in social media as an important topic of research that is particularly relevant for educators who work with dual-language learners. An in-depth review found that the research in written CS in social media has largely focused on the sociolinguistic aspects of CS and has identified motivations for CS that have important implications for educators. These motivations include using CS to create a sense of identity or intimacy among those using social media.
Cited by 0
Kinga Janik‐Koncewicz, David Ritchie, Urszula Blicharz et al. · Journal of Health Inequalities · 2017
Cancer is one of the main causes of premature deaths worldwide. Because of that the aspect of prevention and treatment of cancer is a major public health issue. It is also a huge challenge for the healthcare system in Poland and other European countries. In the 1980s the struggle with cancer in European population was recognized as one of the most important goals. That's why on the initiative of the European Commission the European Code Against Cancer was created. Nowadays, the fourth version of the Code has been disseminated. The Code is a set of the twelve practical recommendations, which anyone can use without a need for special skills or the use of specialist advice. The evidence-based recommendations are promoting healthy lifestyle, healthy behaviours and above all, they concern actions aimed at reducing exposure to tens of carcinogens from tobacco smoke and carcinogens from other sources, changes in eating habits, increased physical activity, and increased knowledge of early cancer diagnosis and treatment. One of the principal activities of the Association of European Cancer Leagues (ECL) has been regularly monitoring the dissemination activities and knowledge on the Code in European countries. For example, dissemination of the Code in Poland within the National Cancer Control Programme in years 2006-2015 led to significant increase in people's awareness and improvement in health behaviours. ECL's venture and Polish experience lead to the statement that the Code is undoubtedly one of the most important and effective instrument in the fight against cancer in Europe.
Cited by 6Open access
Seyedreza Mohseni, Siamak Mohammadi, Deepa Tilwani et al. · arXiv (Cornell University) · 2024
Malware authors often employ code obfuscations to make their malware harder to detect. Existing tools for generating obfuscated code often require access to the original source code (e.g., C++ or Java), and adding new obfuscations is a non-trivial, labor-intensive process. In this study, we ask the following question: Can Large Language Models (LLMs) potentially generate a new obfuscated assembly code? If so, this poses a risk to anti-virus engines and potentially increases the flexibility of attackers to create new obfuscation patterns. We answer this in the affirmative by developing the MetamorphASM benchmark comprising MetamorphASM Dataset (MAD) along with three code obfuscation techniques: dead code, register substitution, and control flow change. The MetamorphASM systematically evaluates the ability of LLMs to generate and analyze obfuscated code using MAD, which contains 328,200 obfuscated assembly code samples. We release this dataset and analyze the success rate of various LLMs (e.g., GPT-3.5/4, GPT-4o-mini, Starcoder, CodeGemma, CodeLlama, CodeT5, and LLaMA 3.1) in generating obfuscated assembly code. The evaluation was performed using established information-theoretic metrics and manual human review to ensure correctness and provide the foundation for researchers to study and develop remediations to this risk.
Cited by 1Open access
Matthew Oladeji Ajimati, Noël Carroll, Mary Lou Maher · Journal of Systems and Software · 2024
Cited by 17
Rama Satya, R. N. · 2025
Buffer overflow attacks remain a critical threat to software security, with existing defenses like ASLR and stack canaries proving insufficient against sophisticated exploits. Nvariant systems, which execute diverse program variants to thwart coordinated attacks, offer a promising solution. However, manually generating such variants is costly and unscalable. To address this, we propose an AI-driven pipeline that automates the creation of N-secure code variants by leveraging programming expertise embedded in existing code repositories. As a foundational step, this work benchmarks the ability of Retrieval-Augmented Generation (RAG) models to identify semantically similar code snippets from a repository that match the coding constructs of a given human-written code. We evaluate multiple RAG architectures on their retrieval accuracy, diversity of returned snippets, and ability to surface distinct coding expertise (e.g., security-aware implementations). Our analysis reveals how RAG models can systematically curate programming variants that preserve functionality while differing in structure, libraries, or security practices. The retrieved snippets will later train a modelfree reinforcement learning (RL) agent to generate N diverse variants, introducing security by diversity against buffer overflow attacks. By rigorously assessing RAG models now, we ensure the subsequent RL phase has high-quality, relevant exemplars that are critical for generating robust variants. We evaluate two different RAG models: Code specific RAG model and a Generalized RAG model. L2 distance and cosine similarity metrics are used to measure the ability of RAG model identify code segments from a given human code repository that capture diverse coding human expertise. We believe our work bridges AI-powered code retrieval and generative security, offering a scalable path to N-variant systems. Our proposed scalable path to N-variant systems involves feeding the output of RAG to a model free Reinforcement Learning algorithm.
Cited by 0
Ali Asgari, Milan de Koning, Pouria Derakhshanfar et al. · ACM Transactions on Software Engineering and Methodology · 2025
Large language models and deep learning models designed for code intelligence have revolutionized the software engineering field due to their ability to perform various code-related tasks. These models can process source code and software artifacts with high accuracy in tasks such as code completion, defect detection, and code summarization; therefore, they can potentially become an integral part of modern software engineering practices. Despite these capabilities, robustness remains a critical quality attribute for deep-code models as they may produce different results under varied and adversarial conditions (e.g., variable renaming). Metamorphic testing has become a widely used approach to evaluate models’ robustness by applying semantic-preserving transformations to input programs and analyzing the stability of model outputs. While prior research has explored testing deep learning models, this systematic literature review focuses specifically on metamorphic testing for deep code models. By studying 45 primary papers, we analyze the transformations, techniques, and evaluation methods used to assess robustness. Our review summarizes the current landscape, identifying frequently evaluated models, programming tasks, datasets, target languages, and evaluation metrics, and highlights key challenges and future directions for advancing the field.
Cited by 0Open access
Јелена Сливка, Nikola Luburić, Simona Prokić et al. · 2021
<p><strong>This is a preprint of an article published in the</strong> <em><strong>Science of Computer Programming</strong></em><strong>. The final peer-reviewed publication is available online at:</strong><br> <a href="https://doi.org/10.1016/j.scico.2023.102999" target="_blank"><u>https://doi.org/10.1016/j.scico.2023.102999</u></a> </p> <p><br></p> <p>Code smells are structures in code that indicate the presence of maintainability issues. A significant problem with code smells is their ambiguity. They are challenging to define, and software engineers have a different understanding of what a code smell is and which code suffers from code smells.</p> <p>A solution to this problem could be an AI digital assistant that understands code smells and can detect (and perhaps resolve) them. However, it is challenging to develop such an assistant as there are few usable datasets of code smells on which to train and evaluate it. Furthermore, the existing datasets suffer from issues that mostly arise from an unsystematic approach used for their construction.</p> <p>Through this work, we address this issue by developing a procedure for the systematic manual annotation of code smells. We use this procedure to build a dataset of code smells. During this process, we refine the procedure and identify recommendations and pitfalls for its use. The primary contribution is the proposed annotation model and procedure and the annotators’ experience report. The dataset and supporting tool are secondary contributions of our study. Notably, our dataset includes open-source projects written in the C# programming language, while almost all manually annotated datasets contain projects written in Java.</p>
Cited by 3Open access
Yuchen Chen, Weisong Sun, Chunrong Fang et al. · ACM Transactions on Software Engineering and Methodology · 2025
Language models for code (CodeLMs) have emerged as powerful tools for code-related tasks, outperforming traditional methods and standard machine learning approaches. However, these models are susceptible to security vulnerabilities, drawing increasing research attention from domains such as software engineering, artificial intelligence, and cybersecurity. Despite the growing body of research focused on the security of CodeLMs, a comprehensive survey in this area remains absent. To address this gap, we systematically review 68 relevant papers, organizing them based on attack and defense strategies. Furthermore, we provide an overview of commonly used language models, datasets, and evaluation metrics, and highlight open-source tools and promising directions for future research in securing CodeLMs.
Cited by 4Open access
Chakroborti, Debasish · Zenodo (CERN European Organization for Nuclear Research) · 2023
Cited by 0Open access
Claus Pahl, Övgüm Can Sezen, Florian Hofer · Electronics · 2026
ingInfrastructure-as-Code (IaC) is a systems management practice that involves managing and provisioning computing infrastructure through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. IaC is an essential contribution to the complete automation of the entire software lifecycle in a Development and Operations (DevOps) context. The deployment and management of software through coded configuration, monitoring, and analysis is the IaC solution. In recent times, artificial intelligence (AI)—including generative AI, machine learning, and related techniques—offers opportunities to improve techniques across the IaC life cycle from IaC code generation to its deployment and runtime analysis. We conducted a comprehensive and systematic literature review for all IaC code development and operations phases, considering IaC as a specific software type that we map to the DevOps model. We present the bibliographic review results and investigate in which phases and how AI can enhance IaC techniques by extracting a framework of phase-specific AI contributions and research challenges, contrasting, in particular, generative AI and machine-learning applications across the phases. Key findings include Large Language Models (LLMs) dominating generation and Machine Learning (ML) dominating analysis activities, also showing that operations phases are less studied than IaC development. This review extends previous literature reviews by covering the full DevOps lifecycle, developing a phase-specific taxonomy of AI techniques for IaC, and aligning a comprehensive analysis of research challenges and directions with those that benefit developers by highlighting current innovations and pointing researchers to future directions.
Cited by 0Open access
Nikola Luburić, Simona Prokić, Katarina-Glorija Grujić et al. · 2022
<div>Code smells are structures in code that indicate the presence of maintainability issues. A significant problem with code smells is their ambiguity. They are challenging to define, and software engineers have a different understanding of what a code smell is and which code suffers from code smells.</div><div>A solution to this problem could be an AI digital assistant that understands code smells and can detect (and perhaps resolve) them. However, it is challenging to develop such an assistant as there are few usable datasets of code smells on which to train and evaluate it. Furthermore, the existing datasets suffer from issues that mostly arise from an unsystematic approach used for their construction.</div><div>Through this work, we address this issue by developing a procedure for the systematic manual annotation of code smells. We use this procedure to build a dataset of code smells. During this process, we refine the procedure and identify recommendations and pitfalls for its use. The primary contribution is the proposed annotation model and procedure and the annotators’ experience report. The dataset and supporting tool are secondary contributions of our study. Notably, our dataset includes open-source projects written in the C# programming language, while almost all manually annotated datasets contain projects written in Java.</div>
Cited by 1Open access
Nakhon Muangboonma, Nattakan Puttarak, Phisan Kaewprapha · 2016 International Conference on Electronics, Information, and Communications (ICEIC) · 2016
The reliability of multicast network where source delivers many frames of data to multiple receivers over a large scale network is degraded by delay of retransmissions after some data frame has been lost. This paper proposes a coding technique applying on network layer to combat this problem by using systematic network code with overheard retransmission technique. Latency of retransmission and throughput will be measured to represent the performance of this algorithm. The results show that this technique can improve reliability and performance of multicast network by decreasing a delay of retransmission for 40-70 % and yet increasing throughput for more than 8-19% compared with a conventional method.
Cited by 0
Davila, Nicole, Nunes, Ingrid · arXiv (Cornell University) · 2021
Modern Code Review (MCR) is a widely known practice of software quality assurance. However, the existing body of knowledge of MCR is currently not understood as a whole. Objective: Our goal is to identify the state of the art on MCR, providing a structured overview and an in-depth analysis of the research done in this field. Method: We performed a systematic literature review, selecting publications from four digital libraries. Results: A total of 139 papers were selected and analyzed in three main categories. Foundational studies are those that analyze existing or collected data from the adoption of MCR. Proposals consist of techniques and tools to support MCR, while evaluations are studies to assess an approach or compare a set of them. Conclusion: The most represented category is foundational studies, mainly aiming to understand the motivations for adopting MCR, its challenges and benefits, and which influence factors lead to which MCR outcomes. The most common types of proposals are code reviewer recommender and support to code checking. Evaluations of MCR-supporting approaches have been done mostly offline, without involving human subjects. Five main research gaps have been identified, which point out directions for future work in the area.
Cited by 0Open access
Matúš Sulír, Michaela Bačíková, Sergej Chodarev et al. · 2021
The ninth IEEE Working Conference on Software Visualization (VISSOFT 2021) builds upon the success of the previous eight editions of VISSOFT, which in turn followed after six editions of the IEEE International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT) and five editions of the ACM Sympo0sium on Software Visualization (SOFTVIS). In 2021, VISSOFT will take place and be co-located with ICSME.
Cited by 0