Code Understanding Linter to Detect Variable Misuse

被引:0
|
作者
Ryou, Yeonhee [1 ]
Joh, Sangwoo [1 ]
Yang, Joonmo [1 ]
Kim, Sujin [1 ]
Kim, Youil [1 ]
机构
[1] Samsung Res, Seoul, South Korea
关键词
language models of code; automated code review; bug detection; variable misuse;
D O I
10.1145/3551349.3559497
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
We share our experience in developing Code Understanding Linter, an automated code review tool based on language models of code. We introduce several ideas to make the tool be more practical, including combining two different language models, filtering meaningless outputs from the model, and generating developer-friendly diagnosis messages by interpreting the outputs from the model. On top of those ideas, we describe the design and implementation of an automated code review tool to detect variable-misuse defects in Python codes and suggest how to fix them. We evaluated the tool with a set of code repositories in Samsung Electronics, which contains real-world Python codes. Our experiment proves that our tool can discover hidden defects in the real-world codes, but the false positive rate is far higher than we expected. After manually investigating every false positives, we discuss the limitations of the language models and possible solutions.
引用
收藏
页数:5
相关论文
共 50 条
  • [1] Introducing a Linter in an Industrial Lua Code Base
    Walchshofer, Andrea
    Fischer, Stefan
    Woess, Albrecht
    Duque-Torres, Alejandra
    Loeberbauer, Markus
    Koll, Georg
    2024 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING-COMPANION, SANER-C 2024, 2024, : 191 - 198
  • [2] Using Graph Neural Network to Analyse and Detect Annotation Misuse in Java']Java Code
    Yang, Jingbo
    Ji, Xin
    Wu, Wenjun
    Ren, Jian
    Zhang, Kui
    Zhang, Wenya
    Wang, Qingliang
    Dong, Tingting
    ADVANCED INTELLIGENT COMPUTING TECHNOLOGY AND APPLICATIONS, PT I, ICIC 2024, 2024, 14875 : 120 - 131
  • [3] DevReplay: Linter that generates regular expressions for repeating code changes
    Ueda, Yuki
    Ishio, Takashi
    Matsumoto, Kenichi
    SCIENCE OF COMPUTER PROGRAMMING, 2022, 223
  • [4] Understanding variable code: Reducing the complexity by integrating variability information
    Luedemann, Dierk
    Asad, Nazish
    Schmid, Klaus
    Voges, Christopher
    32ND IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2016), 2016, : 312 - 322
  • [5] Understanding the code
    Nybo, Kristie
    Roberts, Sir Richard
    BIOTECHNIQUES, 2013, 54 (03) : 117 - 117
  • [6] UNDERSTANDING THE CODE
    Davis, Michael W.
    JOURNAL OF THE AMERICAN DENTAL ASSOCIATION, 2009, 140 (11): : 1344 - +
  • [7] Inferring specifications to detect errors in code
    Taghdiri, Mana
    Jackson, Daniel
    AUTOMATED SOFTWARE ENGINEERING, 2007, 14 (01) : 87 - 121
  • [8] Inferring specifications to detect errors in code
    Taghdiri, M
    19TH INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2004, : 144 - 153
  • [9] Inferring specifications to detect errors in code
    Mana Taghdiri
    Daniel Jackson
    Automated Software Engineering, 2007, 14 : 87 - 121
  • [10] Understanding code mobility
    Fuggetta, A
    Picco, GP
    Vigna, G
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1998, 24 (05) : 342 - 361