Mengting Yuan
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Research Subjects
Mengting Yuan has a total of 69 co-authors. Here are the top co-authors by number of shared publications:
- Qingan Li
Wuhan University, Wuhan, China
7 shared publications - Haihang You
Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China
5 shared publications - Chun Jason Xue
Mohamed bin Zayed University of Artificial Intelligence
3 shared publications - Jingling Xue
University of New South Wales
3 shared publications - Gang Hu
School of Information Science & Engineering, Yunnan University, China
2 shared publications Guoqing Wu
2 shared publications
Latest Publications
- Open Access
BMA: A Probabilistic Sampling Framework for Accelerated BVH Traversal in Real-Time Ray Tracing
Ray tracing is a fundamental technique in computer graphics that requires highly efficient algorithms to achieve real-time rendering performance. A key bottleneck in this process is the traversal of Bounding Volume Hierarchies (BVHs). This paper introduces BMA (BMH Mapping Algorithm), where BMH stands for a Bounding-Volume Mapping Heuristic. BMA is a sampling-based algorithm designed to accelerate BVH traversal by leveraging probabilistic relationships between rays and BVH nodes. Through a convolution-like operation, the algorithm estimates traversal probabilities, enabling rays to bypass redundant or low-probability nodes. Experimental results demonstrate a significant acceleration in BVH traversal performance, with up to a 150% improvement on test scenes from the McGuire Computer Graphics Archive. The method maintains high visual fidelity, achieving PSNR values above 35 and SSIM values above 0.9. BMA is also compatible with existing acceleration and optimization techniques, making it a practical addition to real-time ray tracing pipelines.
Open AccessBMA: A Probabilistic Sampling Framework for Accelerated BVH Traversal in Real-Time Ray Tracing
Ray tracing is a fundamental technique in computer graphics that requires highly efficient algorithms to achieve real-time rendering performance. A key bottleneck in this process is the traversal of Bounding Volume Hierarchies (BVHs). This paper introduces BMA (BMH Mapping Algorithm), where BMH stands for a Bounding-Volume Mapping Heuristic. BMA is a sampling-based algorithm designed to accelerate BVH traversal by leveraging probabilistic relationships between rays and BVH nodes. Through a convolution-like operation, the algorithm estimates traversal probabilities, enabling rays to bypass redundant or low-probability nodes. Experimental results demonstrate a significant acceleration in BVH traversal performance, with up to a 150% improvement on test scenes from the McGuire Computer Graphics Archive. The method maintains high visual fidelity, achieving PSNR values above 35 and SSIM values above 0.9. BMA is also compatible with existing acceleration and optimization techniques, making it a practical addition to real-time ray tracing pipelines.
- Open Access
- 11 May 2026
- Published by MDPI AG in Algorithms
- Vol. 19 (5) , 377
Exact Pattern-Aware Extraction for Equality Saturation via Bounded-Depth Tree Covering
Equality saturation explores equivalent program expressions via e-graphs, and its extraction step selects one representative per equivalence class to form an output tree. Standard extraction minimizes a decomposable per-node cost function that cannot capture multi-node structural patterns arising in SMT preprocessing and compiler instruction selection. We formalize pattern-aware extraction as a weighted pattern cover problem on AND-OR DAGs and establish its correspondence to tree covering in instruction selection. Three challenges arise when migrating tree covering to e-graphs: annotation ambiguity from multiple candidates per class, context-dependent selection from depth-2 templates, and DAG sharing conflict. We show that the coupled selection–tiling problem reduces to a tree DP with three mutually exclusive tile-role states, generalizing BURS tree covering from fixed trees to AND-OR DAGs. A bottom-up pass computes optimal DP values, and a top-down pass traces back decisions to produce the output tree. For template depth at most two, the algorithm computes an exact optimum in time. The evaluation targets extraction-level coverage, since end-to-end performance additionally depends on rewrite-rule design and saturation completeness. On SMT-COMP benchmarks, the algorithm achieves up to higher weighted pattern coverage than standard extraction. Depth-2 tiling contributes 45–51% additional improvement, with overhead within of standard extraction.- 11 May 2026
- Published by MDPI AG in Algorithms
- Vol. 19 (5) , 377
Open AccessExact Pattern-Aware Extraction for Equality Saturation via Bounded-Depth Tree Covering
Equality saturation explores equivalent program expressions via e-graphs, and its extraction step selects one representative per equivalence class to form an output tree. Standard extraction minimizes a decomposable per-node cost function that cannot capture multi-node structural patterns arising in SMT preprocessing and compiler instruction selection. We formalize pattern-aware extraction as a weighted pattern cover problem on AND-OR DAGs and establish its correspondence to tree covering in instruction selection. Three challenges arise when migrating tree covering to e-graphs: annotation ambiguity from multiple candidates per class, context-dependent selection from depth-2 templates, and DAG sharing conflict. We show that the coupled selection–tiling problem reduces to a tree DP with three mutually exclusive tile-role states, generalizing BURS tree covering from fixed trees to AND-OR DAGs. A bottom-up pass computes optimal DP values, and a top-down pass traces back decisions to produce the output tree. For template depth at most two, the algorithm computes an exact optimum in time. The evaluation targets extraction-level coverage, since end-to-end performance additionally depends on rewrite-rule design and saturation completeness. On SMT-COMP benchmarks, the algorithm achieves up to higher weighted pattern coverage than standard extraction. Depth-2 tiling contributes 45–51% additional improvement, with overhead within of standard extraction. - Open Access
- 10 April 2026
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Programming Languages
- Vol. 10 (OOPSLA1) , 513-539
CMakeSonar: A Static Approach to Detecting CMake Bugs with a Fine-Grained Type System
As build systems and their scripts grow in size and complexity, detecting bugs in build configurations becomes increasingly challenging due to the rich functionality and weak typing of build scripting languages. This paper introduces CMakeSonar, the first static approach to precisely identifying semantic bugs in CMake scripts. CMakeSonar addresses this challenge by (1) designing a fine-grained type system that captures the runtime semantics of CMake values, and (2) performing a flow-sensitive analysis that detects inconsistent and ill-typed value usages by solving type constraints. Our approach identifies configuration and usage errors that can silently affect build correctness, portability, and deployment safety. In our evaluation, CMakeSonar identifies 155 bugs across 36 real-world CMake projects on GitHub, of which 23 have been accepted and fixed by developers. With a false positive rate of 4.32% and a recall of 97.48%, CMakeSonar demonstrates that precise static analysis can effectively uncover high-impact bugs in untyped build systems.
- 10 April 2026
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Programming Languages
- Vol. 10 (OOPSLA1) , 513-539
Open AccessCMakeSonar: A Static Approach to Detecting CMake Bugs with a Fine-Grained Type System
As build systems and their scripts grow in size and complexity, detecting bugs in build configurations becomes increasingly challenging due to the rich functionality and weak typing of build scripting languages. This paper introduces CMakeSonar, the first static approach to precisely identifying semantic bugs in CMake scripts. CMakeSonar addresses this challenge by (1) designing a fine-grained type system that captures the runtime semantics of CMake values, and (2) performing a flow-sensitive analysis that detects inconsistent and ill-typed value usages by solving type constraints. Our approach identifies configuration and usage errors that can silently affect build correctness, portability, and deployment safety. In our evaluation, CMakeSonar identifies 155 bugs across 36 real-world CMake projects on GitHub, of which 23 have been accepted and fixed by developers. With a false positive rate of 4.32% and a recall of 97.48%, CMakeSonar demonstrates that precise static analysis can effectively uncover high-impact bugs in untyped build systems.
- Open Access
- 9 April 2026
- Published by MDPI AG in Preprints.org
Exact Pattern-Aware Extraction for Equality Saturation via Bounded-Depth Tree Covering
Equality saturation explores equivalent program expressions via e-graphs, and its final step—extraction—selects one representative per equivalence class to form an output tree. Standard extraction minimizes a decomposable, single-node cost function that cannot capture multi-node structural patterns exploited by downstream systems such as SMT preprocessors and compiler backends. We formalize pattern-aware extraction as a weighted pattern cover problem on AND-OR directed acyclic graphs and establish its correspondence to tree covering in compiler instruction selection. Three challenges arise: annotation ambiguity from multiple candidates per class, context-dependent selection from depth-2 templates, and DAG sharing conflict. We show that the coupled selection-tiling problem reduces to a tree DP with three mutually exclusive tile-role states—independent, tile-root, and tile-leaf—generalizing BURS tree covering from fixed trees to AND-OR DAGs. A bottom-up pass computes optimal DP values; a top-down pass traces back decisions to produce the output tree. For template depth at most two, the algorithm computes an exact optimum in \( O(N \cdot K \cdot |\mathcal{P}| \cdot C_{\max}) \) time. Experiments on SMT-COMP hardware verification benchmarks show up 31× higher weighted pattern coverage than standard extraction, with depth-2 tiling contributing 45–51% additional improvement and overhead remaining within 2–3×, demonstrating exact, context-sensitive extraction at practical cost.- 9 April 2026
- Published by MDPI AG in Preprints.org
Open AccessExact Pattern-Aware Extraction for Equality Saturation via Bounded-Depth Tree Covering
Equality saturation explores equivalent program expressions via e-graphs, and its final step—extraction—selects one representative per equivalence class to form an output tree. Standard extraction minimizes a decomposable, single-node cost function that cannot capture multi-node structural patterns exploited by downstream systems such as SMT preprocessors and compiler backends. We formalize pattern-aware extraction as a weighted pattern cover problem on AND-OR directed acyclic graphs and establish its correspondence to tree covering in compiler instruction selection. Three challenges arise: annotation ambiguity from multiple candidates per class, context-dependent selection from depth-2 templates, and DAG sharing conflict. We show that the coupled selection-tiling problem reduces to a tree DP with three mutually exclusive tile-role states—independent, tile-root, and tile-leaf—generalizing BURS tree covering from fixed trees to AND-OR DAGs. A bottom-up pass computes optimal DP values; a top-down pass traces back decisions to produce the output tree. For template depth at most two, the algorithm computes an exact optimum in \( O(N \cdot K \cdot |\mathcal{P}| \cdot C_{\max}) \) time. Experiments on SMT-COMP hardware verification benchmarks show up 31× higher weighted pattern coverage than standard extraction, with depth-2 tiling contributing 45–51% additional improvement and overhead remaining within 2–3×, demonstrating exact, context-sensitive extraction at practical cost. - Open Access
- 16 December 2025
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Architecture and Code Optimization
- Vol. 22 (4) , 1-23
Lightweight Code Outlining for Android Applications
Android employs Ahead-of-Time (AOT) pre-compilation to enhance application launch speed and runtime performance. However, these generated OAT files over-consume the scarce memory and storage resources on mobile devices, leading to degraded user experience. Our analysis of several Android applications reveals an average code redundancy of 25.4%. To reduce the code size via redundancy elimination, we propose Calibro , a C ompilation- a ssisted li nk-time b ina r y code o utlining method. However, it will incur high build overhead, so we introduce several optimizations to better suit resource-limited mobile devices. Besides, we also propose optional filtering strategies to further meet performance requirements. Experimental results show that, under common scenarios, our method reduces the OAT file code size by 19.6% and the runtime memory usage by 15.4% on average, with negligible runtime performance degradation in terms of user experience and tolerable build overhead. Therefore, the proposed method shows promise for industrial deployment on real-world Android mobile devices.
- 16 December 2025
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Architecture and Code Optimization
- Vol. 22 (4) , 1-23
Open AccessLightweight Code Outlining for Android Applications
Android employs Ahead-of-Time (AOT) pre-compilation to enhance application launch speed and runtime performance. However, these generated OAT files over-consume the scarce memory and storage resources on mobile devices, leading to degraded user experience. Our analysis of several Android applications reveals an average code redundancy of 25.4%. To reduce the code size via redundancy elimination, we propose Calibro , a C ompilation- a ssisted li nk-time b ina r y code o utlining method. However, it will incur high build overhead, so we introduce several optimizations to better suit resource-limited mobile devices. Besides, we also propose optional filtering strategies to further meet performance requirements. Experimental results show that, under common scenarios, our method reduces the OAT file code size by 19.6% and the runtime memory usage by 15.4% on average, with negligible runtime performance degradation in terms of user experience and tolerable build overhead. Therefore, the proposed method shows promise for industrial deployment on real-world Android mobile devices.
- Open Access
- 13 October 2025
- Published by Springer Nature in Neural Processing Letters
- Vol. 57 (6) , 86
Accelerating graph substitutions in DNN optimization by heuristic algorithms
Graph substitution is a key optimization technique used in deep learning frameworks. Traditional search-based methods are one way to address the problem of graph substitution. However, with the ongoing expansion of deep neural networks (DNNs), the exploration of their vast equivalent graph search space becomes increasingly time-consuming. In this paper, we propose two heuristic methods to accelerate the search process in graph substitution, offering a relatively novel direction compared to existing methods. The first method employs a Memory-Augmented heuristic to optimize computation graphs. To further enhance the efficiency of computation graph optimization, the second method uses the simulated annealing method. This method adds computation graphs with degraded performance into the candidate set with a certain probability. The experimental results show that without significant compromise of inference performance, these two methods can find graph substitutions delivering similar DNN computing performance compared to existing searching methods, while the overall searching time can be reduced from hours to seconds. The source code is available at https://github.com/hudevictor/MAS-SAS .
- 13 October 2025
- Published by Springer Nature in Neural Processing Letters
- Vol. 57 (6) , 86
Open AccessAccelerating graph substitutions in DNN optimization by heuristic algorithms
Graph substitution is a key optimization technique used in deep learning frameworks. Traditional search-based methods are one way to address the problem of graph substitution. However, with the ongoing expansion of deep neural networks (DNNs), the exploration of their vast equivalent graph search space becomes increasingly time-consuming. In this paper, we propose two heuristic methods to accelerate the search process in graph substitution, offering a relatively novel direction compared to existing methods. The first method employs a Memory-Augmented heuristic to optimize computation graphs. To further enhance the efficiency of computation graph optimization, the second method uses the simulated annealing method. This method adds computation graphs with degraded performance into the candidate set with a certain probability. The experimental results show that without significant compromise of inference performance, these two methods can find graph substitutions delivering similar DNN computing performance compared to existing searching methods, while the overall searching time can be reduced from hours to seconds. The source code is available at https://github.com/hudevictor/MAS-SAS .
- Open Access
- 1 March 2025
- Published by Association for Computing Machinery (ACM)
- p. 150-162
Calibro: Compilation-Assisted Linking-Time Binary Code Outlining for Code Size Reduction in Android Applications
Recent Android systems have employed pre-compilation technology to boost app launch speed and runtime performance. However, this generates large OAT files that over-consume scarce memory and storage resources in mobile devices. This paper conducts an evaluation of code redundancy in popular production android applications and observes that the code redundancy is up to 25%. To reduce the code size via redundancy elimination, this paper proposes Calibro, a compilation-assisted linking-time binary code outlining method. Calibro consists of two parts, the Compilation-Time code Outlining (CTO) and the Linking-Time Binary code Outlining (LTBO) with information collected at compilation- time. Additionally, a paralleled suffix tree method is proposed to reduce the building time overhead, and a hot function filtering method is proposed to effectively mitigate run-time performance degradation caused by code outlining. Experimental results show that compared to the baseline (the original AOSP version with all available code size optimization enabled), the proposed approach reduces code size in Android applications by more than 15.19% on average, with negligible runtime performance degradation and tolerable building time overhead. Hence the proposed code outlining approach is promising for production deployment.
- 1 March 2025
- Published by Association for Computing Machinery (ACM)
- p. 150-162
Open AccessCalibro: Compilation-Assisted Linking-Time Binary Code Outlining for Code Size Reduction in Android Applications
Recent Android systems have employed pre-compilation technology to boost app launch speed and runtime performance. However, this generates large OAT files that over-consume scarce memory and storage resources in mobile devices. This paper conducts an evaluation of code redundancy in popular production android applications and observes that the code redundancy is up to 25%. To reduce the code size via redundancy elimination, this paper proposes Calibro, a compilation-assisted linking-time binary code outlining method. Calibro consists of two parts, the Compilation-Time code Outlining (CTO) and the Linking-Time Binary code Outlining (LTBO) with information collected at compilation- time. Additionally, a paralleled suffix tree method is proposed to reduce the building time overhead, and a hot function filtering method is proposed to effectively mitigate run-time performance degradation caused by code outlining. Experimental results show that compared to the baseline (the original AOSP version with all available code size optimization enabled), the proposed approach reduces code size in Android applications by more than 15.19% on average, with negligible runtime performance degradation and tolerable building time overhead. Hence the proposed code outlining approach is promising for production deployment.
- Open Access
- 24 October 2024
- Published by Association for Computing Machinery (ACM)
- p. 1-12
Unsupervised and Supervised Co-learning for Comment-based Codebase Refining and its Application in Code Search
Background: Code pre-training and large language models are heavily dependent on data quality. These models require a vast, high-quality corpus matching text descriptions with codes to establish semantic correlations between natural and programming languages. Unlike NLP tasks, code comment heavily relies on specialized programming knowledge and is often limited in quantity and variety. Thus, most widely available open-source datasets are established with compromise and noise from platforms, such as StackOverflow, where code snippets are often incomplete. This may lead to significant errors when deploying the trained models in real-world applications. Aims: Comments as a substitute for queries are used to build code search datasets from GitHub. While comments describe code functionality and details, they often contain noise and differ from queries. Thus, our research focuses on improving the syntactic and semantic quality of code comments. Method: We propose a comment-based data refinement framework CoCoRF 1 via an unsupervised and supervised co-learning technique. It applies manually defined rules for syntax filtering and constructs a bootstrap query corpus via the WTFF algorithm for training the TVAE model for further semantic filtering. Results: Our study shows that CoCoRF achieves high efficiency with less computational resource, and outperforms comparison models in DeepCS code search task. Conclusions: Our findings indicate that the CoCoRF framework significantly improves the performance of code search tasks by enhancing the quality of code datasets.
- 24 October 2024
- Published by Association for Computing Machinery (ACM)
- p. 1-12
Open AccessUnsupervised and Supervised Co-learning for Comment-based Codebase Refining and its Application in Code Search
Background: Code pre-training and large language models are heavily dependent on data quality. These models require a vast, high-quality corpus matching text descriptions with codes to establish semantic correlations between natural and programming languages. Unlike NLP tasks, code comment heavily relies on specialized programming knowledge and is often limited in quantity and variety. Thus, most widely available open-source datasets are established with compromise and noise from platforms, such as StackOverflow, where code snippets are often incomplete. This may lead to significant errors when deploying the trained models in real-world applications. Aims: Comments as a substitute for queries are used to build code search datasets from GitHub. While comments describe code functionality and details, they often contain noise and differ from queries. Thus, our research focuses on improving the syntactic and semantic quality of code comments. Method: We propose a comment-based data refinement framework CoCoRF 1 via an unsupervised and supervised co-learning technique. It applies manually defined rules for syntax filtering and constructs a bootstrap query corpus via the WTFF algorithm for training the TVAE model for further semantic filtering. Results: Our study shows that CoCoRF achieves high efficiency with less computational resource, and outperforms comparison models in DeepCS code search task. Conclusions: Our findings indicate that the CoCoRF framework significantly improves the performance of code search tasks by enhancing the quality of code datasets.
- 20 August 2024
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 50 (10) , 2583-2601
iTCRL: Causal-Intervention-Based Trace Contrastive Representation Learning for Microservice Systems
Nowadays, microservice architecture has become mainstream way of cloud applications delivery. Distributed tracing is crucial to preserve the observability of microservice systems. However, existing trace representation approaches only concentrate on operations, relationships and metrics related to service invocations. They ignore service events that denotes meaningful, singular point in time during the service’s duration. In this paper, we propose iTCRL, a novel trace contrastive representation learning approach based on causal intervention. This approach first constructs a unified graph representation for each trace to describe the runtime status of service events in traces and the complex relationships between them. Then, Causal-intervention-based Trace Contrastive Learning is proposed, which learns trace representations from causal perspective based on the unified graph representations of traces. It uses causal intervention to generate contrastive views, heterogeneous graph neural network-based trace encoder to learn trace representations, and direct causal effect to guide the training of trace encoder. Experimental results on three datasets show that iTCRL outperforms all baselines in terms of trace classification, trace anomaly detection, trace sampling and noise robustness, and also validate the contribution of Causal-intervention-based Trace Contrastive Learning.
- 20 August 2024
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 50 (10) , 2583-2601
iTCRL: Causal-Intervention-Based Trace Contrastive Representation Learning for Microservice Systems
Nowadays, microservice architecture has become mainstream way of cloud applications delivery. Distributed tracing is crucial to preserve the observability of microservice systems. However, existing trace representation approaches only concentrate on operations, relationships and metrics related to service invocations. They ignore service events that denotes meaningful, singular point in time during the service’s duration. In this paper, we propose iTCRL, a novel trace contrastive representation learning approach based on causal intervention. This approach first constructs a unified graph representation for each trace to describe the runtime status of service events in traces and the complex relationships between them. Then, Causal-intervention-based Trace Contrastive Learning is proposed, which learns trace representations from causal perspective based on the unified graph representations of traces. It uses causal intervention to generate contrastive views, heterogeneous graph neural network-based trace encoder to learn trace representations, and direct causal effect to guide the training of trace encoder. Experimental results on three datasets show that iTCRL outperforms all baselines in terms of trace classification, trace anomaly detection, trace sampling and noise robustness, and also validate the contribution of Causal-intervention-based Trace Contrastive Learning.
- Open Access
- 30 November 2023
- Published by Association for Computing Machinery (ACM)
- p. 720-732
Statistical Type Inference for Incomplete Programs
We propose a novel two-stage approach, Stir, for inferring types in incomplete programs that may be ill-formed, where whole-program syntactic analysis often fails. In the first stage, Stir predicts a type tag for each token by using neural networks, and consequently, infers all the simple types in the program. In the second stage, Stir refines the complex types for the tokens with predicted complex type tags. Unlike existing machine-learning-based approaches, which solve type inference as a classification problem, Stir reduces it to a sequence-to-graph parsing problem. According to our experimental results, Stir achieves an accuracy of 97.37 % for simple types. By representing complex types as directed graphs (type graphs), Stir achieves a type similarity score of 77.36 % and 59.61 % for complex types and zero-shot complex types, respectively.
- 30 November 2023
- Published by Association for Computing Machinery (ACM)
- p. 720-732
Open AccessStatistical Type Inference for Incomplete Programs
We propose a novel two-stage approach, Stir, for inferring types in incomplete programs that may be ill-formed, where whole-program syntactic analysis often fails. In the first stage, Stir predicts a type tag for each token by using neural networks, and consequently, infers all the simple types in the program. In the second stage, Stir refines the complex types for the tokens with predicted complex type tags. Unlike existing machine-learning-based approaches, which solve type inference as a classification problem, Stir reduces it to a sequence-to-graph parsing problem. According to our experimental results, Stir achieves an accuracy of 97.37 % for simple types. By representing complex types as directed graphs (type graphs), Stir achieves a type similarity score of 77.36 % and 59.61 % for complex types and zero-shot complex types, respectively.