ZIP10篇代码生成的论文,包括代码评估、代码搜索、代码生成、survey、代码或bug分类 7.68MB

sinat_37574187

资源文件列表:

代码生成论文_20241021.zip 大约有28个文件
  1. 代码生成论文_20241021/
  2. 代码生成论文_20241021/代码或bug分类/
  3. 代码生成论文_20241021/.DS_Store 6KB
  4. __MACOSX/代码生成论文_20241021/._.DS_Store 120B
  5. 代码生成论文_20241021/代码生成/
  6. 代码生成论文_20241021/代码评估/
  7. 代码生成论文_20241021/代码搜索/
  8. 代码生成论文_20241021/代码模型survey/
  9. 代码生成论文_20241021/代码或bug分类/.DS_Store 6KB
  10. __MACOSX/代码生成论文_20241021/代码或bug分类/._.DS_Store 120B
  11. 代码生成论文_20241021/代码或bug分类/LLMBRC A large language model-based bug report classification framework.pdf 2.56MB
  12. __MACOSX/代码生成论文_20241021/代码或bug分类/._LLMBRC A large language model-based bug report classification framework.pdf 418B
  13. 代码生成论文_20241021/代码评估/.DS_Store 6KB
  14. __MACOSX/代码生成论文_20241021/代码评估/._.DS_Store 120B
  15. 代码生成论文_20241021/代码评估/Program Code Generation with Generative AIs.pdf 480.83KB
  16. __MACOSX/代码生成论文_20241021/代码评估/._Program Code Generation with Generative AIs.pdf 425B
  17. 代码生成论文_20241021/代码评估/A_Comparison_of_the_Effectiveness_of_ChatGPT_and_Co-Pilot_for_Generating_Quality_Python_Code_Solutions.pdf 352.52KB
  18. __MACOSX/代码生成论文_20241021/代码评估/._A_Comparison_of_the_Effectiveness_of_ChatGPT_and_Co-Pilot_for_Generating_Quality_Python_Code_Solutions.pdf 510B
  19. 代码生成论文_20241021/代码评估/Comparing large language models and human programmers for generating programming code.pdf 2.04MB
  20. __MACOSX/代码生成论文_20241021/代码评估/._Comparing large language models and human programmers for generating programming code.pdf 340B
  21. 代码生成论文_20241021/代码搜索/.DS_Store 6KB
  22. __MACOSX/代码生成论文_20241021/代码搜索/._.DS_Store 120B
  23. 代码生成论文_20241021/代码搜索/Multimodal Representation for Neural Code Search.pdf 1019.4KB
  24. __MACOSX/代码生成论文_20241021/代码搜索/._Multimodal Representation for Neural Code Search.pdf 340B
  25. 代码生成论文_20241021/代码模型survey/A Survey on Large Language Models for Code Generation .pdf 2.33MB
  26. __MACOSX/代码生成论文_20241021/代码模型survey/._A Survey on Large Language Models for Code Generation .pdf 340B
  27. 代码生成论文_20241021/代码模型survey/.DS_Store 6KB
  28. __MACOSX/代码生成论文_20241021/代码模型survey/._.DS_Store 120B

资源介绍:

