Transcode: Detecting Status Code Mapping Errors in Large-Scale Systems
Wensheng Tang, Yikun Hu, Gang Fan, Peisen Yao, Rongxin Wu, Guangyuan Bai, Pengcheng Wang, Charles Zhang
摘要
Status code mappings reveal state shifts of a program, mapping one status code to another. Due to careless programming or the lack of the system-wide knowledge of a whole program, developers can make incorrect mappings. Such errors are widely spread across modern software, some of which have even become critical vulnerabilities. Unfortunately, existing solutions merely focus on single status code values, while never considering the relationships, that is, mappings, among them. Therefore, it is imperative to propose an effective method to detect status code mapping errors. In this paper, we propose TRANSCODE to detect potential status code mapping errors. It firstly conducts value flow analysis to efficiently and precisely collect candidate status code values, that is, the integer values, which are checked by following conditional comparisons. Then, it aggregates the correlated status codes according to whether they are propagated with the same variable. Finally, TRANSCODE extracts mappings based on control dependencies and reports the mapping error if one status code is mapped to two others of the same kind. We have implemented TRANSCODE as a prototype system, and evaluated it with 5 real-world software projects, each of which possesses in the order of a million lines of code. The experimental results show that TRANSCODE is capable of handling large-scale systems in both a precise and efficient manner. Furthermore, it has discovered 59 new errors in the tested projects, among which 13 have been fixed by the community. We also deploy TRANSCODE in WeChat, a widely-used instant messaging service, and have succeeded in finding real mapping errors in the industrial settings.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper3
- Automatically Detecting Error Handling Bugs Using Error SpecificationsSuman Jana, Yuan Jochen Kang, Samuel Roth, Baishakhi RayUSENIX Security 2016 · 被引用 79 次
- Skeletal approximation enumeration for SMT solver testingPeisen Yao, Heqing Huang, Wensheng Tang, Qingkai Shi 等FSE 2021 · 被引用 20 次
- Fuzzing SMT solvers via two-dimensional input space explorationPeisen Yao, Heqing Huang, Wensheng Tang, Qingkai Shi 等ISSTA 2021 · 被引用 18 次
相关 Paper
- Characterizing and Detecting Bugs in WeChat Mini-ProgramsTao Wang, Qingxin Xu, Xiaoning Chang, Wensheng Dou 等ICSE 2022 · 被引用 19 次
- ChangeRCA: Finding Root Causes from Software Changes in Large Online SystemsGuangba Yu, Pengfei Chen, Zilong He, Qiuyu Yan 等FSE 2024 · 被引用 3 次
- TransMap: Pinpointing Mistakes in Neural Code TranslationBo Wang, Ruishi Li, Mingkai Li, Prateek SaxenaFSE 2023 · 被引用 4 次
- Graph based Incident Extraction and Diagnosis in Large-Scale Online SystemsZilong He, Pengfei Chen, Yu Luo, Qiuyu Yan 等ASE 2022 · 被引用 12 次
- TransferFuzz: Fuzzing with Historical Trace for Verifying Propagated Vulnerability CodeSiyuan Li, Yuekang Li, Zuxin Chen, Chaopeng Dong 等ICSE 2025 · 被引用 2 次
