Code Change and Smell Techniques for Regression Test Selection

preprint OA: closed
Full text JSON View at publisher
Full text 13,863 characters · extracted from preprint-html · click to expand
Code Change and Smell Techniques for Regression Test Selection | Research Square window.SnipcartSettings = { analytics: { enabled: false } }; (function() { var accessVector = localStorage.getItem('access_vector') || ''; window.dataLayer = window.dataLayer || []; if (accessVector) { window.dataLayer.push({ user: { profile: { profileInfo: { snid: accessVector } } } }); } })(); (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-K279D39R'); Browse Preprints In Review Journals COVID-19 Preprints AJE Video Bytes Research Tools Research Promotion AJE Professional Editing AJE Rubriq About Preprint Platform In Review Editorial Policies Our Team Advisory Board Help Center Sign In Submit a Preprint Cite Share Download PDF Research Article Code Change and Smell Techniques for Regression Test Selection Allan Mori, Ana C. R. Paiva, Simone R. S. Souza This is a preprint; it has not been peer reviewed by a journal. https://doi.org/ 10.21203/rs.3.rs-4252171/v1 This work is licensed under a CC BY 4.0 License Status: Published Journal Publication published 25 Jan, 2025 Read the published version in Software Quality Journal → Version 1 posted 9 You are reading this latest preprint version Abstract Regression testing is a selective retesting of a system or component to verify that modifications have not induced unintended effects and that the system or component maintains compliance with the specified requirements. However, it can be time-consuming and resource-intensive, especially for large systems. Regression testing selection techniques can help address this issue by selecting a subset of test cases to run. The Change Based technique selects a subset of the existing test cases and executes modified classes. Besides effectively reducing the test suite, this technique may reduce the capability of revealing faults. From this perspective, code smells are known to identify poor design and software quality issues. Some works have explored the association between smells and faults with some promising results. Inspired by these results, we propose combining code change and smell to select regression tests and present eight techniques. Additionally, we developed the Regression Testing Selection Tool (RTST) to automate the selection process using these techniques. We empirically evaluated the approach in Defects4J projects by comparing the techniques' effectiveness with the Change Based and Class Firewall as a baseline. The results show that the Change and Smell Intersection Based technique achieves the highest reduction rate in the test suite size but with less class coverage. On the other hand, Change and Smell Firewall technique achieves the lowest test suite size reduction with the highest fault detection effectiveness test cases, suggesting the combination of smells and changed classes can potentially find more bugs. The Smell Based technique provides a comparable class coverage to the code change and smell approach. Our findings indicate opportunities for improving the efficiency and effectiveness of regression testing and highlight that software quality should be a concern throughout the software evolution. Code Change and Smell Approach Regression Testing Techniques Code Smell Change Based Class Firewall Software Testing Full Text Additional Declarations No competing interests reported. Cite Share Download PDF Status: Published Journal Publication published 25 Jan, 2025 Read the published version in Software Quality Journal → Version 1 posted Editorial decision: Revision requested 12 Jul, 2024 Reviews received at journal 09 Jul, 2024 Reviews received at journal 25 Jun, 2024 Reviewers agreed at journal 25 May, 2024 Reviewers agreed at journal 20 May, 2024 Reviewers invited by journal 20 May, 2024 Submission checks completed at journal 11 Apr, 2024 Editor assigned by journal 11 Apr, 2024 First submitted to journal 11 Apr, 2024 You are reading this latest preprint version Research Square lets you share your work early, gain feedback from the community, and start making changes to your manuscript prior to peer review in a journal. As a division of Research Square Company, we’re committed to making research communication faster, fairer, and more useful. We do this by developing innovative software and high quality services for the global research community. Our growing team is made up of researchers and industry professionals working together to solve the most critical problems facing scientific publishing. Also discoverable on Platform About Our Team In Review Editorial Policies Advisory Board Help Center Resources Author Services Accessibility API Access RSS feed Manage Cookie Preferences © Research Square 2026 | ISSN 2693-5015 (online) Privacy Policy Terms of Service Do Not Sell My Personal Information {"props":{"pageProps":{"initialData":{"identity":"rs-4252171","acceptedTermsAndConditions":true,"allowDirectSubmit":false,"archivedVersions":[],"articleType":"Research Article","associatedPublications":[],"authors":[{"id":290331430,"identity":"12c72e2f-fcd1-4ac4-bbe5-35dba21f1940","order_by":0,"name":"Allan Mori","email":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAAyAQMAAABI0h/eAAAABlBMVEX///8AAABVwtN+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAuElEQVRIiWNgGAWjYDACduYGMM3GDqYPEKGFmRGqhecAqVoYJBKI1MLfzNj4uTDHJp9P8o3x5wKGO/kEtUgcZmyWnrktzbJNOsdMegbDM8sGgnoOMzZI8247bMAG1MLMw3DYgKAOeaAtv8FaJM8YfyZKi8FhxjaILRI8BtJEaTEEarHm3ZZmwMaTViY9w+AZYS1yx5sP3+bdZmMg33548+eCijuEtaAAZgYSNYC0jIJRMApGwSjAAgDK5jROj8QTZAAAAABJRU5ErkJggg==","orcid":"","institution":"Universidade de São Paulo","correspondingAuthor":true,"prefix":"","firstName":"Allan","middleName":"","lastName":"Mori","suffix":""},{"id":290331431,"identity":"c0294ecc-712e-4cf3-be33-d34488b6f4c6","order_by":1,"name":"Ana C. R. Paiva","email":"","orcid":"","institution":"INESC TEC, Faculdade de Engenharia, Universidade do Porto","correspondingAuthor":false,"prefix":"","firstName":"Ana","middleName":"C. R.","lastName":"Paiva","suffix":""},{"id":290331432,"identity":"3aab245e-58c6-475a-92f2-3067313250cd","order_by":2,"name":"Simone R. S. Souza","email":"","orcid":"","institution":"Universidade de São Paulo","correspondingAuthor":false,"prefix":"","firstName":"Simone","middleName":"R. S.","lastName":"Souza","suffix":""}],"badges":[],"createdAt":"2024-04-11 11:36:26","currentVersionCode":1,"declarations":"","doi":"10.21203/rs.3.rs-4252171/v1","doiUrl":"https://doi.org/10.21203/rs.3.rs-4252171/v1","draftVersion":[],"editorialEvents":[{"content":"https://doi.org/10.1007/s11219-025-09708-5","type":"published","date":"2025-01-25T15:57:32+00:00"}],"editorialNote":"","failedWorkflow":false,"files":[{"id":74859239,"identity":"634c7b5f-f50f-4da8-9b84-d561c1a98d8e","added_by":"auto","created_at":"2025-01-27 16:13:58","extension":"pdf","order_by":1,"title":"","display":"","copyAsset":false,"role":"manuscript-pdf","size":791941,"visible":true,"origin":"","legend":"","description":"","filename":"CodeChangeandSmellTechniquesforRegressionTestSelection.pdf","url":"https://assets-eu.researchsquare.com/files/rs-4252171/v1_covered_27e9fac9-dae6-413d-af1f-ff381785ca1e.pdf"}],"financialInterests":"No competing interests reported.","formattedTitle":"Code Change and Smell Techniques for Regression Test Selection","fulltext":[],"fulltextSource":"","fullText":"","funders":[],"hasAdminPriorityOnWorkflow":false,"hasManuscriptDocX":false,"hasOptedInToPreprint":true,"hasPassedJournalQc":"","hasAnyPriority":false,"hideJournal":false,"highlight":"","institution":"","isAcceptedByJournal":true,"isAuthorSuppliedPdf":true,"isDeskRejected":"","isHiddenFromSearch":false,"isInQc":false,"isInWorkflow":false,"isPdf":true,"isPdfUpToDate":true,"isWithdrawnOrRetracted":false,"journal":{"display":true,"email":"[email protected]","identity":"software-quality-journal","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":false,"externalIdentity":"sqjo","sideBox":"Learn more about [Software Quality Journal](http://link.springer.com/journal/11219)","snPcode":"11219","submissionUrl":"https://submission.nature.com/new-submission/11219/3","title":"Software Quality Journal","twitterHandle":"","acdcEnabled":true,"dfaEnabled":true,"editorialSystem":"em","reportingPortfolio":"Springer Hybrid","inReviewEnabled":true,"inReviewRevisionsEnabled":false},"keywords":"Code Change and Smell Approach, Regression Testing Techniques, Code Smell, Change Based, Class Firewall, Software Testing","lastPublishedDoi":"10.21203/rs.3.rs-4252171/v1","lastPublishedDoiUrl":"https://doi.org/10.21203/rs.3.rs-4252171/v1","license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"manuscriptAbstract":"Regression testing is a selective retesting of a system or component to verify that modifications have not induced unintended effects and that the system or component maintains compliance with the specified requirements. However, it can be time-consuming and resource-intensive, especially for large systems. Regression testing selection techniques can help address this issue by selecting a subset of test cases to run. The Change Based technique selects a subset of the existing test cases and executes modified classes. Besides effectively reducing the test suite, this technique may reduce the capability of revealing faults. From this perspective, code smells are known to identify poor design and software quality issues. Some works have explored the association between smells and faults with some promising results. Inspired by these results, we propose combining code change and smell to select regression tests and present eight techniques. Additionally, we developed the Regression Testing Selection Tool (RTST) to automate the selection process using these techniques. We empirically evaluated the approach in Defects4J projects by comparing the techniques' effectiveness with the Change Based and Class Firewall as a baseline. The results show that the Change and Smell Intersection Based technique achieves the highest reduction rate in the test suite size but with less class coverage. On the other hand, Change and Smell Firewall technique achieves the lowest test suite size reduction with the highest fault detection effectiveness test cases, suggesting the combination of smells and changed classes can potentially find more bugs. The Smell Based technique provides a comparable class coverage to the code change and smell approach. Our findings indicate opportunities for improving the efficiency and effectiveness of regression testing and highlight that software quality should be a concern throughout the software evolution.","manuscriptTitle":"Code Change and Smell Techniques for Regression Test Selection","msid":"","msnumber":"","nonDraftVersions":[{"code":1,"date":"2024-04-16 04:54:54","doi":"10.21203/rs.3.rs-4252171/v1","editorialEvents":[{"type":"communityComments","content":0},{"type":"decision","content":"Revision requested","date":"2024-07-12T09:17:11+00:00","index":"","fulltext":""},{"type":"editorInvitedReview","content":"","date":"2024-07-09T15:40:32+00:00","index":"hide","fulltext":""},{"type":"editorInvitedReview","content":"","date":"2024-06-25T11:28:08+00:00","index":"hide","fulltext":""},{"type":"reviewerAgreed","content":"211248725611459971083236503595205741629","date":"2024-05-25T11:37:02+00:00","index":"hide","fulltext":""},{"type":"reviewerAgreed","content":"17944424482443612803074280526791089560","date":"2024-05-20T12:52:19+00:00","index":"hide","fulltext":""},{"type":"reviewersInvited","content":"","date":"2024-05-20T07:12:50+00:00","index":"","fulltext":""},{"type":"checksComplete","content":"","date":"2024-04-12T03:46:22+00:00","index":"","fulltext":""},{"type":"editorAssigned","content":"","date":"2024-04-12T03:46:22+00:00","index":"","fulltext":""},{"type":"submitted","content":"Software Quality Journal","date":"2024-04-11T11:35:02+00:00","index":"","fulltext":""}],"status":"published","journal":{"display":true,"email":"[email protected]","identity":"software-quality-journal","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":false,"externalIdentity":"sqjo","sideBox":"Learn more about [Software Quality Journal](http://link.springer.com/journal/11219)","snPcode":"11219","submissionUrl":"https://submission.nature.com/new-submission/11219/3","title":"Software Quality Journal","twitterHandle":"","acdcEnabled":true,"dfaEnabled":true,"editorialSystem":"em","reportingPortfolio":"Springer Hybrid","inReviewEnabled":true,"inReviewRevisionsEnabled":false}}],"origin":"","ownerIdentity":"ee24fe45-b6f5-4905-a6c1-ec4d9fd3ffd1","owner":[],"postedDate":"April 16th, 2024","published":true,"recentEditorialEvents":[],"rejectedJournal":[],"revision":"","amendment":"","status":"published-in-journal","subjectAreas":[],"tags":[],"updatedAt":"2025-01-27T16:08:40+00:00","versionOfRecord":{"articleIdentity":"rs-4252171","link":"https://doi.org/10.1007/s11219-025-09708-5","journal":{"identity":"software-quality-journal","isVorOnly":false,"title":"Software Quality Journal"},"publishedOn":"2025-01-25 15:57:32","publishedOnDateReadable":"January 25th, 2025"},"versionCreatedAt":"2024-04-16 04:54:54","video":"","vorDoi":"10.1007/s11219-025-09708-5","vorDoiUrl":"https://doi.org/10.1007/s11219-025-09708-5","workflowStages":[]},"version":"v1","identity":"rs-4252171","journalConfig":"researchsquare"},"__N_SSP":true},"page":"/article/[identity]/[[...version]]","query":{"redirect":"/article/rs-4252171","identity":"rs-4252171","version":["v1"]},"buildId":"qtupq5eGEP_6zYnWcrvyt","isFallback":false,"isExperimentalCompile":false,"dynamicIds":[84888],"gssp":true,"scriptLoader":[]}

Text is read by the "Ask this paper" AI Q&A widget below. Extraction quality varies by source — PMC NXML preserves structure cleanly, OA-HTML may include some navigation residue, and OA-PDF can have broken hyphenation. The publisher copy (via DOI) is the canonical version.

My notes (saved in your browser only)

Ask this paper AI returns verbatim quotes from the full text · source: preprint-html

Answers must be backed by verbatim quotes from this paper's full text. Hallucinated quotes are dropped automatically; if no verbatim passage answers the question, we say so. How this works

Citation neighborhood (no data yet)

We don't have any in-corpus citations linked to this paper yet. This is a recent paper (2024) — citers typically take a year or two to land, and the OpenAlex reference graph may still be filling in.

Source provenance

europepmc
last seen: 2026-05-20T01:45:00.602351+00:00