TRANSCODE: Detecting Status Code Mapping Errors in Large-Scale Systems

被引:1
|
作者
Tang, Wensheng [1 ]
Hu, Yikun [1 ]
Fan, Gang [1 ]
Yao, Peisen [1 ]
Wu, Rongxin [2 ]
Bai, Guangyuan [3 ]
Wang, Pengcheng [3 ]
Zhang, Charles [1 ]
机构
[1] Hong Kong Univ Sci & Technol, Hong Kong, Peoples R China
[2] Xiamen Univ, Xiamen, Peoples R China
[3] Tencent Inc, Beijing, Peoples R China
来源
2021 36TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING ASE 2021 | 2021年
关键词
D O I
10.1109/ASE51524.2021.9678823
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:829 / 841
页数:13
相关论文
共 50 条
  • [1] Detecting Discontinuities in Large-Scale Systems
    Malik, Haroon
    Davis, Ian J.
    Godfrey, Michael W.
    Neuse, Douglas
    Mankovskii, Serge
    2014 IEEE/ACM 7TH INTERNATIONAL CONFERENCE ON UTILITY AND CLOUD COMPUTING (UCC), 2014, : 345 - 354
  • [2] CodeSurveyor: Mapping Large-Scale Software to Aid in Code Comprehension
    Hawes, Nathan
    Marshall, Stuart
    Anslow, Craig
    2015 IEEE 3RD WORKING CONFERENCE ON SOFTWARE VISUALIZATION (VISSOFT), 2015, : 96 - 105
  • [3] STATUS - LARGE-SCALE SUBATMOSPHERIC CRYOGENIC SYSTEMS
    PETERSON, T
    PROCEEDINGS OF THE 1989 IEEE PARTICLE ACCELERATOR CONFERENCE, VOLS 1-3: ACCELERATOR SCIENCE AND TECHNOLOGY, 1989, : 1769 - 1773
  • [4] Detecting code vulnerabilities by learning from large-scale open source repositories
    Xu, Rongze
    Tang, Zhanyong
    Ye, Guixin
    Wang, Huanting
    Ke, Xin
    Fang, Dingyi
    Wang, Zheng
    JOURNAL OF INFORMATION SECURITY AND APPLICATIONS, 2022, 69
  • [5] MAPPING THE LARGE-SCALE STRUCTURE
    DELAPPARENT, V
    ASTRONOMY FROM WIDE-FIELD IMAGING, 1994, (161): : 669 - 686
  • [6] Mapping the large-scale structure
    deLapparent, V
    COSMOLOGY AND LARGE SCALE STRUCTURE, 1996, 60 : 107 - 132
  • [7] ERRORS IN LARGE-SCALE SHOREBIRD COUNTS
    RAPPOLDT, C
    KERSTEN, M
    SMIT, C
    ARDEA, 1985, 73 (01) : 13 - 24
  • [8] Responding to Large-Scale Testing Errors
    Valenstein, Paul N.
    Alpern, Ann
    Keren, David F.
    AMERICAN JOURNAL OF CLINICAL PATHOLOGY, 2010, 133 (03) : 440 - 446
  • [9] Systemizing Interprocedural Static Analysis of Large-scale Systems Code with Graspan
    Zuo, Zhiqiang
    Wang, Kai
    Hussain, Aftab
    Sani, Ardalan Amiri
    Zhang, Yiyu
    Lu, Shenming
    Dou, Wensheng
    Wang, Linzhang
    Li, Xuandong
    Wang, Chenxi
    Xu, Guoqing Harry
    ACM TRANSACTIONS ON COMPUTER SYSTEMS, 2021, 38 (1-2):
  • [10] Detecting performance anomalies in large-scale software systems using entropy
    Haroon Malik
    Elhadi M. Shakshuki
    Personal and Ubiquitous Computing, 2017, 21 : 1127 - 1137