
Machine learning and data analysis algorithms leverage massive datasets to deliver powerful functionalities. However, these datasets are often distributed across multiple parties and individual users. Decentralized private computing systems enable data consumers to execute algorithms on third-party data in a secure manner, eliminating the need for trust in any single node. Nevertheless, existing systems, primarily derived from blockchain technology, target small-scale workloads. Sharing large-scale datasets presents new challenges. First is data-oriented access control, enabling data providers to enforce flexible access policies throughout the complex utilization of their datasets. Second is high performance, which is essential for data analysis applications involving large-scale datasets and sophisticated computational logic. Third is whole-lifecycle privacy, ensuring comprehensive protection of both data and algorithmic privacy from task initiation through result delivery. To address these challenges, we present DPCapsule, a high-performance decentralized computing system that maintains whole-lifecycle privacy. DPCapsule introduces a novel data abstraction called Capsule, which encapsulates dataset and access policies within a trusted execution environment (TEE)-based shell, enabling data providers to control their datasets throughout subsequent computations. A Capsule reborn mechanism is provided for automated access policy updates. Additionally, we design a two-layer execution architecture and consensus protocol to facilitate private computation with scalable performance. Furthermore, a secure execution protocol is designed to guarantee whole-lifecycle privacy for both dataset, algorithms, and metadata. We have developed a prototype of DPCapsule and conducted evaluations across various configurations, with networks scaling up to 32 nodes. Experimental results show that DPCapsule effectively scales to 32 nodes, achieving 116x and 2.2 * 10(7) x latency speedup for database and machine learning applications, respectively, compared with Ethereum.
Software development is currently under a paradigm shift in which artificial intelligence and generative software reuse are taking the center stage in software creation. Consequently, earlier software reuse practices and methods are rapidly being replaced by AI-assisted approaches in which developers place their trust on code that has been generated by artificial intelligence. This is leading to a new form of software reuse that is conceptually not all that different from cargo cult development. In this short paper we discuss the implications of AI-assisted generative software reuse in the context of emerging "AI native" software engineering, bring forth relevant questions, and define a tentative research agenda and call to action for tackling some of the central issues associated with this approach.
Satellite-based cloud computing cybersecurity threats have long posed significant challenges, particularly for cloud infrastructure operators. While prior research has partially addressed these issues by mitigating threats and enhancing human response efficiency, this paper proposes a novel AI-Driven Threat Analysis and Response (TAR) framework. The study progresses in three main phases: (1) redefining urgent threats through a novel formula; (2) implementing a triage and analysis framework using augmented Large Language Models (LLMs); and (3) automating incident response via a Security Orchestration, Automation, and Response (SOAR) platform. Our prototype, tested in a simulated public cloud environments using real production threats, demonstrated a 17% improvement in handling low- and medium-urgency threats. Experimental results show our approach achieves 97.8% coverage in automatic threat classification, significantly outperforming traditional manual methods, which achieve 77.8% coverage. With high recall and precision in managing low- and medium-urgency threats, our method enhances manual efficiency through SOAR-enabled automation. Furthermore, our augmented method surpasses the state-of-the-art GPT-4 Turbo model in addressing security threats containing Chinese characters.
localization method that has been extensively studied in recent years. The intuition behind MBFL is based on the assumption that mutation operations can correct faults in a program. However, this assumption has only been experimented and validated on simulated datasets, and whether it truly holds in the real world has never been investigated. Fault types in simulated datasets are simple and differ significantly from the complex and diverse faults found in real-world programs. Therefore, to investigate whether MBFL works in the real world, it is necessary to validate its intuition in the real world. The goal of this study is to analyze whether the intuition of MBFL still holds in the real world. We quantified the MBFL intuition by establishing an algorithm, which eliminated the interference of factors unrelated to MBFL itself, allowing us to directly validate the intuition of MBFL. Based on this algorithm, we conducted extensive experiments on both real-world programs and programs in simulated datasets. The results revealed an interesting trend: due to the complexity of faults in real-world programs compared to those in simulated datasets, MBFL's intuition probably cannot hold in the real world. This indicates that MBFL's intuition is difficult to hold in the real world. Consequently, we focused on analyzing the real-world faulty versions and summarized a set of mutation operators that perform better in the real world by studying the types and effects of each mutant, providing guidance for the application of MBFL.
Due to the rapid development of deep neural networks (DNNs), ensuring their quality has become increasingly important. However, the test oracle problem poses an obstacle to DNN testing because of the massive unlabeled data. Metamorphic Testing (MT) has proven effective in alleviating the test oracle problem, and many efforts have been made to improve the cost-effectiveness of MT for DNNs. Some approaches focus on selecting good metamorphic relations (MRs), while others target the selection of suspicious source test cases. Since follow-up test cases are generated by combining source test cases with MRs, selecting effective pairs of source test cases and MRs is also quite essential and beneficial for MT. In this paper, we propose CMPS, a multi-objective black-box approach for metamorphic test case pair selection. Considering both uncertainty and diversity, CMPS aims to select pairs that can detect more unique faults in the model. It evaluates uncertainty based on model outputs and assesses diversity through clustering source test cases. Furthermore, CMPS can adaptively optimize the selection process based on feedback from the execution results of the selected pairs. We conduct extensive experiments on three datasets and five DNN models to evaluate CMPS's performance. The experimental results demonstrate that CMPS significantly outperforms baseline approaches in both failure triggering and fault detection.
Large Language Models (LLMs) have already demonstrated excellent performance in code generation tasks. However, their proficiency varies considerably among different programming languages, performing well in languages like Python, but struggling with languages such as C++ and Java. This discrepancy limits their utility in scenarios requiring multi-language support. Existing methods aimed at enhancing the code generation capabilities of LLMs typically emphasize general performance improvements while overlooking discrepancies between languages, resulting in suboptimal outcomes for less proficient languages. To address this challenge, we propose MetaCoder. Given a task description, MetaCoder first generates code in high-proficiency language, and then summarizes the code. Finally, MetaCoder generates target code using the task description, generated code, and summary. Additionally, MetaCoder detects and corrects syntax errors in the target code. We evaluate MetaCoder on HumanEval-x, and compared with Zero-Shot, the Pass@1 in generating C++ and Java code has improved by up to 13.09% and 16.98%, respectively.
Compiler defects, especially optimization defects, pose significant threats to software systems. Diagnosing their root causes is crucial for efficient debugging and fixing but remains highly challenging due to complicated interactions of optimizations and ambiguity in root cause prediction. To address these challenges, in this paper, we propose a novel approach, which leverages a data-driven approach and the strengths of Large Language Models (LLMs) for automated root cause analysis and prediction. Specifically, we first extract and iteratively summarize the debugging information from historically fixed optimization defects, and ultimately construct a systematic taxonomy with eight root cause categories. Then, based on this taxonomy, we propose SRLRF, which leverages a domain-specific LLM (i.e., RTA) and a general-purpose LLM (i.e., Llama3.1) to achieve multiple root cause categories' prediction. Finally, SRLRF integrates stacking ensemble learning to train the prediction model to improve prediction performance. The experimental results on 5,573 GCC optimization defects show that SRLRF is able to accurately predict the root causes of 63.11 % optimization defects, and significantly outperforms four baselines with the average improvements ranging from 16.98 % to 179.99 %.
Data contamination presents a critical barrier preventing widespread industrial adoption of advanced software engineering techniques that leverage large language models (LLMs). This phenomenon occurs when evaluation data inadvertently overlaps with the public code repositories used to train LLMs, severely undermining the credibility of performance evaluations. Code refactoring, which comprises code restructuring and variable renaming, has emerged as a promising measure to mitigate data contamination. However, the lack of automated code refactoring tools and scientifically validated refactoring techniques has hampered widespread industrial implementation. To bridge the gap, this paper presents the first systematic study to examine the efficacy of code refactoring operators at multiple scales (method-level, class-level, and cross-class level) and in different programming languages. We develop CodeCleaner, including 11 operators for Python in multiple scales and 4 for Java. We elaborate on the rationale for why these operators could work to resolve data contamination and use both data-wise ( e.g., N-gram matching overlap ratio) and model-wise metrics (e.g., perplexity) to quantify the efficacy after operators are applied. A drop of 75% overlap ratio is found when applying all operators in CodeCleaner, demonstrating their effectiveness in addressing data contamination. Besides, we migrate four operators to Java, showing their generalizability to another language. We also observed an average of 19% decrease in LLMs' performance after applying our operators. We make CodeCleaner online available at https://github.com/ArabelaTso/CodeCleaner-v1 to facilitate further studies on mitigating LLM data contamination.
In contemporary Software Engineering (SE), coordinated API calls are necessary to perform complex data retrieval operations as well as tasks. Large Language Models (LLMs) offer highly potential capabilities for natural language parsing and automation of tasks, which sparked research into integrating APIs orchestration with LLMs. Nonetheless, while existing LLM-based frameworks have developed considerably, yet they experience challenges in tackling complex tasks which tend to involve iterative, step-by-step problem-solving. Current frameworks lack structured guidance, relying on LLMs' own capabilities, resulting in blind iterations, inefficient error correction, and inefficient token utilization. This work introduces DesDD (Design-enabled framework with Dual-layer Debugging), a structured framework for LLM-driven iterative API orchestration. By applying software engineering design principles, we organize API orchestration workflows into distinct design and coding phases. Our dual-layer debugging mechanism detects and corrects errors in both phases, making the orchestration process more reliable and efficient. DesDD provides a structured design-first, then-code pathway, enabling LLMs to solve tasks iteratively through a well-defined, stepwise approach that systematically guide each problem-solving stage. The built-in dual-layer debugging component provides hierarchical error detection in both the design and coding aspects, allowing targeted corrections. Through comprehensive testing, we found that DesDD performs better than existing frameworks in orchestration efficiency and accuracy while using significantly fewer tokens. DesDD offers an effective LLM-based solution for API orchestration in complex tasks, e.g., chemical continuous flow process control. Its use of SE design principles ensures wide applicability, making it a promising approach for LLM-driven automated task resolution across diverse scenarios.
The semantic connection between code and queries is crucial for code retrieval, but many human-written queries fail to accurately capture the code's core intent, leading to ambiguity. This ambiguity complicates the code search process, as the queries do not provide a clear overview of the code's purpose. Our analysis reveals that while ambiguous queries may not precisely summarize the intent of the code, they often share the same general topics as the corresponding code. In light of this discovery, we propose Code Retrieval with Mixture of Experts Prototype Learning Based on Classification (CRME), a novel approach that combines classification for prototype-based representation learning and result ensembling. CRME utilizes specialized pre-trained models focused on the specific domains of ambiguous queries. It consists of two key components: Multiple Classification Prototype and Representation Learning with a Prototype-based Multi-model Contrastive (PMC) Loss during training, and Multi-Prototype Mixture of Experts Integration (MP-MoE) module for fine-grained ensemble inference. Our method can effectively address the issue of query ambiguity and improves search precision. Experimental results on the CodeSearchNet dataset, covering six sub-datasets, show that CRME outperforms existing methods, achieving an average MRR score of 81.4%. When applied to pre-trained models like CodeBERT, GraphCodeBERT, UniXcoder and CodeT5+, CRME can effectively boosts their performances.
Python programming language has witnessed a steady increase in popularity over the past few decades. Renowned for its conciseness and readability, as well as its ease of learning and use, Python is widespread adoption has inevitably exposed it to a higher likelihood of encountering issues. Given that numerous code modifications exhibit repetitive and analogous patterns, an extensive examination of Python code-fixing patterns becomes imperative. Among these patterns, security-related issues hold significant importance due to their heightened risks and potential for substantial impact. Consequently, conducting research on security-related matters assumes utmost significance. In this paper, we conduct a thorough investigation to gain insights into the security issues prevalent in Python programs. Our approach involves collecting 413 popular open-source Python projects from GitHub and identifying 9,782 bug reports related to security concerns and their corresponding bug fixes. We employ automated clustering and manual summarization techniques, ultimately classifying them into 12 distinct categories, with six categories being of notable prevalence. We analyze the bug reports and commits within each high-frequency category, examining aspects such as severity, root causes, and employed fixing patterns. Leveraging the empirical findings, we discuss the broader implications drawn from the study and offer guidance to software developers, facilitating proactive avoidance of such issues in their projects.
Vulnerabilities have become one of the most serious threats to software. In order to mitigate the impact of software vulnerabilities, researchers have continuously proposed vulnerability detection approaches. Although these investigations have achieved significant success, there is still room for improvement. Traditional approaches rely on code sequences or code graphs to extract the general characteristics of code, containing excessive information that is irrelevant to vulnerabilities. Meanwhile, traditional single-model approaches are hard to handle the multiangle vulnerability information, lacking the ability to effectively detect vulnerabilities. To address the above two problems, we proposed a new vulnerability detection approach, i.e., VDLS. It first selects the execution paths with the related entities of vulnerabilities from the constructed Control Flow Graph (CFG) of the source code. Then, it combines the code sequence and the execution paths as the intermediate representation, which can capture the features of the source code from the perspectives of structures and semantics. Next, we employ a dual model (TextCNN and Transformer) to learn the local and global features based on the intermediate representation. Finally, we design a fusion method to separately fuse the weights of local and global features, aiming to achieve more accurate vulnerability detection results. To evaluate VDLS, we conducted experiments on two widely used public datasets, including FFMPeg+Qemu and Reveal. The experimental results show that VDLS achieves 0.76% similar to 15.97%, 3.07% similar to 53.61% improvement on the FFMPeg + Qemu dataset and 0.61% similar to 8.46%, 2.55% similar to 39.13% improvement on the Reveal dataset compared to eleven state-of-the-art vulnerability detection approaches in terms of accuracy and F1 score, respectively.
Addressing the issues of privacy leakage, key escrow, and low computational efficiency in cross-domain authentication for Vehicle-to-Grid (V2G), this paper proposes a dynamic anonymous authentication protocol based on the certificateless cryptographic system. Through the design of a hierarchical key architecture, the device manufacturer's master key is fragmented and stored in regional nodes. By combining dynamic pseudonyms with a dual temporary identity mechanism, cross-domain identity anonymization is achieved, ensuring user identity privacy during cross-regional movement. The scheme employs threshold secret sharing technology to eliminate single-point trust dependence and optimizes the signature process based on lightweight cryptographic primitives, ensuring the efficiency and low resource consumption of the authentication process, making it suitable for resource-constrained vehicular networks. Experiments show that, compared to existing schemes, this protocol has less signature verification time and lower communication overhead, while also being able to resist man-in-the-middle attacks, cross-domain replay attacks, and pseudonym correlation analysis, among other privacy threats.
As deep neural networks (DNN) continue to scale up in size to achieve greater capabilities, distributed training (DT) has become the prevailing approach to accelerate the training process. Through measurements and analysis of network communication overheads in DT scenarios within traditional Ethernet-based data centers, we observe that the Linux kernel network stack accounts for 30% to 40% of the total communication time, posing a significant bottleneck to training efficiency. As deep neural networks (DNN) continue to scale up in size to achieve greater capabilities, distributed training (DT) has become the prevailing approach to accelerate the training process. However, according to our observation on the network communication overheads in DT within Ethernet, the Linux kernel network stack accounts for 30% to 40% of the total communication time, posing a significant bottleneck to training efficiency. To mitigate the overhead introduced by the kernel network stack, we propose eRAR, an eBPF-based gradient aggregation over RingAR for DT tasks in traditional Ethernet-based data centers. eRAR offloads gradient aggregation to kernel using eBPF and avoids the overhead of network stack. eRAR has the advantages of hardware-agnostic, network-topology-independent, and resource-efficient. Our experimental results on four popular DNN models demonstrate that, compared to traditional TCP-based aggregation, eRAR improves the gradient aggregation throughput by 77.2%. Furthermore, eRAR reduces the communication time by up to 37.4% compared to existing systems. To mitigate the overhead introduced by the kernel network stack, we propose eRAR, an eBPF-based gradient aggregation over Ring-AR for DT tasks in commodity data centers. eRAR exploits Ring-AR's topology for in-kernel gradient aggregation using eBPF, enabling packet-level parallelism and avoiding the overhead of network stack. It ensures reliability through ring-based retransmission and accelerates computations via SIMD-enabled kfuncs. eRAR has the advantages of hardware-agnostic, network-topology-independent, and resource-efficient. Our experimental results on four popular DNN models demonstrate that, compared to aggregation based on TCP/IP network stack, eRAR improves the gradient aggregation throughput by 77.2%. Furthermore, eRAR reduces the communication time by up to 37.4% compared to existing systems.
Session Lingering Vulnerability (SLV) is an often overlooked authentication flaw that allows sessions to persist after authentication-sensitive operations. Despite its widespread occurrence and severe impact, SLVs have received little attention. To address this gap, we present the first comprehensive study of SLV in Web applications, introducing a novel detection tool called SLVHound. Our approach employs static analysis of both code and SQL queries to identify authentication-sensitive operations and session expiration. SLVHound then detects SLVs by verifying whether authenticationsensitive operations are consistently followed by session expiration. We evaluated SLVHound on 15 popular Web applications, uncovering 46 potential vulnerabilities. Further analysis confirmed 44 of them as true SLVs, including 30 previously unreported vulnerabilities, with 16 CVE IDs granted.
Microservices are a popular software architectural style that decomposes a large application into smaller services. These microservices integrate at runtime to deliver business value to the users. With an increasing number of microservices, software projects become more difficult to manage. Specifically, maintaining consistent and up-to-date documentation becomes a challenge that can significantly affect the integration efforts in such projects. In this article, we present MSAdoc, an open source tool that helps to prevent documentation from going out-of-date quickly. The tool (1) enables decentralized documentation close to the source code of each microservice and those who have to document it, (2) aggregates documentation centrally across individual microservices to make the documentation accessible in one place and generate higher-order documentation, while (3) supporting technological heterogeneity by relying on the technology-agnostic JSON format. Using a tool like MSAdoc that implements several best practices, practitioners can accommodate the decentralized nature of microservice-based projects and alleviate the problem of maintaining central documentation that quickly becomes outdated.
In code virtualization deobfuscation, extracting virtual instructions is a crucial first step for reverse-engineering programs protected by virtual machine obfuscation. This process is essential for uncovering concealed malicious code, yet existing methods face significant limitations, such as the inability to resolve virtual branch jumps and support multi-version of specified obfuscators, severely hindering their effectiveness. To address these challenges, we introduce a novel method for virtual instruction extraction based on dynamic binary instrumentation and symbolic execution. We implement this method in Devmp, a prototype system designed to extract virtual instructions and facilitate virtualization deobfuscation. Devmp dynamically generates instruction traces through binary instrumentation and performs offline analysis to partition handler sets based on virtual machine structures and jump rules. Then it employs symbolic execution to derive state expressions for semantic analysis of handlers and extracts virtual instructions with complete semantics. We evaluate Devmp on eight test programs protected by two versions of VMProtect. Experimental results demonstrate that Devmp outperforms state-of-the-art tools like VMP Analysis Plugin and NoVmpy, achieving a 28.49% increase in virtual instruction recognition rate by optimized virtual branch processing and accurately analyzing all extracted virtual instructions through enhanced cross-version applicability. These results indicate that Devmp not only improves the accuracy and completeness of virtual instruction extraction but also provides a robust and versatile solution for analyzing programs obfuscated by commercial code virtualization obfuscators.
In software development, requirements analysis plays a crucial role in the success of the project. Problem Frames (PF), a mainstream requirements analysis methodology, utilizes problem diagrams (PD) through modeling for more precise, coherent, and verifiable requirements analysis. However, the current problem diagram as a PF visualization tool is rather abstract and often suffers from node overlap and edge crossover, and such 2D diagrams limit the visualization and understanding of software requirements. In this paper, we present XR4PD, a novel prototype implementation for visualizing software requirement problem diagrams in 3D space using augmented reality. This immersive approach visualizes the structure of the scenarios implemented by the software system through interaction with the environment, and integrates domain-specific entity models with the interactive capabilities of refined problem diagrams, aiming to facilitate the understanding and analysis of software requirements. Feedback from the conducted assessment was positive.
Consortium decentralized systems, also known as consortium systems, enable consensus and availability among limited untrusted participants. Given the growing necessity for inter-organizational data sharing, consortium systems have gained significant prominence in cross-enterprise collaboration. File systems, which play a fundamental role in data sharing, face new challenges within consortium systems. The consortium system involves characteristics of both decentralized and centralized systems. The first requirement is decentralization. The system's functionality, availability, and security must not depend on any individual node. The second requirement is characteristic-awareness, which necessitates optimal data placement across nodes based on policy constraints, performance requirements, and security considerations. The third requirement is high performance and flexible access control. Neither centralized nor existing decentralized file systems can satisfy all three requirements. This paper presents DeFS, a novel decentralized file system designed for consortium systems. DeFS implements a two-layer architecture that incorporates public nodes into the consortium system, thereby enhancing decentralization. Additionally, we propose a Multi-Ring Distributed Hash Table (MR-DHT) protocol to facilitate characteristic-aware data block distribution. To optimize data routing efficiency, we introduce the Location Cache (L-Cache) mechanism. We have implemented a DeFS prototype and conducted comprehensive performance evaluations across three distinct network configurations, with the largest one having over 1,500 nodes. Results show that DeFS successfully achieves characteristic-aware data placement while delivering 10.32X lower latency compared to IPFS on average.
In this paper, we introduce Def-VAE, a novel adversarial defense framework based on modeling real-world data distributions with Variational Autoencoders (VAEs), which can effectively defend image classifiers against adversarial attacks. Unlike traditional adversarial training methods that need to retrain the classifier, our approach does not rely on exposure to any adversarial examples during training, nor is it constrained to defend against specific models or attack algorithms. By leveraging the VAE's capability to learn the underlying distribution of clean data, we create a robust latent representation that can identify anomalous characteristics of adversarial inputs and figure out the original classifications. Experimental results demonstrate that Def-VAE achieves high defense success rates against diverse adversarial attacks for various datasets, showing the model and attack-agnostic resilience.