Do Pre-trained Language Models Indeed Understand Software Engineering Tasks?
Yao Li, Tao Zhang, Xiapu Luo, Haipeng Cai, Sen Fang, Dawei Yuan

TL;DR
This paper investigates whether pre-trained language models genuinely understand software engineering tasks by analyzing their sensitivity to input variations and identifying a phenomenon called overinterpretation, which questions their true comprehension.
Contribution
The study reveals the overinterpretation phenomenon in pre-trained models for AI4SE tasks and proposes mitigation strategies like whole word masking and ensembling.
Findings
Models show insensitivity to input variations, performing similarly across tasks.
Overinterpretation involves making decisions without salient features.
Mitigation strategies can reduce overinterpretation effects.
Abstract
Artificial intelligence (AI) for software engineering (SE) tasks has recently achieved promising performance. In this paper, we investigate to what extent the pre-trained language model truly understands those SE tasks such as code search, code summarization, etc. We conduct a comprehensive empirical study on a board set of AI for SE (AI4SE) tasks by feeding them with variant inputs: 1) with various masking rates and 2) with sufficient input subset method. Then, the trained models are evaluated on different SE tasks, including code search, code summarization, and duplicate bug report detection. Our experimental results show that pre-trained language models are insensitive to the given input, thus they achieve similar performance in these three SE tasks. We refer to this phenomenon as overinterpretation, where a model confidently makes a decision without salient features, or where a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Topic Modeling · Software Engineering Techniques and Practices
