IEEE Transactions on Software Engineering最新文献

筛选
英文 中文
How Do Developers Structure Unit Test Cases? An Empirical Analysis of the AAA Pattern in Open Source Projects
IF 6.5 1区 计算机科学
IEEE Transactions on Software Engineering Pub Date : 2025-01-31 DOI: 10.1109/TSE.2025.3537337
Chenhao Wei;Lu Xiao;Tingting Yu;Sunny Wong;Abigail Clune
{"title":"How Do Developers Structure Unit Test Cases? An Empirical Analysis of the AAA Pattern in Open Source Projects","authors":"Chenhao Wei;Lu Xiao;Tingting Yu;Sunny Wong;Abigail Clune","doi":"10.1109/TSE.2025.3537337","DOIUrl":"10.1109/TSE.2025.3537337","url":null,"abstract":"The AAA (Arrange, Act, Assert) pattern provides a unified structure for unit test cases, potentially benefiting comprehension and maintenance. However, its adoption and implementation in practice remain insufficiently understood. This study investigates the prevalence of AAA pattern usage, identifies recurring deviations and design issues within AAA structures, and assesses developers’ receptiveness to AAA-based improvements. We conducted an empirical study on 735 real-life unit test cases randomly selected from seven open-source projects. We manually analyzed these test cases, identified AAA-related issues, and proposed fixes to developers. Our analysis found that 77% of test cases follow the AAA structure. We identified three recurring patterns deviating from AAA and four design issues within A blocks. Comparison with classic test smells revealed unique insights provided by AAA analysis. Of 27 improvement proposals sent to developers, 78% received positive feedback. These findings show that the AAA pattern is widely adopted in practice, but deviations from and design issues within AAA patterns are common. Our analysis provides a novel perspective on test case quality, complementing traditional test smell analysis. The high acceptance rate of our improvement proposals suggests that developers value AAA-based enhancements. These findings can guide the development of tools for improving AAA practice in unit tests.","PeriodicalId":13324,"journal":{"name":"IEEE Transactions on Software Engineering","volume":"51 4","pages":"1007-1038"},"PeriodicalIF":6.5,"publicationDate":"2025-01-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143072458","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":1,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Ten Years of Journal First Publication in Software Engineering
IF 7.4 1区 计算机科学
IEEE Transactions on Software Engineering Pub Date : 2025-01-30 DOI: 10.1109/tse.2025.3536852
Matthew B. Dwyer
{"title":"Ten Years of Journal First Publication in Software Engineering","authors":"Matthew B. Dwyer","doi":"10.1109/tse.2025.3536852","DOIUrl":"https://doi.org/10.1109/tse.2025.3536852","url":null,"abstract":"","PeriodicalId":13324,"journal":{"name":"IEEE Transactions on Software Engineering","volume":"11 1","pages":""},"PeriodicalIF":7.4,"publicationDate":"2025-01-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143071728","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":1,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
AFLNet Five Years Later: On Coverage-Guided Protocol Fuzzing
IF 6.5 1区 计算机科学
IEEE Transactions on Software Engineering Pub Date : 2025-01-30 DOI: 10.1109/TSE.2025.3535925
Ruijie Meng;Van-Thuan Pham;Marcel Böhme;Abhik Roychoudhury
{"title":"AFLNet Five Years Later: On Coverage-Guided Protocol Fuzzing","authors":"Ruijie Meng;Van-Thuan Pham;Marcel Böhme;Abhik Roychoudhury","doi":"10.1109/TSE.2025.3535925","DOIUrl":"10.1109/TSE.2025.3535925","url":null,"abstract":"Protocol implementations are stateful which makes them difficult to test: Sending the same test input message twice might yield a different response every time. Our proposal to consider a sequence of messages as a seed for coverage-directed greybox fuzzing, to associate each message with the corresponding protocol state, and to maximize the coverage of both the state space and the code was first published in 2020 in a short tool demonstration paper. AFLNet was the first code- and state-coverage-guided protocol fuzzer; it used the response code as an indicator of the current protocol state. Over the past five years, the tool paper has gathered hundreds of citations, the code repository was forked almost 200 times and has seen over thirty pull requests from practitioners and researchers, and our initial proposal has been improved upon in many significant ways. In this paper, we first provide an extended discussion and a full empirical evaluation of the technical contributions of AFLNet and then reflect on the impact that our approach and our tool had in the past five years, on both the research and the practice of protocol fuzzing.","PeriodicalId":13324,"journal":{"name":"IEEE Transactions on Software Engineering","volume":"51 4","pages":"960-974"},"PeriodicalIF":6.5,"publicationDate":"2025-01-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10858174","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143071729","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":1,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Retrospective on: Constraint-Based Automatic Test Data Generation
IF 7.4 1区 计算机科学
IEEE Transactions on Software Engineering Pub Date : 2025-01-30 DOI: 10.1109/tse.2025.3535662
Jeff Offutt, Richard DeMillo
{"title":"Retrospective on: Constraint-Based Automatic Test Data Generation","authors":"Jeff Offutt, Richard DeMillo","doi":"10.1109/tse.2025.3535662","DOIUrl":"https://doi.org/10.1109/tse.2025.3535662","url":null,"abstract":"","PeriodicalId":13324,"journal":{"name":"IEEE Transactions on Software Engineering","volume":"27 1","pages":""},"PeriodicalIF":7.4,"publicationDate":"2025-01-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143071727","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":1,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Object-Oriented Development, Revisited
IF 7.4 1区 计算机科学
IEEE Transactions on Software Engineering Pub Date : 2025-01-30 DOI: 10.1109/tse.2025.3536328
G. Booch
{"title":"Object-Oriented Development, Revisited","authors":"G. Booch","doi":"10.1109/tse.2025.3536328","DOIUrl":"https://doi.org/10.1109/tse.2025.3536328","url":null,"abstract":"","PeriodicalId":13324,"journal":{"name":"IEEE Transactions on Software Engineering","volume":"47 1","pages":""},"PeriodicalIF":7.4,"publicationDate":"2025-01-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143071726","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":1,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Reflections on McCabe’s Cyclomatic Complexity
IF 7.4 1区 计算机科学
IEEE Transactions on Software Engineering Pub Date : 2025-01-27 DOI: 10.1109/tse.2025.3534580
Dennis Kafura
{"title":"Reflections on McCabe’s Cyclomatic Complexity","authors":"Dennis Kafura","doi":"10.1109/tse.2025.3534580","DOIUrl":"https://doi.org/10.1109/tse.2025.3534580","url":null,"abstract":"","PeriodicalId":13324,"journal":{"name":"IEEE Transactions on Software Engineering","volume":"27 1","pages":""},"PeriodicalIF":7.4,"publicationDate":"2025-01-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143049690","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":1,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
MM-SCS: Leveraging Multimodal Features to Enhance Smart Contract Code Search
IF 6.5 1区 计算机科学
IEEE Transactions on Software Engineering Pub Date : 2025-01-27 DOI: 10.1109/TSE.2025.3531692
Chaochen Shi;Yong Xiang;Jiangshan Yu;Longxiang Gao
{"title":"MM-SCS: Leveraging Multimodal Features to Enhance Smart Contract Code Search","authors":"Chaochen Shi;Yong Xiang;Jiangshan Yu;Longxiang Gao","doi":"10.1109/TSE.2025.3531692","DOIUrl":"10.1109/TSE.2025.3531692","url":null,"abstract":"Semantic code search technology allows searching for existing code snippets through natural language, which can greatly improve programming efficiency. Smart contracts, programs that run on the blockchain, have a code reuse rate of more than 79%, which means developers have a great demand for semantic code search tools. However, the existing code search models still have a semantic gap between code and query and perform poorly on specialized queries of smart contracts. In this paper, we propose a Multi-Modal Smart contract Code Search (MM-SCS) model. Specifically, we construct a Contract Elements Dependency Graph (CEDG) for MM-SCS as an additional modality to capture the data flow and control flow information of the code. To make the model more focused on the key contextual information, we use a multi-head attention network to generate embeddings for code features. In addition, we use a fine-tuned pretrained model to ensure the model's effectiveness when the training data is small. We compared MM-SCS with four state-of-the-art models on a dataset with 470K (code, docstring) pairs collected from Github and Etherscan. Experimental results show that MM-SCS achieves an MRR (Mean Reciprocal Rank) of 0.572, outperforming four state-of-the-art models UNIF, DeepCS, CARLCS-CNN, and TAB-CS by 34.2%, 59.3%, 36.8%, and 14.1%, respectively. Additionally, the search speed of MM-SCS is second only to UNIF, reaching 0.34s/query.","PeriodicalId":13324,"journal":{"name":"IEEE Transactions on Software Engineering","volume":"51 2","pages":"638-649"},"PeriodicalIF":6.5,"publicationDate":"2025-01-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143049691","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":1,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Retrospective: An Empirical Study of Speed and Communication in Globally Distributed Software Development
IF 7.4 1区 计算机科学
IEEE Transactions on Software Engineering Pub Date : 2025-01-27 DOI: 10.1109/tse.2025.3533977
James Herbsleb, Audris Mockus
{"title":"Retrospective: An Empirical Study of Speed and Communication in Globally Distributed Software Development","authors":"James Herbsleb, Audris Mockus","doi":"10.1109/tse.2025.3533977","DOIUrl":"https://doi.org/10.1109/tse.2025.3533977","url":null,"abstract":"","PeriodicalId":13324,"journal":{"name":"IEEE Transactions on Software Engineering","volume":"169 4299 1","pages":""},"PeriodicalIF":7.4,"publicationDate":"2025-01-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143049686","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":1,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A Retrospective on Mining Version Histories to Guide Software Changes
IF 7.4 1区 计算机科学
IEEE Transactions on Software Engineering Pub Date : 2025-01-27 DOI: 10.1109/tse.2025.3533559
Thomas Zimmermann, Peter Weißgerber, Stephan Diehl, Andreas Zeller
{"title":"A Retrospective on Mining Version Histories to Guide Software Changes","authors":"Thomas Zimmermann, Peter Weißgerber, Stephan Diehl, Andreas Zeller","doi":"10.1109/tse.2025.3533559","DOIUrl":"https://doi.org/10.1109/tse.2025.3533559","url":null,"abstract":"","PeriodicalId":13324,"journal":{"name":"IEEE Transactions on Software Engineering","volume":"19 1","pages":""},"PeriodicalIF":7.4,"publicationDate":"2025-01-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143049998","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":1,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Looking Back on Recovery Blocks and Conversations
IF 7.4 1区 计算机科学
IEEE Transactions on Software Engineering Pub Date : 2025-01-27 DOI: 10.1109/tse.2025.3533973
Brian Randell, Jie Xu
{"title":"Looking Back on Recovery Blocks and Conversations","authors":"Brian Randell, Jie Xu","doi":"10.1109/tse.2025.3533973","DOIUrl":"https://doi.org/10.1109/tse.2025.3533973","url":null,"abstract":"","PeriodicalId":13324,"journal":{"name":"IEEE Transactions on Software Engineering","volume":"15 1","pages":""},"PeriodicalIF":7.4,"publicationDate":"2025-01-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143050001","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":1,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信