题目 类型 分区 摘要 精读链接 Comparing large language models and humanprogrammers for generating programming code 代码评估 arxiv 评估七种LLMs在生成编程代码方面的性能,探讨不同提示策略对LLMs编码性能的影响,直接比较LLMs与人类程序员的编程能力,评估LLMs在不同编程语言之间生成和翻译代码的能力,以及考察LLMs的计算效率和从过去错误中学习的能力。 A Comparison of the Effectiveness of ChatGPT andCo-Pilot for Generating Quality Python Code 代码评估 会议 包括评估ChatGPT和Copilot在解决LeetCode编程问题上的有效性,探讨ChatGPT在接收到反馈后纠正代码的能力,以及其在提高代码质量和性能方面的潜力。 Program Code Generation with Generative AIs 代码评估 MDPI水刊-Algorithms非SCI 比较了人类生成的代码
<link href="/image.php?url=https://csdnimg.cn/release/download_crawler_static/css/base.min.css" rel="stylesheet"/><link href="/image.php?url=https://csdnimg.cn/release/download_crawler_static/css/fancy.min.css" rel="stylesheet"/><link href="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89910896/raw.css" rel="stylesheet"/><div id="sidebar" style="display: none"><div id="outline"></div></div><div class="pf w0 h0" data-page-no="1" id="pf1"><div class="pc pc1 w0 h0"><img alt="" class="bi x0 y0 w1 h1" src="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89910896/bg1.jpg"/><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">V<span class="_ _0"></span>ol.:(0123456789)</div><div class="t m0 x2 h3 y2 ff2 fs0 fc1 sc0 ls0 ws0">Software Quality Journal (2024) 32:985–1005</div><div class="t m0 x2 h3 y3 ff2 fs0 fc1 sc0 ls0 ws0">https://doi.org/10.1007/s11219-024-09675-3</div><div class="t m0 x3 h4 y4 ff3 fs1 fc1 sc0 ls0 ws1">1 3</div><div class="t m0 x4 h5 y5 ff4 fs0 fc1 sc0 ls1 ws2">RESEARCH</div><div class="t m0 x2 h6 y6 ff5 fs2 fc1 sc0 ls0 ws0">LLM‑BRC: Alarge language model‑based bug report </div><div class="t m0 x2 h6 y7 ff5 fs2 fc1 sc0 ls0 ws0">classification framew<span class="_ _0"></span>ork</div><div class="t m0 x2 h7 y8 ff4 fs3 fc1 sc0 ls0 ws0">XiaotingDu</div><div class="t m0 x5 h8 y9 ff4 fs4 fc1 sc0 ls0 ws0">1,2</div><div class="t m0 x6 h7 y8 ff4 fs3 fc1 sc0 ls0 ws0">· ZhihaoLiu</div><div class="t m0 x7 h8 y9 ff4 fs4 fc1 sc0 ls0 ws0">3</div><div class="t m0 x8 h7 y8 ff4 fs3 fc1 sc0 ls0 ws0">· ChenglongLi</div><div class="t m0 x9 h8 y9 ff4 fs4 fc1 sc0 ls0 ws0">3</div><div class="t m0 xa h7 y8 ff4 fs3 fc1 sc0 ls0 ws0">· XiangyueMa</div><div class="t m0 xb h8 y9 ff4 fs4 fc1 sc0 ls0 ws0">3</div><div class="t m0 xc h7 y8 ff4 fs3 fc1 sc0 ls0 ws3">· YingzhuoLi</div><div class="t m0 xd h8 y9 ff4 fs4 fc1 sc0 ls0 ws0">1</div><div class="t m0 xe h7 y8 ff4 fs3 fc1 sc0 ls0 ws0">· </div><div class="t m0 x2 h7 ya ff4 fs3 fc1 sc0 ls0 ws0">Xinyu<span class="_ _1"></span>W<span class="_ _1"></span>ang</div><div class="t m0 x5 h8 yb ff4 fs4 fc1 sc0 ls0 ws0">1</div><div class="t m0 x2 h3 yc ff2 fs0 fc1 sc0 ls0 ws0">Accepted: 23 April 2024 / P<span class="_ _1"></span>ublished online: 24 May 2024 </div><div class="t m0 x2 h3 yd ff2 fs0 fc1 sc0 ls0 ws0">© <span class="_ _1"></span>The Author(s), under exclusive licenc<span class="_ _1"></span>e to Springer Science+Business Media, LLC, part of Springer Nature 2024</div><div class="t m0 x2 h9 ye ff6 fs3 fc1 sc0 ls0 ws0">Abstract</div><div class="t m0 x2 ha yf ff7 fs3 fc1 sc0 ls0 ws4">Deep learning framew<span class="_ _0"></span>orks serve as the cornerstone for cons<span class="_ _0"></span>tructing robust deep lear<span class="_ _2"></span>ning <span class="_ _3"></span><span class="ws0"> </span></div><div class="t m0 x2 ha y10 ff7 fs3 fc1 sc0 ls0 ws5">systems. Ho<span class="_ _1"></span>wev<span class="_ _1"></span>er, bugs within these framew<span class="_ _1"></span>orks can ha<span class="_ _1"></span>ve sev<span class="_ _1"></span>ere consequences, nega<span class="ws0">-</span></div><div class="t m0 x2 ha y11 ff7 fs3 fc1 sc0 ls0 ws6">tivel<span class="_ _1"></span>y affecting v<span class="_ _1"></span>ar<span class="_ _2"></span>ious applications. Accuratel<span class="_ _0"></span>y classifying and understanding these </div><div class="t m0 x2 ha y12 ff7 fs3 fc1 sc0 ls0 ws7">bugs is essential to ensure framew<span class="_ _1"></span>ork reliability<span class="_ _1"></span>. By doing so, de<span class="_ _1"></span>velopers can proactiv<span class="_ _1"></span>ely </div><div class="t m0 x2 ha y13 ff7 fs3 fc1 sc0 ls0 ws8">take appropriate measures to mitigate potential risks associated with specif<span class="_ _2"></span>ic bug types <span class="_ _4"></span><span class="ws0"> </span></div><div class="t m0 x2 ha y14 ff7 fs3 fc1 sc0 ls0 ws9">in both current and future sof<span class="_ _2"></span>twar<span class="_ _0"></span>e releases. Despite the significance of bug repor<span class="_ _2"></span>t clas<span class="ws0">-</span></div><div class="t m0 x2 ha y15 ff7 fs3 fc1 sc0 ls0 wsa">sification, existing methods f<span class="_ _1"></span>all shor<span class="_ _2"></span>t in ter<span class="_ _2"></span>ms of performance, rendering t<span class="_ _2"></span>hem impractical </div><div class="t m0 x2 ha y16 ff7 fs3 fc1 sc0 ls0 wsb">f<span class="_ _1"></span>or real-world applications. T<span class="_ _1"></span>o address this limit<span class="_ _2"></span>ation, we pr<span class="_ _0"></span>opose a bug report classif<span class="_ _2"></span>i<span class="ws0">-</span></div><div class="t m0 x2 ha y17 ff7 fs3 fc1 sc0 ls0 wsc">cation framew<span class="_ _1"></span>ork f<span class="_ _1"></span>or deep lear<span class="_ _2"></span>ning framew<span class="_ _1"></span>orks, called LLM–BRC, lev<span class="_ _1"></span>eraging OpenAI’<span class="_ _1"></span>s </div><div class="t m0 x2 hb y18 ff7 fs3 fc1 sc0 ls0 wsd">latest embedding model, <span class="ff8 ws0">te<span class="_ _1"></span>xt-embedding-ada-002<span class="ff7 wsd">. Our<span class="_ _2"></span>LLM–BRC<span class="_ _2"></span>framew<span class="_ _1"></span>ork achie<span class="_ _1"></span>ves an </span></span></div><div class="t m0 x2 ha y19 ff7 fs3 fc1 sc0 ls0 wse">impressiv<span class="_ _1"></span>e accuracy range of 92% to 98.75% in bug report classif<span class="_ _2"></span>ication for three deep </div><div class="t m0 x2 ha y1a ff7 fs3 fc1 sc0 ls0 wsf">learning framewor<span class="_ _1"></span>k<span class="_ _2"></span>s: T<span class="_ _1"></span>ensorFlow<span class="_ _1"></span>, MXNET<span class="_ _1"></span>, and PaddlePaddle. This represents a substan<span class="ws0">-</span></div><div class="t m0 x2 ha y1b ff7 fs3 fc1 sc0 ls0 ws10">tial impro<span class="_ _1"></span>vement of 17.21% to 69.15% compared to e<span class="_ _1"></span>xisting methods. Fur<span class="_ _2"></span>ther<span class="_ _2"></span>more, we </div><div class="t m0 x2 ha y1c ff7 fs3 fc1 sc0 ls0 ws11">conduct a comprehensiv<span class="_ _1"></span>e inv<span class="_ _1"></span>estigation into the impact of different bug report components </div><div class="t m0 x2 ha y1d ff7 fs3 fc1 sc0 ls0 ws0">and diff<span class="_ _0"></span>erent models.</div><div class="t m0 x2 hc y1e ff5 fs3 fc1 sc0 ls0 ws0">Keywords<span class="ff7"> <span class="_"> </span>Bug report classification· Deep lear<span class="_ _2"></span>ning framew<span class="_ _1"></span>ork· Large-languag<span class="_ _1"></span>e model</span></div><div class="t m0 x2 hd y1f ff7 fs0 fc1 sc0 ls0 ws0"> <span class="_ _5"></span><span class="ff9">*<span class="ff7"> <span class="_ _6"> </span>Xiaoting Du </span></span></div><div class="t m0 x2 he y20 ff7 fs0 fc1 sc0 ls0 ws12"> duxiaoting@bupt.edu.cn</div><div class="t m0 x2 he y21 ff7 fs0 fc1 sc0 ls0 ws0"> <span class="_ _7"> </span>Chenglong Li </div><div class="t m0 x2 he y22 ff7 fs0 fc1 sc0 ls0 ws12"> li_chenglong@buaa.edu.cn</div><div class="t m0 x2 hf y23 ff7 fs5 fc1 sc0 ls0 ws0">1</div><div class="t m0 x4 he y24 ff7 fs0 fc1 sc0 ls0 ws0"> <span class="_ _8"> </span>School ofComputer Science (N<span class="_ _1"></span>ational Pilot Software Engineering School), Beijing U<span class="_ _1"></span>niversity </div><div class="t m0 xf he y25 ff7 fs0 fc1 sc0 ls0 ws0">ofPosts andT<span class="_ _1"></span>elecommunications, Bei<span class="_ _0"></span>jing, China</div><div class="t m0 x2 hf y26 ff7 fs5 fc1 sc0 ls0 ws0">2</div><div class="t m0 x4 he y27 ff7 fs0 fc1 sc0 ls0 ws0"> <span class="_ _8"> </span>Shanghai Ke<span class="_ _1"></span>y Laborator<span class="_ _2"></span>y ofTrustworthy Computing (East China N<span class="_ _1"></span>or<span class="_ _2"></span>mal University), </div><div class="t m0 xf he y28 ff7 fs0 fc1 sc0 ls0 ws0">Shanghai200062, China</div><div class="t m0 x2 hf y29 ff7 fs5 fc1 sc0 ls0 ws0">3</div><div class="t m0 x4 he y2a ff7 fs0 fc1 sc0 ls0 ws0"> <span class="_ _8"> </span>School ofAut<span class="_ _0"></span>omation Science andElectrical Engineer<span class="_ _2"></span>ing, Beihang Univ<span class="_ _1"></span>ersity, Bei<span class="_ _1"></span>jing, China</div><a class="l"><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[2.037103,0.000000,0.000000,2.037103,0.000000,0.000000]}'></div></div><div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89910896/bg2.jpg"><div class="t m0 x10 h3 y2b ff2 fs0 fc1 sc0 ls0 ws0">986</div><div class="t m0 x2 h3 y2c ff2 fs0 fc1 sc0 ls0 ws0"> <span class="_ _9"> </span>Software Quality Journal (2024) 32:985&#8211;1005</div><div class="t m0 x11 h4 y4 ffa fs1 fc1 sc0 ls0 ws1">1 3</div><div class="t m0 x2 h10 y2d ff6 fs6 fc1 sc0 ls0 ws13">1 Introduction</div><div class="t m0 x2 ha y2e ff7 fs3 fc1 sc0 ls2 ws14">Deep learning framewor<span class="_ _1"></span>k<span class="_ _2"></span>s pla<span class="_ _1"></span>y a cr<span class="_ _2"></span>ucial role in building robust deep learning systems </div><div class="t m0 x2 ha y2f ff7 fs3 fc1 sc0 ls2 ws15">(Zhang et&#58911;<span class="_ _2"></span>al., <span class="fc2 ws16">2020</span>). With the rapid advancement of deep learning technology<span class="_ _1"></span>, the demand </div><div class="t m0 x2 ha y30 ff7 fs3 fc1 sc0 ls2 ws17">f<span class="_ _1"></span>or deep lear<span class="_ _2"></span>ning framew<span class="_ _1"></span>orks has experienced exponential growth (Guo et&#58911;<span class="_ _2"></span>al., <span class="fc2 ws16">2018</span>). This </div><div class="t m0 x2 ha y31 ff7 fs3 fc1 sc0 ls2 ws4">expansion encompasses the incorporation of new interfaces, the enhancement of function<span class="ls0 ws0">-</span></div><div class="t m0 x2 ha y32 ff7 fs3 fc1 sc0 ls2 ws18">alities, and the optimization of compatibility with a wide ar<span class="_ _2"></span>ray of hardw<span class="_ _1"></span>are devices and </div><div class="t m0 x2 ha y33 ff7 fs3 fc1 sc0 ls2 ws19">underl<span class="_ _0"></span>ying drivers. Throughout this ev<span class="_ _1"></span>olutionar<span class="_ _2"></span>y process, the continuous iteration of code </div><div class="t m0 x2 ha y34 ff7 fs3 fc1 sc0 ls2 ws1a">and version updates ine<span class="_ _1"></span>vitably introduces bugs into deep learning framew<span class="_ _1"></span>orks (Zhang et&#58911;al., </div><div class="t m0 x2 ha y35 ff7 fs3 fc2 sc0 ls2 ws16">2018<span class="fc1 ws1b">). Bugs in deep learning framew<span class="_ _0"></span>orks can ha<span class="_ _1"></span>ve a significant and wide-reaching impact </span></div><div class="t m0 x2 ha y36 ff7 fs3 fc1 sc0 ls2 ws1c">on a larg<span class="_ _1"></span>er user base compared to specif<span class="_ _2"></span>ic deep learning models. Par<span class="_ _2"></span>ticularly in saf<span class="_ _1"></span>ety<span class="_ _0"></span>- and </div><div class="t m0 x2 ha y37 ff7 fs3 fc1 sc0 ls2 ws1d">security-critical domains like autonomous driving (Chen et&#58911;<span class="_ _a"> </span>al., <span class="fc2 ws16">2015</span>) and healthcare (Cai </div><div class="t m0 x2 ha y38 ff7 fs3 fc1 sc0 ls2 ws16">et&#58911;<span class="_ _b"></span>al., <span class="_ _b"></span><span class="fc2">2014</span><span class="ws1e">), the consequences of these bugs can be more sev<span class="_ _1"></span>ere. Therefore, ensuring the </span></div><div class="t m0 x2 ha y39 ff7 fs3 fc1 sc0 ls2 ws0">reliability of deep learning framew<span class="_ _0"></span>orks is of utmost importance.</div><div class="t m0 x12 ha y3a ff7 fs3 fc1 sc0 ls2 ws1f">Numerous s<span class="_ _0"></span>tudies ha<span class="_ _1"></span>ve been conducted to gain insights into the characteristics of bugs </div><div class="t m0 x2 ha y3b ff7 fs3 fc1 sc0 ls2 ws20">in deep learning framewor<span class="_ _1"></span>k<span class="_ _2"></span>s and pro<span class="_ _1"></span>vide assist<span class="_ _2"></span>ance in their resolution. For instance, Jia </div><div class="t m0 x2 ha y3c ff7 fs3 fc1 sc0 ls2 ws21">et&#58911;<span class="_ _a"> </span>al. (<span class="fc2 ws16">2021</span>) conducted an analysis of bugs in T<span class="_ _1"></span>ensorFlow based on 202 bug fix<span class="_ _1"></span>es. The<span class="_ _2"></span> </div><div class="t m0 x2 ha y3d ff7 fs3 fc1 sc0 ls2 ws22">findings rev<span class="_ _1"></span>ealed t<span class="_ _2"></span>hat bugs in T<span class="_ _1"></span>ensorFlow can be classified into 6 distinct categories based </div><div class="t m0 x2 ha y3e ff7 fs3 fc1 sc0 ls2 ws23">on symptoms and 11 distinct categories based on root causes. In (Islam et&#58911;<span class="_ _2"></span>al., <span class="fc2 ws16">2019</span>), Islam </div><div class="t m0 x2 ha y3f ff7 fs3 fc1 sc0 ls2 ws24">et&#58911;<span class="_ _b"></span>al. e<span class="_ _1"></span>xamined five deep learning librar<span class="_ _2"></span>ies, namely Caff<span class="_ _1"></span>e (Jia et&#58911;<span class="_ _b"></span>al., <span class="fc2 ws16">2014</span>), Keras (L<span class="_ _0"></span>ux &amp; </div><div class="t m0 x2 ha y40 ff7 fs3 fc1 sc0 ls2 ws16">Bertini, <span class="_ _2"></span><span class="fc2">2019</span><span class="ws25">), T<span class="_ _1"></span>ensorFlow (Girija,&#58911;<span class="fc2 ws16">2016</span>), Theano (T<span class="_ _1"></span>eam et&#58911;al.,&#58911;<span class="_ _2"></span><span class="fc2 ws16">2016</span>) and Torc<span class="_ _1"></span>h (Collober<span class="_ _2"></span>t </span></div><div class="t m0 x2 ha y41 ff7 fs3 fc1 sc0 ls2 ws16">et&#58911;<span class="_ _a"> </span>al., <span class="_ _a"> </span><span class="fc2">2002</span><span class="ws26">). They analyzed 2,716 posts fr<span class="_ _1"></span>om Stack Overf<span class="_ _2"></span>low and 500 bug fix commits </span></div><div class="t m0 x2 ha y42 ff7 fs3 fc1 sc0 ls2 ws27">from GitHub to identify commonl<span class="_ _1"></span>y occur<span class="_ _2"></span>r<span class="_ _2"></span>ing bug types in deep lear<span class="_ _2"></span>ning framew<span class="_ _1"></span>orks. </div><div class="t m0 x2 ha y43 ff7 fs3 fc1 sc0 ls2 ws28">According to the classification results, there are five diff<span class="_ _0"></span>erent bug types, including API </div><div class="t m0 x2 ha y44 ff7 fs3 fc1 sc0 ls2 ws29">bugs, Coding bugs, Data bugs, Structural bugs, and Non model structural bugs. In (Du </div><div class="t m0 x2 ha y45 ff7 fs3 fc1 sc0 ls2 ws16">et&#58911;<span class="_ _a"> </span>al., <span class="_ _c"> </span><span class="fc2">2022</span><span class="ws2a">), we conducted a classification of bug reports in TensorFlo<span class="_ _1"></span>w<span class="_ _1"></span>, MXNET, and </span></div><div class="t m0 x2 ha y46 ff7 fs3 fc1 sc0 ls2 ws18">PaddlePaddle based on f<span class="_ _1"></span>ault-tr<span class="_ _2"></span>iggering conditions. Bugs were categorized into Bohrbugs </div><div class="t m0 x2 ha y47 ff7 fs3 fc1 sc0 ls2 ws2b">(BOHs) and Mandelbugs (MANs), taking into account the conditions of f<span class="_ _0"></span>ault activation </div><div class="t m0 x2 ha y48 ff7 fs3 fc1 sc0 ls2 ws2c">and error propagation. Moreov<span class="_ _1"></span>er, within the MAN category<span class="_ _1"></span>, bugs were furt<span class="_ _2"></span>her classified as </div><div class="t m0 x2 ha y49 ff7 fs3 fc1 sc0 ls2 ws0">either non-aging related Mandelbugs (NAMs) or aging-related bugs (ARBs).</div><div class="t m0 x12 ha y4a ff7 fs3 fc1 sc0 ls0 ws2d">How<span class="_ _1"></span>ev<span class="_ _0"></span>er, the bug classification process in the af<span class="_ _1"></span>orementioned studies was all perf<span class="_ _1"></span>or<span class="_ _2"></span>med </div><div class="t m0 x2 ha y4b ff7 fs3 fc1 sc0 ls0 ws2e">manually<span class="_ _d"></span>. As the number of bug repor<span class="_ _2"></span>ts in deep learning framew<span class="_ _0"></span>orks continues to increase, </div><div class="t m0 x2 ha y4c ff7 fs3 fc1 sc0 ls0 ws2f">manually classifying all bug reports becomes impractical. Theref<span class="_ _1"></span>ore, the development </div><div class="t m0 x2 ha y4d ff7 fs3 fc1 sc0 ls0 ws1e">of bug report classif<span class="_ _2"></span>ication methods becomes essential. In (Xia et&#58911;<span class="_ _b"></span>al., <span class="fc2 ws0">2014</span>), the authors </div><div class="t m0 x2 ha y4e ff7 fs3 fc1 sc0 ls0 ws2b">employ<span class="_ _1"></span>ed the bag-of-words model to represent bug reports and utilized machine learn<span class="ws0">-</span></div><div class="t m0 x2 ha y4f ff7 fs3 fc1 sc0 ls0 ws30">ing classifiers to classify them. Howe<span class="_ _1"></span>ver<span class="_ _1"></span>, t<span class="_ _2"></span>he bag-of-w<span class="_ _0"></span>ords model neglects the contextual </div><div class="t m0 x2 ha y50 ff7 fs3 fc1 sc0 ls0 ws0">semantic inf<span class="_ _1"></span>or<span class="_ _2"></span>mation present in bug repor<span class="_ _2"></span>ts, resulting in inadequate classification results.</div><div class="t m0 x12 ha y51 ff7 fs3 fc1 sc0 ls0 ws31">T<span class="_ _1"></span>o address t<span class="_ _2"></span>his limitation and effectiv<span class="_ _1"></span>ely utilize the semantic inf<span class="_ _1"></span>or<span class="_ _2"></span>mation embed<span class="ws0">-</span></div><div class="t m0 x2 ha y52 ff7 fs3 fc1 sc0 ls0 ws32">ded within bug repor<span class="_ _2"></span>ts, we proposed the DeepSIM method in Du e<span class="_ _0"></span>t&#58911;<span class="_ _c"> </span>al. (<span class="fc2 ws0">2021</span>). Deep<span class="ws0">-</span></div><div class="t m0 x2 ha y53 ff7 fs3 fc1 sc0 ls0 ws33">SIM employ<span class="_ _1"></span>ed a word2v<span class="_ _1"></span>ec semantic model that was trained based on o<span class="_ _1"></span>ver tw<span class="_ _1"></span>o million </div><div class="t m0 x2 ha y54 ff7 fs3 fc1 sc0 ls0 ws34">bug reports. Howe<span class="_ _1"></span>ver<span class="_ _1"></span>, t<span class="_ _2"></span>he eff<span class="_ _0"></span>ectiveness of DeepSIM is hindered b<span class="_ _1"></span>y the constrained size </div><div class="t m0 x2 ha y55 ff7 fs3 fc1 sc0 ls0 ws14">of the training cor<span class="_ _2"></span>pus utilized f<span class="_ _1"></span>or t<span class="_ _2"></span>he semantic model. T<span class="_ _1"></span>o address t<span class="_ _2"></span>he af<span class="_ _1"></span>orementioned </div><div class="t m0 x2 ha y56 ff7 fs3 fc1 sc0 ls0 ws35">issues, we propose a Lar<span class="_ _1"></span>ge Language Model-based Bug R<span class="_ _1"></span>epor<span class="_ _2"></span>t Classif<span class="_ _2"></span>ication framew<span class="_ _1"></span>ork </div><div class="t m0 x2 ha y57 ff7 fs3 fc1 sc0 ls0 ws1f">(LLM&#8211;BRC) f<span class="_ _1"></span>or deep learning framew<span class="_ _1"></span>orks. Large language models (LLMs), particularl<span class="_ _0"></span>y </div><div class="t m0 x2 ha y58 ff7 fs3 fc1 sc0 ls0 ws36">GPT<span class="_ _1"></span>-3 and GPT-4 (Bro<span class="_ _1"></span>wn et&#58911;al., <span class="fc2 ws0">2020</span>; Radf<span class="_ _1"></span>ord et&#58911;al., <span class="fc2 ws0">2018<span class="fc1">, </span>2019</span>) ha<span class="_ _1"></span>ve pro<span class="_ _1"></span>ven transf<span class="_ _1"></span>or<span class="_ _2"></span>ma<span class="ws0">-</span></div><div class="t m0 x2 ha y59 ff7 fs3 fc1 sc0 ls0 ws37">tive in numer<span class="_ _1"></span>ous f<span class="_ _2"></span>ields and hav<span class="_ _1"></span>e made remarkable contributions in domains ranging from </div><div class="t m0 x2 ha y5a ff7 fs3 fc1 sc0 ls0 ws38">mathematics (Frieder et&#58911;<span class="_ _2"></span>al., <span class="fc2 ws0">2023</span>) and communication (Guo et&#58911;al., <span class="fc2 ws0">2023</span>) to even medicine </div><div class="t m0 x2 ha y5b ff7 fs3 fc1 sc0 ls0 ws39">(No<span class="_ _1"></span>v et&#58911;<span class="_ _b"></span>al., <span class="fc2 ws0">2023</span>). In particular, the pro<span class="_ _1"></span>wess of LLMs lies in their ability to rev<span class="_ _1"></span>olutionize </div><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[2.037103,0.000000,0.000000,2.037103,0.000000,0.000000]}'></div></div><div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89910896/bg3.jpg"><div class="t m0 x13 h3 y5c ff2 fs0 fc1 sc0 ls0 ws0">987</div><div class="t m0 x2 h3 y5d ff2 fs0 fc1 sc0 ls0 ws0">Software Quality Journal (2024) 32:985&#8211;1005 </div><div class="t m0 x3 h4 y4 ffb fs1 fc1 sc0 ls0 ws1">1 3</div><div class="t m0 x2 ha y5e ff7 fs3 fc1 sc0 ls0 ws3a">text pr<span class="_ _0"></span>ocessing across div<span class="_ _0"></span>erse tasks, substantially propelling the fields of natural language </div><div class="t m0 x2 ha y5f ff7 fs3 fc1 sc0 ls0 ws3b">understanding and generation to ne<span class="_ _1"></span>w heights (Ray<span class="_ _1"></span>, <span class="fc2 ws0">2023</span>). One of the core strengths of </div><div class="t m0 x2 ha y60 ff7 fs3 fc1 sc0 ls0 ws3c">LLMs is their mastery of language representation through dense vector embeddings. By </div><div class="t m0 x2 ha y61 ff7 fs3 fc1 sc0 ls0 ws15">capturing intr<span class="_ _2"></span>icate semantic meaning and contextual inf<span class="_ _1"></span>ormation, t<span class="_ _2"></span>hese embeddings allow </div><div class="t m0 x2 ha y62 ff7 fs3 fc1 sc0 ls0 ws0">f<span class="_ _1"></span>or a more nuanced understanding of language and context-a<span class="_ _1"></span>ware languag<span class="_ _1"></span>e processing.</div><div class="t m0 x12 hb y63 ff7 fs3 fc1 sc0 ls0 ws0">In our framew<span class="_ _1"></span>ork, we le<span class="_ _1"></span>verage the <span class="ff8">te<span class="_ _1"></span>xt-embedding-ada-002<span class="ff7"> model, which is the second-</span></span></div><div class="t m0 x2 ha y64 ff7 fs3 fc1 sc0 ls0 ws3d">generation embedding model announced b<span class="_ _1"></span>y OpenAI on December 15, 2022, to represent </div><div class="t m0 x2 ha y65 ff7 fs3 fc1 sc0 ls0 ws3e">bug reports and facilitate bug report classif<span class="_ _2"></span>ication. Based on this model, bug repor<span class="_ _2"></span>ts can </div><div class="t m0 x2 ha y66 ff7 fs3 fc1 sc0 ls0 ws3f">be transf<span class="_ _1"></span>or<span class="_ _2"></span>med into embeddings of a dimension size of 1,536. These embedding vectors </div><div class="t m0 x2 ha y67 ff7 fs3 fc1 sc0 ls0 ws38">are then f<span class="_ _0"></span>ed into a f<span class="_ _1"></span>eed-forward neural ne<span class="_ _1"></span>twork (FFN) f<span class="_ _1"></span>or bug repor<span class="_ _2"></span>t classification. Unlike </div><div class="t m0 x2 ha y68 ff7 fs3 fc1 sc0 ls0 ws40">traditional machine learning classifiers, FFN ex<span class="_ _0"></span>cels at capturing intr<span class="_ _2"></span>icate patter<span class="_ _2"></span>ns and </div><div class="t m0 x2 ha y69 ff7 fs3 fc1 sc0 ls0 wsf">dependencies within the data, enabling it to lear<span class="_ _2"></span>n highly representative and discriminativ<span class="_ _0"></span>e </div><div class="t m0 x2 ha y6a ff7 fs3 fc1 sc0 ls0 ws41">f<span class="_ _1"></span>eatures. This allow<span class="_ _0"></span>s f<span class="_ _1"></span>or enhanced accuracy of bug repor<span class="_ _2"></span>t classif<span class="_ _2"></span>ication and the ability to </div><div class="t m0 x2 ha y6b ff7 fs3 fc1 sc0 ls0 ws42">handle high-dimensional input data eff<span class="_ _2"></span>iciently<span class="_ _d"></span>. Finall<span class="_ _0"></span>y<span class="_ _1"></span>, the effectiv<span class="_ _1"></span>eness of&#58911;<span class="_ _b"></span>LLM&#8211;BRC&#58911;<span class="_ _2"></span>is </div><div class="t m0 x2 ha y6c ff7 fs3 fc1 sc0 ls0 ws0">ev<span class="_ _1"></span>aluated on bug repor<span class="_ _2"></span>ts from three deep lear<span class="_ _2"></span>ning framew<span class="_ _1"></span>orks.</div><div class="t m0 x12 ha y6d ff7 fs3 fc1 sc0 ls0 ws0">In summary<span class="_ _1"></span>, t<span class="_ _2"></span>his article makes the follo<span class="_ _1"></span>wing main contr<span class="_ _2"></span>ibutions.</div><div class="t m0 x2 ha y6e ff7 fs3 fc1 sc0 ls3 ws23">1. <span class="_ _e"> </span>W<span class="_ _1"></span>e present LLM&#8211;BR<span class="_ _1"></span>C, a Large Languag<span class="_ _1"></span>e Model-based Bug Report Classif<span class="_ _2"></span>ication </div><div class="t m0 x14 ha y6f ff7 fs3 fc1 sc0 ls4 ws43">framew<span class="_ _1"></span>ork that combines a large languag<span class="_ _1"></span>e model wit<span class="_ _2"></span>h a deep learning classif<span class="_ _2"></span>ier<span class="_ _1"></span>. </div><div class="t m0 x14 ha y70 ff7 fs3 fc1 sc0 ls3 ws15">Through this method, we ac<span class="_ _1"></span>hieved accurate classification of bugs in deep learning </div><div class="t m0 x14 ha y71 ff7 fs3 fc1 sc0 ls5 ws44">framew<span class="_ _1"></span>orks, with an accuracy ranging from 92% to 98.75%.</div><div class="t m0 x2 ha y72 ff7 fs3 fc1 sc0 ls5 ws45">2. <span class="_ _f"> </span>W<span class="_ _1"></span>e explor<span class="_ _0"></span>e the factors inf<span class="_ _2"></span>luencings classification results, including information from </div><div class="t m0 x14 ha y73 ff7 fs3 fc1 sc0 ls5 ws46">diff<span class="_ _0"></span>erent components of bug reports and types of language models, to furt<span class="_ _2"></span>her promote </div><div class="t m0 x14 ha y74 ff7 fs3 fc1 sc0 ls5 ws44">the practical application of this method.</div><div class="t m0 x2 ha y75 ff7 fs3 fc1 sc0 ls5 ws47">3. <span class="_ _10"> </span>In order to f<span class="_ _1"></span>acilit<span class="_ _2"></span>ate bug repor<span class="_ _2"></span>t classification research, w<span class="_ _0"></span>e ha<span class="_ _1"></span>ve open-sourced both the </div><div class="t m0 x14 ha y76 ff7 fs3 fc1 sc0 ls6 ws48">data and the method, which can be accessed at the f<span class="_ _1"></span>ollowing w<span class="_ _1"></span>ebpage: <span class="fc2 ws49">https:// sites. </span></div><div class="t m0 x14 ha y77 ff7 fs3 fc2 sc0 ls5 ws49">google. com/ view/ llmbp/<span class="fc1 ls0 ws0">.</span></div><div class="t m0 x12 ha y78 ff7 fs3 fc1 sc0 ls0 ws4a">The rest of the paper is org<span class="_ _1"></span>anized as follo<span class="_ _0"></span>ws. Section II presents the proposed appr<span class="_ _0"></span>oach. </div><div class="t m0 x2 ha y79 ff7 fs3 fc1 sc0 ls0 ws4b">Section III pro<span class="_ _0"></span>vides an ov<span class="_ _1"></span>er<span class="_ _2"></span>view of the e<span class="_ _1"></span>xper<span class="_ _2"></span>imental setup. Section IV descr<span class="_ _2"></span>ibes the ev<span class="_ _0"></span>alu<span class="ws0">-</span></div><div class="t m0 x2 ha y7a ff7 fs3 fc1 sc0 ls0 ws4c">ation and analy<span class="_ _1"></span>sis of t<span class="_ _2"></span>he results. In section V<span class="_ _d"></span>, w<span class="_ _0"></span>e discuss the threats to validity<span class="_ _d"></span>. Section VI </div><div class="t m0 x2 ha y7b ff7 fs3 fc1 sc0 ls0 ws0">presents the related wor<span class="_ _1"></span>k. Finally<span class="_ _1"></span>, the last section concludes the paper<span class="_ _1"></span>.</div><div class="t m0 x2 h10 y7c ff6 fs6 fc1 sc0 ls0 ws4d">2 <span class="_ _e"> </span> Our <span class="_ _11"> </span>approach</div><div class="t m0 x2 ha y7d ff7 fs3 fc1 sc0 ls0 ws4e">In this section, we propose a bug report classification framew<span class="_ _0"></span>ork called LLM&#8211;BR<span class="_ _1"></span>C. </div><div class="t m0 x2 ha y7e ff7 fs3 fc1 sc0 ls0 ws31">The ov<span class="_ _1"></span>erall procedure of LLM&#8211;BR<span class="_ _0"></span>C&#58911;<span class="_ _12"> </span>is depicted in Fig.&#58911;<span class="_ _11"> </span><span class="fc2 ws0">1</span>. As shown in the figure, </div><div class="t m0 x2 ha y7f ff7 fs3 fc1 sc0 ls0 ws4f">LLM&#8211;BRC&#58911;comprises three sequential steps: data preparation, LLM-based bug report rep<span class="ws0">-</span></div><div class="t m0 x2 ha y80 ff7 fs3 fc1 sc0 ls0 ws50">resentation, and bug repor<span class="_ _2"></span>t classification. In the dat<span class="_ _2"></span>a preparation phase, we s<span class="_ _0"></span>tar<span class="_ _2"></span>t by e<span class="_ _1"></span>xtract<span class="ws0">-</span></div><div class="t m0 x2 ha y81 ff7 fs3 fc1 sc0 ls0 ws51">ing inf<span class="_ _1"></span>or<span class="_ _2"></span>mation from bug repor<span class="_ _2"></span>ts in deep learning framew<span class="_ _0"></span>orks<span class="_ _1"></span>&#8217; GitHub repositor<span class="_ _2"></span>ies, using </div><div class="t m0 x2 ha y82 ff7 fs3 fc1 sc0 ls0 ws52">a custom-designed w<span class="_ _1"></span>eb craw<span class="_ _1"></span>l tool. Next, the preprocessed bug r<span class="_ _0"></span>eports are fed into the </div><div class="t m0 x2 hb y83 ff7 fs3 fc1 sc0 ls0 ws0">OpenAI&#8217;<span class="_ _1"></span>s <span class="_ _2"></span><span class="ff8">text-embedding-ada-002</span><span class="wsf"> model, which transf<span class="_ _1"></span>orms t<span class="_ _2"></span>he natural language te<span class="_ _1"></span>xt into </span></div><div class="t m0 x2 ha y84 ff7 fs3 fc1 sc0 ls0 ws48">dense embedding vector r<span class="_ _0"></span>epresentations. These embeddings capture the semantic meaning </div><div class="t m0 x2 ha y85 ff7 fs3 fc1 sc0 ls0 ws53">and contextual inf<span class="_ _1"></span>ormation present in t<span class="_ _2"></span>he bug reports. Finally<span class="_ _1"></span>, a FFN is constructed and </div><div class="t m0 x2 ha y86 ff7 fs3 fc1 sc0 ls0 ws54">trained using labeled bug reports. The FFN utilizes t<span class="_ _2"></span>he learned embeddings to per<span class="_ _2"></span>f<span class="_ _0"></span>orm t<span class="_ _2"></span>he </div><div class="t m0 x2 ha y87 ff7 fs3 fc1 sc0 ls0 ws55">bug report classif<span class="_ _2"></span>ication task. In the subsequent par<span class="_ _2"></span>ts of this section, we pro<span class="_ _1"></span>vide a detailed </div><div class="t m0 x2 ha y88 ff7 fs3 fc1 sc0 ls0 ws0">explanation of eac<span class="_ _1"></span>h step of LLM&#8211;BRC.</div><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[2.037103,0.000000,0.000000,2.037103,0.000000,0.000000]}'></div></div><div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89910896/bg4.jpg"><div class="t m0 x10 h3 y2b ff2 fs0 fc1 sc0 ls0 ws0">988</div><div class="t m0 x2 h3 y2c ff2 fs0 fc1 sc0 ls0 ws0"> <span class="_ _9"> </span>Software Quality Journal (2024) 32:985&#8211;1005</div><div class="t m0 x11 h4 y89 ffc fs1 fc1 sc0 ls0 ws1">1 3</div><div class="t m0 x2 h11 y8a ffd fs7 fc1 sc0 ls0 ws56">2.1 <span class="_ _13"> </span> Data <span class="_ _c"> </span>preparation</div><div class="t m0 x2 ha y8b ff7 fs3 fc1 sc0 ls6 ws57">W<span class="_ _1"></span>e initiate the data preparation process by cra<span class="_ _1"></span>w<span class="_ _1"></span>ling bug repor<span class="_ _2"></span>ts based on their Bug-ID </div><div class="t m0 x2 ha y8c ff7 fs3 fc1 sc0 ls6 ws58">from the GitHub repositories of TensorFlo<span class="_ _1"></span>w<span class="_ _1"></span>, MXNET, and PaddleP<span class="_ _1"></span>addle. This craw<span class="_ _1"></span>l </div><div class="t m0 x2 ha y8d ff7 fs3 fc1 sc0 ls6 ws59">phase considers a total of 3,110 bug reports from these t<span class="_ _2"></span>hree deep learning frame<span class="ls0 ws0">-</span></div><div class="t m0 x2 ha y8e ff7 fs3 fc1 sc0 ls6 ws4c">wor<span class="_ _1"></span>k<span class="_ _2"></span>s, which w<span class="_ _1"></span>ere previously labeled in our pr<span class="_ _0"></span>evious w<span class="_ _1"></span>ork (Du et&#58911;al., <span class="fc2 ws5a">2022</span>). Since text </div><div class="t m0 x2 ha y8f ff7 fs3 fc1 sc0 ls6 ws5b">is the dominant featur<span class="_ _0"></span>e contained in bug repor<span class="_ _2"></span>ts, we collect natural languag<span class="_ _1"></span>e informa<span class="ls0 ws0">-</span></div><div class="t m0 x2 ha y90 ff7 fs3 fc1 sc0 ls6 ws5c">tion including title, description, and comments from each bug report. Among them, t<span class="_ _2"></span>he </div><div class="t m0 x2 ha y91 ff7 fs3 fc1 sc0 ls6 ws5d">title pro<span class="_ _0"></span>vides a concise summary of t<span class="_ _2"></span>he entire bug report, offering a br<span class="_ _2"></span>ief ov<span class="_ _1"></span>er<span class="_ _2"></span>view of<span class="_ _1"></span> </div><div class="t m0 x2 ha y92 ff7 fs3 fc1 sc0 ls6 ws24">the entire bug repor<span class="_ _2"></span>t. The description section contains a det<span class="_ _2"></span>ailed account of the issue, </div><div class="t m0 x2 ha y93 ff7 fs3 fc1 sc0 ls6 ws5e">including observed software anomalies, the softw<span class="_ _1"></span>are r<span class="_ _2"></span>untime environment, repr<span class="_ _1"></span>oduction </div><div class="t m0 x2 ha y94 ff7 fs3 fc1 sc0 ls6 ws5f">steps, and other rele<span class="_ _1"></span>vant details. Fur<span class="_ _2"></span>ther<span class="_ _2"></span>more, the comment section comprises discus<span class="ls0 ws0">-</span></div><div class="t m0 x2 ha y95 ff7 fs3 fc1 sc0 ls6 ws60">sions and ex<span class="_ _1"></span>changes among de<span class="_ _1"></span>velopers, the report submitter, and other interest parties. </div><div class="t m0 x2 ha y96 ff7 fs3 fc1 sc0 ls6 ws61">These comments pro<span class="_ _0"></span>vide valuable insights and additional inf<span class="_ _1"></span>ormation related to t<span class="_ _2"></span>he </div><div class="t m0 x2 ha y97 ff7 fs3 fc1 sc0 ls6 ws0">reported issue.</div><div class="t m0 x2 h11 y98 ffd fs7 fc1 sc0 ls0 ws0">2.2 <span class="_ _14"> </span> <span class="_ _15"></span>LLM&#8209;based bug report representation</div><div class="t m0 x2 ha y99 ff7 fs3 fc1 sc0 ls7 ws62">After extracting bug reports, we obtain a corpus of text data. To represent these te<span class="_ _1"></span>xts effec<span class="ls0 ws0">-</span></div><div class="t m0 x2 hb y9a ff7 fs3 fc1 sc0 ls7 ws2c">tivel<span class="_ _1"></span>y<span class="_ _1"></span>, we utilize a po<span class="_ _0"></span>werful pre-trained larg<span class="_ _1"></span>e language model called <span class="ff8 ws63">text-embedding-ada-002</span><span class="ls0 ws0">. </span></div><div class="t m0 x2 hb y9b ff7 fs3 fc1 sc0 ls7 ws64">By applying <span class="ff8 ws63">t<span class="_ _1"></span>ext-embedding-ada-002<span class="ff7 ws64"> to the texts, we obtain dense and lo<span class="_ _1"></span>w-dimensional </span></span></div><div class="t m0 x2 ha y9c ff7 fs3 fc1 sc0 ls7 ws0">embedding vectors that serve as compact r<span class="_ _0"></span>epresentations of the or<span class="_ _2"></span>iginal bug repor<span class="_ _2"></span>ts.</div><div class="t m0 x12 hb y9d ff7 fs3 fc1 sc0 ls0 ws0">Specifically<span class="_ _1"></span>, <span class="_ _16"> </span><span class="ff8">text-embedding-ada-002</span><span class="ws65"> model emplo<span class="_ _1"></span>ys the Transf<span class="_ _1"></span>ormer architecture </span></div><div class="t m0 x2 ha y9e ff7 fs3 fc1 sc0 ls0 ws19">(Ashish et&#58911;<span class="_ _b"></span>al., <span class="fc2 ws0">2017</span>) to con<span class="_ _1"></span>vert input into a 1,536-dimensional vector<span class="_ _1"></span>. Firstl<span class="_ _1"></span>y<span class="_ _1"></span>, each input </div><div class="t m0 x2 ha y9f ff7 fs3 fc1 sc0 ls0 ws66">bug report is tokenized and segmented into tokens. Ne<span class="_ _1"></span>xt, the tokens pass through 96 </div><div class="t m0 x2 ha ya0 ff7 fs3 fc1 sc0 ls0 ws67">decoder la<span class="_ _0"></span>yers, eac<span class="_ _1"></span>h compr<span class="_ _2"></span>ising a masked multi-head self-attention mechanism and a f<span class="_ _1"></span>eed-</div><div class="t m0 x2 ha ya1 ff7 fs3 fc1 sc0 ls0 ws5c">f<span class="_ _1"></span>or<span class="_ _2"></span>ward neural ne<span class="_ _1"></span>twork. The multi-head self-attention la<span class="_ _1"></span>yer computes self-attention on the </div><div class="t m0 x2 ha ya2 ff7 fs3 fc1 sc0 ls0 ws37">input sequential data, generating f<span class="_ _1"></span>eature representations f<span class="_ _0"></span>or each position in the sequence. </div><div class="t m0 x2 ha ya3 ff7 fs3 fc1 sc0 ls0 ws68">The f<span class="_ _1"></span>eed-forward ne<span class="_ _1"></span>twork performs fully connected calculations on the f<span class="_ _1"></span>eature vectors at </div><div class="t m0 x2 ha ya4 ff7 fs3 fc1 sc0 ls0 ws69">each position, producing ne<span class="_ _1"></span>w feature representations. Its crucial role is to pro<span class="_ _0"></span>vide nonlin<span class="ws0">-</span></div><div class="t m0 x2 ha ya5 ff7 fs3 fc1 sc0 ls0 ws0">ear transf<span class="_ _1"></span>or<span class="_ _2"></span>mations.</div><div class="t m0 x2 h12 ya6 ff5 fs0 fc1 sc0 ls0 ws0">Fig<span class="_ _0"></span>. 1 <span class="_ _12"> </span> <span class="_ _1"></span><span class="ff7">Detailed structure of&#58911; LLM-BRC</span></div><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[2.037103,0.000000,0.000000,2.037103,0.000000,0.000000]}'></div></div><div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89910896/bg5.jpg"><div class="t m0 x13 h3 y5c ff2 fs0 fc1 sc0 ls0 ws0">989</div><div class="t m0 x2 h3 y5d ff2 fs0 fc1 sc0 ls0 ws0">Software Quality Journal (2024) 32:985&#8211;1005 </div><div class="t m0 x3 h4 y89 ffe fs1 fc1 sc0 ls0 ws1">1 3</div><div class="t m0 x12 ha y5e ff7 fs3 fc1 sc0 ls0 ws6a">The decoder la<span class="_ _0"></span>yers s<span class="_ _1"></span>t<span class="_ _2"></span>ar<span class="_ _2"></span>t by appl<span class="_ _1"></span>ying </div><div class="c x15 ya7 w2 h13"><div class="t m0 x0 h14 ya8 fff fs8 fc1 sc0 ls0 ws0">h</div></div><div class="t m0 x16 ha y5e ff7 fs3 fc1 sc0 ls0 ws6a"> diff<span class="_ _0"></span>erent linear projections to the Query<span class="_ _1"></span>, Key<span class="_ _d"></span>, and </div><div class="t m0 x2 hb y5f ff7 fs3 fc1 sc0 ls0 ws0">V<span class="_ _d"></span>alue. The resulting attention values f<span class="_ _1"></span>or each head <span class="ff8">i</span> are calculated as f<span class="_ _1"></span>ollow<span class="_ _0"></span>s:</div><div class="t m0 x2 ha ya9 ff7 fs3 fc1 sc0 ls0 ws0">where </div><div class="c x17 yaa w3 h15"><div class="t m0 x18 h16 yab ff10 fs8 fc1 sc0 ls0 ws0">Q</div></div><div class="t m0 x19 ha yac ff7 fs3 fc1 sc0 ls0 ws6b"> , </div><div class="c x1a yad w4 h17"><div class="t m0 x0 h18 yae ff11 fs8 fc1 sc0 ls0 ws0">K</div></div><div class="t m0 x1b ha yac ff7 fs3 fc1 sc0 ls0 ws6b"> , <span class="_ _11"> </span>and </div><div class="c x1c yaf w5 h19"><div class="t m0 x18 h18 yb0 ff12 fs8 fc1 sc0 ls0 ws0">V</div></div><div class="t m0 x1d ha yac ff7 fs3 fc1 sc0 ls0 ws0"> represent the query vector<span class="_ _1"></span>, key v<span class="_ _1"></span>ector, and v<span class="_ _1"></span>alue vector<span class="_ _1"></span>, respectively<span class="_ _d"></span>.</div><div class="t m0 x12 ha yb1 ff7 fs3 fc1 sc0 ls0 ws6c">The attention mechanism used in the transf<span class="_ _1"></span>or<span class="_ _2"></span>mer employ<span class="_ _1"></span>s scaled dot-product attention, </div><div class="t m0 x2 ha yb2 ff7 fs3 fc1 sc0 ls0 ws0">which can be defined as:</div><div class="t m0 x2 ha yb3 ff7 fs3 fc1 sc0 ls0 ws0">where, </div><div class="c x1e yb4 w6 h1a"><div class="t m0 x18 h14 yb5 ff13 fs8 fc1 sc0 ls0 ws0">d</div><div class="t m0 x1f h1b yb6 ff13 fs9 fc1 sc0 ls0 ws0">k</div></div><div class="t m0 x20 ha yb7 ff7 fs3 fc1 sc0 ls0 ws0"> represents the dimension of the query/key v<span class="_ _1"></span>ectors.</div><div class="t m0 x12 ha yb8 ff7 fs3 fc1 sc0 ls0 ws11">The resulting attention values fr<span class="_ _0"></span>om all the heads are concatenated together<span class="_ _1"></span>, resulting in </div><div class="t m0 x2 ha yb9 ff7 fs3 fc1 sc0 ls0 ws0">a single multi-head attention output:</div><div class="t m0 x2 ha yba ff7 fs3 fc1 sc0 ls0 ws0">where </div><div class="c x17 ybb w7 h1c"><div class="t m0 x18 h1d ybc ff14 fs8 fc1 sc0 ls0 ws0">W</div><div class="t m0 x21 h1e ybd ff14 fs9 fc1 sc0 ls0 ws0">O</div></div><div class="t m0 x22 ha ybe ff7 fs3 fc1 sc0 ls0 ws0"> is a weight matrix used to combine the multi-head attention outputs.</div><div class="t m0 x12 ha ybf ff7 fs3 fc1 sc0 ls0 wsd">Additionall<span class="_ _1"></span>y<span class="_ _1"></span>, t<span class="_ _2"></span>he decoder includes an additional masked multi-head self-attention la<span class="_ _1"></span>yer<span class="_ _1"></span>. </div><div class="t m0 x2 ha yc0 ff7 fs3 fc1 sc0 ls0 ws1b">This la<span class="_ _0"></span>yer pre<span class="_ _1"></span>vents the model from seeing future inf<span class="_ _1"></span>or<span class="_ _2"></span>mation during sequence prediction. </div><div class="t m0 x2 ha yc1 ff7 fs3 fc1 sc0 ls0 ws0">Hence, the final output of t<span class="_ _2"></span>he decoder can be represented as:</div><div class="t m0 x2 ha yc2 ff7 fs3 fc1 sc0 ls0 ws0">where </div><div class="c x23 yc3 w8 h1f"><div class="t m0 x0 h20 yc4 ff15 fs8 fc1 sc0 ls0 ws0">y</div></div><div class="t m0 x19 ha yc5 ff7 fs3 fc1 sc0 ls0 ws6d"> represents the input sequential data, </div><div class="c x24 yc6 w9 h21"><div class="t m0 x0 h20 yc7 ff16 fs8 fc1 sc0 ls0 ws0">x</div></div><div class="t m0 x25 ha yc5 ff7 fs3 fc1 sc0 ls0 ws6d"> ref<span class="_ _1"></span>ers to the output sequence from the </div><div class="t m0 x2 ha yc8 ff7 fs3 fc1 sc0 ls0 ws0">encoder, </div><div class="c x26 yc9 wa h19"><div class="t m0 x0 h22 yca ff17 fs8 fc1 sc0 ls0 ws0">MHA</div></div><div class="t m0 x27 ha ycb ff7 fs3 fc1 sc0 ls0 ws6e"> denotes the multi-head self-attention la<span class="_ _0"></span>yer<span class="_ _1"></span>, </div><div class="c x28 ycc wb h19"><div class="t m0 x18 h18 yc7 ff18 fs8 fc1 sc0 ls0 ws0">FFN</div></div><div class="t m0 x29 ha ycb ff7 fs3 fc1 sc0 ls0 ws6e"> represents the f<span class="_ _1"></span>eed forward </div><div class="t m0 x2 ha ycd ff7 fs3 fc1 sc0 ls0 ws0">la<span class="_ _0"></span>yer<span class="_ _1"></span>, </div><div class="c x2a yce wc h23"><div class="t m0 x0 h18 ycf ff19 fs8 fc1 sc0 ls0 ws0">LN</div></div><div class="t m0 x2b ha yd0 ff7 fs3 fc1 sc0 ls0 ws3e"> represents the lay<span class="_ _1"></span>er nor<span class="_ _2"></span>malization la<span class="_ _0"></span>yer<span class="_ _1"></span>, and </div><div class="c x2c yd1 wd h24"><div class="t m0 x0 h22 yd2 ff1a fs8 fc1 sc0 ls0 ws0">M</div><div class="t m0 x21 h25 yd3 ff1a fs9 fc1 sc0 ls0 ws0">MHA</div></div><div class="t m0 x2d ha yd0 ff7 fs3 fc1 sc0 ls0 ws3e"> signifies the masked multi-</div><div class="t m0 x2 ha yd4 ff7 fs3 fc1 sc0 ls0 ws0">head self-attention la<span class="_ _0"></span>yer<span class="_ _d"></span>.</div><div class="t m0 x12 ha yd5 ff7 fs3 fc1 sc0 ls0 ws6f">Finally<span class="_ _d"></span>, the output of t<span class="_ _2"></span>he attention la<span class="_ _0"></span>yer under<span class="_ _1"></span>goes processing through a feed-f<span class="_ _1"></span>orward </div><div class="t m0 x2 ha yd6 ff7 fs3 fc1 sc0 ls0 ws3a">neural netw<span class="_ _1"></span>ork. The position-wise feed-f<span class="_ _1"></span>orward netw<span class="_ _1"></span>ork is a fully connected f<span class="_ _1"></span>eed-f<span class="_ _1"></span>or<span class="_ _2"></span>ward </div><div class="t m0 x2 ha yd7 ff7 fs3 fc1 sc0 ls0 ws35">neural netw<span class="_ _1"></span>ork where each w<span class="_ _1"></span>ord at a position passes t<span class="_ _2"></span>hrough the same netw<span class="_ _1"></span>ork indepen<span class="ws0">-</span></div><div class="t m0 x2 ha yd8 ff7 fs3 fc1 sc0 ls0 ws5f">dently<span class="_ _d"></span>. It essentially consis<span class="_ _1"></span>ts of two fully connected la<span class="_ _1"></span>yers. After passing through all the </div><div class="t m0 x2 ha yd9 ff7 fs3 fc1 sc0 ls0 ws2c">decoder la<span class="_ _0"></span>yers, the final output is generated b<span class="_ _1"></span>y t<span class="_ _2"></span>he last decoder la<span class="_ _1"></span>yer<span class="_ _1"></span>. This output contains </div><div class="t m0 x2 ha yda ff7 fs3 fc1 sc0 ls0 ws70">the contextual inf<span class="_ _1"></span>or<span class="_ _2"></span>mation of the bug repor<span class="_ _2"></span>ts and serves as the ultimate embedding vector </div><div class="t m0 x2 ha ydb ff7 fs3 fc1 sc0 ls0 ws71">representation for bug r<span class="_ _0"></span>eports. This embedding vector will be used f<span class="_ _1"></span>or subsequent classifi<span class="ws0">-</span></div><div class="t m0 x2 ha ydc ff7 fs3 fc1 sc0 ls0 ws0">cation tasks.</div><div class="t m0 x2 h11 ydd ffd fs7 fc1 sc0 ls0 ws0">2.3 <span class="_ _14"> </span> <span class="_ _15"></span>Bug report classification</div><div class="t m0 x2 ha yde ff7 fs3 fc1 sc0 ls6 wsd">In this section, we conduct the bug report classif<span class="_ _2"></span>ication task at three levels, as depicted<span class="_ _1"></span> </div><div class="t m0 x2 ha ydf ff7 fs3 fc1 sc0 ls6 ws72">in Fig.&#58911;<span class="_ _17"></span><span class="fc2 ls0 ws0">2</span>. At the first lev<span class="_ _1"></span>el, we classify bug repor<span class="_ _2"></span>ts into tw<span class="_ _1"></span>o categor<span class="_ _2"></span>ies: bugs and non-</div><div class="t m0 x2 ha ye0 ff7 fs3 fc1 sc0 ls6 ws66">bugs. As depicted in Herzig et&#58911;<span class="_ _11"> </span>al. (<span class="fc2 ws5a">2013</span>), no<span class="_ _1"></span>t all bug repor<span class="_ _2"></span>ts contain actual bugs. </div><div class="t m0 x2 ha ye1 ff7 fs3 fc1 sc0 ls6 ws39">Theref<span class="_ _1"></span>ore, bug repor<span class="_ _2"></span>ts related to requests f<span class="_ _1"></span>or new f<span class="_ _1"></span>eatures or enhancements, documen<span class="ls0 ws0">-</span></div><div class="t m0 x2 ha ye2 ff7 fs3 fc1 sc0 ls6 ws73">tation issues (e.g., missing information, outdated documentation, or har<span class="_ _2"></span>mless w<span class="_ _1"></span>ar<span class="_ _2"></span>n<span class="ls0 ws0">-</span></div><div class="t m0 x2 ha ye3 ff7 fs3 fc1 sc0 ls6 ws74">ing outputs), compile-time issues (e.g., cmake errors or linking er<span class="_ _2"></span>rors), operator errors </div><div class="t m0 x2 ha ye4 ff7 fs3 fc1 sc0 ls6 ws5f">or duplicate reports are considered non-bugs and should be f<span class="_ _2"></span>iltered out. Based on the </div><div class="t m0 x2 ha ye5 ff7 fs3 fc1 sc0 ls6 wsd">complexity of f<span class="_ _1"></span>ault activation and/or error propagation conditions, w<span class="_ _1"></span>e predict bugs into </div><div class="t m0 x2 ha ye6 ff7 fs3 fc1 sc0 ls6 ws75">Bohrbugs (BOHs) and Mandelbugs (MANs) in the second le<span class="_ _0"></span>vel (Gr<span class="_ _1"></span>ottke &amp; Trivedi,<span class="_ _1"></span> </div><div class="t m0 x2 ha ye7 ff7 fs3 fc2 sc0 ls6 ws5a">2005<span class="fc1 ws4b">). Finally<span class="_ _d"></span>, within t<span class="_ _2"></span>he MAN category<span class="_ _1"></span>, we fur<span class="_ _2"></span>ther differentiate be<span class="_ _1"></span>tween aging-related </span></div><div class="t m0 x2e ha ye8 ff7 fs3 fc1 sc0 ls0 ws0">(1)</div><div class="c x2f ye9 we h26"><div class="t m0 x18 h14 yea ff1b fs8 fc1 sc0 ls0 ws0">head</div><div class="t m0 x30 h1b yeb ff1b fs9 fc1 sc0 ls0 ws0">i</div></div><div class="t m0 x31 h14 yec ff1c fs8 fc1 sc0 ls0 ws0">=<span class="_ _12"> </span><span class="ff1b">attention</span>(<span class="ff1b">QW</span></div><div class="c x2f ye9 we h26"><div class="t m0 x22 h1b yed ff1b fs9 fc1 sc0 ls0 ws0">Q</div><div class="t m0 x32 h1b yee ff1b fs9 fc1 sc0 ls0 ws0">i</div></div><div class="t m0 x33 h14 yec ff1d fs8 fc1 sc0 ls0 ws0">,<span class="_ _c"> </span><span class="ff1b">KW</span></div><div class="t m0 x34 h1b yef ff1b fs9 fc1 sc0 ls0 ws0">K</div><div class="c x2f ye9 we h26"><div class="t m0 x35 h1b yf0 ff1b fs9 fc1 sc0 ls0 ws0">i</div></div><div class="t m0 x36 h14 yf1 ff1d fs8 fc1 sc0 ls0 ws0">,<span class="_ _c"> </span><span class="ff1b">VW</span></div><div class="t m0 x37 h1b yf2 ff1b fs9 fc1 sc0 ls0 ws0">V</div><div class="c x2f ye9 we h26"><div class="t m0 x38 h1b yf3 ff1b fs9 fc1 sc0 ls0 ws0">i</div><div class="t m0 x39 h27 yf4 ff1c fs8 fc1 sc0 ls0 ws0">)</div></div><div class="t m0 x2e ha yf5 ff7 fs3 fc1 sc0 ls0 ws0">(2)</div><div class="t m0 x3a h14 yf6 ff1e fs8 fc1 sc0 ls0 ws0">Attention<span class="ff1f">(</span>Q<span class="ff20">,<span class="_ _c"> </span></span>K<span class="_ _2"></span><span class="ff20">,<span class="_ _c"> </span></span>V<span class="_ _17"></span><span class="ff1f ls8 ws76">)=</span>sof<span class="_ _2"></span>tmax<span class="ff1f">(</span></div><div class="t m0 x3b h14 yf7 ff1e fs8 fc1 sc0 ls0 ws0">QK</div><div class="c x3a yf8 wf h28"><div class="t m0 x38 h1b yf9 ff1e fs9 fc1 sc0 ls0 ws0">T</div><div class="t m0 x3c h29 yfa ff21 fs8 fc1 sc0 ls0 ws0">&#8730;</div></div><div class="t m0 x28 h14 yfb ff1f fs8 fc1 sc0 ls0 ws0">(<span class="ff1e">d</span></div><div class="c x3a yf8 wf h28"><div class="t m0 x38 h1b yfc ff1e fs9 fc1 sc0 ls0 ws0">k</div></div><div class="t m0 x3d h27 yfd ff1f fs8 fc1 sc0 ls0 ws0">)</div><div class="t m0 xc h14 yfe ff1f fs8 fc1 sc0 ls0 ws0">)<span class="ff1e">V</span></div><div class="t m0 x2e ha yff ff7 fs3 fc1 sc0 ls0 ws0">(3)</div><div class="c x3e y100 w10 h2a"><div class="t m0 x0 h14 y101 ff22 fs8 fc1 sc0 ls0 ws0">MultiHead</div></div><div class="t m0 x3f h27 y102 ff23 fs8 fc1 sc0 ls0 ws0">(</div><div class="c x3e y100 w10 h2a"><div class="t m0 x40 h14 y101 ff22 fs8 fc1 sc0 ls0 ws0">Q</div></div><div class="t m0 x41 h27 y102 ff24 fs8 fc1 sc0 ls0 ws0">,</div><div class="c x3e y100 w10 h2a"><div class="t m0 x42 h14 y101 ff22 fs8 fc1 sc0 ls0 ws0">K</div></div><div class="t m0 x43 h27 y102 ff24 fs8 fc1 sc0 ls0 ws0">,</div><div class="c x3e y100 w10 h2a"><div class="t m0 x44 h14 y101 ff22 fs8 fc1 sc0 ls0 ws0">V</div></div><div class="t m0 x45 h27 y102 ff23 fs8 fc1 sc0 ls8 ws76">)=</div><div class="c x3e y100 w10 h2a"><div class="t m0 x46 h14 y101 ff22 fs8 fc1 sc0 ls0 ws0">concat</div></div><div class="t m0 x47 h27 y102 ff23 fs8 fc1 sc0 ls0 ws0">(</div><div class="c x3e y100 w10 h2a"><div class="t m0 x48 h14 y101 ff22 fs8 fc1 sc0 ls0 ws0">head</div><div class="t m0 x49 h2b y103 ff24 fs9 fc1 sc0 ls0 ws0">1</div></div><div class="t m0 x4a h27 y102 ff24 fs8 fc1 sc0 ls0 ws0">,<span class="_ _c"> </span>...,</div><div class="c x3e y100 w10 h2a"><div class="t m0 x7 h14 y101 ff22 fs8 fc1 sc0 ls0 ws0">head</div><div class="t m0 x31 h1b y103 ff22 fs9 fc1 sc0 ls0 ws0">h</div></div><div class="t m0 x4b h27 y102 ff23 fs8 fc1 sc0 ls0 ws0">)</div><div class="c x3e y100 w10 h2a"><div class="t m0 x4c h14 y101 ff22 fs8 fc1 sc0 ls0 ws0">W</div><div class="t m0 x4d h1b y104 ff22 fs9 fc1 sc0 ls0 ws0">O</div></div><div class="t m0 x2e ha y105 ff7 fs3 fc1 sc0 ls0 ws0">(4)</div><div class="c x6 y106 w11 h2c"><div class="t m0 x0 h14 y107 ff25 fs8 fc1 sc0 ls0 ws0">DecoderLayer</div></div><div class="t m0 x4e h27 y108 ff26 fs8 fc1 sc0 ls0 ws0">(</div><div class="c x6 y106 w11 h2c"><div class="t m0 x12 h14 y107 ff25 fs8 fc1 sc0 ls0 ws0">y</div></div><div class="t m0 x4f h27 y108 ff26 fs8 fc1 sc0 ls9 ws77">)=</div><div class="c x6 y106 w11 h2c"><div class="t m0 x50 h14 y107 ff25 fs8 fc1 sc0 ls0 ws0">LN</div></div><div class="t m0 x51 h27 y108 ff26 fs8 fc1 sc0 ls0 ws0">(</div><div class="c x6 y106 w11 h2c"><div class="t m0 x52 h14 y107 ff25 fs8 fc1 sc0 ls0 ws0">y</div></div><div class="t m0 x53 h27 y108 ff26 fs8 fc1 sc0 ls0 ws0">+</div><div class="c x6 y106 w11 h2c"><div class="t m0 x54 h14 y107 ff25 fs8 fc1 sc0 ls0 ws0">M</div><div class="t m0 x3c h1b y109 ff25 fs9 fc1 sc0 ls0 ws0">MHA<span class="ff26">(</span>y<span class="ff26">)</span></div></div><div class="t m0 x55 h27 y108 ff26 fs8 fc1 sc0 ls0 ws0">+</div><div class="c x6 y106 w11 h2c"><div class="t m0 x56 h14 y107 ff25 fs8 fc1 sc0 ls0 ws0">MHA</div></div><div class="t m0 x57 h27 y108 ff26 fs8 fc1 sc0 ls0 ws0">(</div><div class="c x6 y106 w11 h2c"><div class="t m0 x31 h14 y107 ff25 fs8 fc1 sc0 ls0 ws0">y<span class="ff27">,<span class="_ _c"> </span></span>x</div></div><div class="t m0 x58 h27 y108 ff26 fs8 fc1 sc0 lsa ws78">)+</div><div class="c x6 y106 w11 h2c"><div class="t m0 x59 h14 y107 ff25 fs8 fc1 sc0 ls0 ws0">FFN</div></div><div class="t m0 x5a h27 y108 ff26 fs8 fc1 sc0 ls0 ws0">(</div><div class="c x6 y106 w11 h2c"><div class="t m0 x5b h14 y107 ff25 fs8 fc1 sc0 ls0 ws0">y<span class="ff26">))</span></div></div><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[2.037103,0.000000,0.000000,2.037103,0.000000,0.000000]}'></div></div>
100+评论
captcha
    类型标题大小时间
    ZIPjavaweb项目选课管理系统spring+springMVC+mybatis+mysql-java课程设计毕业设计44.32MB6月前
    ZIP基于Springboot的旅游网站的设计与实现8.89MB6月前
    ZIPjavaweb项目学生信息管理系统spring+springMVC+mybatis+mysql-java课程设计毕业设计16.3MB6月前
    ZIPjavaweb项目在线试衣系统spring+springMVC+mybatis+mysql-java课程设计毕业设计65.49MB6月前
    ZIPjavaweb项目校园社团管理系统spring+springMVC+mybatis+mysql-java课程设计毕业设计87.54MB6月前
    ZIPSTM32F407 HAL库:双DAC的信号发生器+双ADC采集16.75MB6月前
    ZIPjavaweb项目鲜花商城管理系统spring+springMVC+mybatis+mysql-java课程设计毕业设计64.53MB6月前
    ZIPyolov5实现人群计数30.58MB6月前