[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-123685-en":3,"doc-seo-123685-105":30,"detail-sidebar-cat-0-en-105":91},{"code":4,"msg":5,"data":6},0,"success",{"doc_id":7,"user_id":8,"nickname":9,"user_avatar":10,"doc_module":4,"category_id":11,"category_name":12,"doc_title":13,"doc_description":14,"doc_content":15,"file_id":16,"file_url":17,"file_type":18,"file_size":19,"view_count":4,"is_deleted":4,"is_public":20,"is_downloadable":20,"audit_status":20,"page_count":21,"language":22,"language_code":23,"site_id":24,"html_lang":23,"table_of_contents":25,"faqs":26,"seo_title":27,"seo_description":14,"update_tm":28,"read_time":29},123685,34359740700684,"Finn","https://ap-avatar.wpscdn.com/avatar/1f400023980c374ae676?_k=1777273430885731487",8,"Research & Report","A Full-fledged Commit Message Quality Checker - Based on Machine Learning","Commit messages (CMs) provide crucial context about what changed and why, strengthening software maintenance and evolution. However, writing high-quality CMs remains difficult and is often neglected, and no practical tool has previously assessed CM quality comprehensively, including semantics and context. This work asks how well CM quality can be measured with machine learning. Using rules from a widely adopted CM guideline, constructing rule-specific datasets, and training state-of-the-art models, the framework achieves a minimum F1 of 82.9% on the hardest task while supporting research and practitioner workflows.","A Full-fledged Commit Message Quality Checker  \nBased on Machine Learning  \nDavid Faragó  \nInnoopract GmbH & QPR Technologies Karlsruhe, Germany [farago@qpr-technologies.de](farago@qpr-technologies.de)  \nMichael Färber  \nKarlsruhe Institute of Technology Karlsruhe, Germany [michael.faerber@kit.edu](michael.faerber@kit.edu)  \nChristian Petrov  \nInnoopract GmbH Karlsruhe, Germany [cpetrov@innoopract.com](cpetrov@innoopract.com)  \narXiv :2309 .04797v 1 [ cs . SE] 9 Sep 2023  \nAbstract—Commit messages (CMs) are an essential part of version control. By providing important context in regard to what has changed and why, they strongly support software maintenance and evolution. But writing good CMs is difficult and often neglected by developers. So far, there is no tool suitable for practice that automatically assesses how well a CM is written, including its meaning and context. Since this task is challenging, we ask the research question: how well can the CM quality, including semantics and context, be measured with machine learning methods? By considering all rules from the most popular CM quality guideline, creating datasets for those rules, and training and evaluating state-of-the-art machine learning models to check those rules, we can answer the research question with: sufficiently well for practice, with the lowest F1 score of 82.9%, for the most challenging task. We develop a full-fledged opensource framework that checks all these CM quality rules. It is useful for research, e.g., automatic CM generation, but most importantly for software practitioners to raise the quality of CMs and thus the maintainability and evolution speed of their software.  \nIndex Terms—commit message, maintenance, quality, text classification, machine learning  \nI. INTRODUCTION  \nMotivation. Although code should best be self-explanatory, it is unable to contain all context, such as the implementation decisions (e.g., technical trade-offs) or the reasons for the code change (e.g., the business requirement or bug report motivating the commit) . We define context as all relevant information that the code change does not convey by itself. CMs of code repositories that document this context are the most important way to understand the code change [37] and therefore help future development, evolution, and maintenance.  \nA comprehensive yet easy to understand CM history isone of the most powerful maintenance approaches [26] and strongly benefits the code comprehension and team communication, especially with today’s increase in remote work [44] . Despite these advantages, CMs are cultivated by only few software developers (see Sec. VI and [38], [45]) – or in Linus Torvalds’words: “GitHub is a total ghetto of crap commit messages”. This is confirmed by our experiment with 5,000 random CMs from GitHub: our framework (see Sec. III) assesses 90% of the CMs as low quality, and 55% as low quality due to missing context. In contrast, for the  \n1Abstraction level F: formatting, SY: syntax, SE: semantics  \nTable I  \nCHRIS BEAMS’ CM QUALITY GUIDELINE [26]: RULES AND EXAMPLES  \n\n| Rule | Description | L1 |\n| --- | --- | --- |\n| R1 | Separate subject from body with a blank line | F |\n| R2 | Limit the subject line to 50 characters | F |\n| R3 | Capitalize the subject line | F |\n| R4 | Do not end the subject line with a period | F |\n| R5 | Use the imperative mood in the subject line | SY |\n| R6 | Wrap the body at 72 characters | F |\n| R7 | Use the body to explain what and why [vs. how](vs. how) | SE |\n\nR5 violated (“fix” used as a noun, not as verb)  \nLinter error fix  \nR7 violated (describes \"how\", but not and \"why\")  \nDuplicate zval before add_next_index_zval  \n\"what\"  \nR7 violated (unclear what was wrong before the change  \n)  \nFix Sass + CSS Modules (\\#3186)  \na  \nR5, R7 satisfied (simple change, context sufficient for R7)  \nFix linter errors  \nR5, R7 satisfied  \nFix running ALTER TABLE statements in Execute SQL tab  \nThis fixes a bug introduced in 73efa11 . Because SQLi","cbCaiphSWED8nLSZ","https://ap.wps.com/l/cbCaiphSWED8nLSZ","pdf",707911,1,12,"English","en",105,"# Introduction\n## Motivation and problem statement\n## CM quality guideline and evaluation approach\n## Data rules and machine learning models","[{\"question\":\"Why are commit messages important for software maintenance?\",\"answer\":\"Commit messages capture what changed and why, supplying context that code itself cannot convey. This improves comprehension, team communication, and long-term evolution of the repository.\"},{\"question\":\"What research question does the work investigate?\",\"answer\":\"The study asks how well commit message quality, including semantics and context, can be measured using machine learning methods.\"},{\"question\":\"How does the proposed framework assess commit message quality?\",\"answer\":\"It considers rules from a popular commit message quality guideline, builds datasets for those rules, and trains/evaluates state-of-the-art machine learning models to check each rule, achieving low-quality detection with strong F1 performance.\"}]","A Full-fledged Commit Message Quality Checker - Based on Machine Learning | PDF",1785817994,30,{"code":4,"msg":31,"data":32},"ok",{"site_id":24,"language":23,"slug":33,"title":13,"keywords":34,"description":14,"schema_data":35,"social_meta":86,"head_meta":88,"extra_data":90,"updated_unix":28},"a-full-fledged-commit-message-quality-checker-based-on-machine-learning","",{"@graph":36,"@context":85},[37,54,68],{"@type":38,"itemListElement":39},"BreadcrumbList",[40,44,48,51],{"item":41,"name":42,"@type":43,"position":20},"https://docshare.wps.com","Home","ListItem",{"item":45,"name":46,"@type":43,"position":47},"https://docshare.wps.com/document/","Document",2,{"item":49,"name":12,"@type":43,"position":50},"https://docshare.wps.com/document/research-report/",3,{"item":52,"name":13,"@type":43,"position":53},"https://docshare.wps.com/document/a-full-fledged-commit-message-quality-checker-based-on-machine-learning/123685/",4,{"url":52,"name":13,"@type":55,"author":56,"headline":13,"publisher":58,"fileFormat":61,"inLanguage":23,"description":14,"dateModified":62,"datePublished":62,"encodingFormat":61,"isAccessibleForFree":63,"interactionStatistic":64},"DigitalDocument",{"name":9,"@type":57},"Person",{"url":41,"name":59,"@type":60},"DocShare","Organization","application/pdf","2026-08-04",true,{"@type":65,"interactionType":66,"userInteractionCount":4},"InteractionCounter",{"@type":67},"ViewAction",{"@type":69,"mainEntity":70},"FAQPage",[71,77,81],{"name":72,"@type":73,"acceptedAnswer":74},"Why are commit messages important for software maintenance?","Question",{"text":75,"@type":76},"Commit messages capture what changed and why, supplying context that code itself cannot convey. This improves comprehension, team communication, and long-term evolution of the repository.","Answer",{"name":78,"@type":73,"acceptedAnswer":79},"What research question does the work investigate?",{"text":80,"@type":76},"The study asks how well commit message quality, including semantics and context, can be measured using machine learning methods.",{"name":82,"@type":73,"acceptedAnswer":83},"How does the proposed framework assess commit message quality?",{"text":84,"@type":76},"It considers rules from a popular commit message quality guideline, builds datasets for those rules, and trains/evaluates state-of-the-art machine learning models to check each rule, achieving low-quality detection with strong F1 performance.","https://schema.org",{"og:url":52,"og:type":87,"og:title":13,"og:site_name":59,"og:description":14},"article",{"robots":89,"canonical":52},"index,follow",{"doc_id":7,"site_id":24},{"code":4,"msg":5,"data":92},[93,97,101,105,110,115,120,122,127,130,134],{"id":20,"doc_module":4,"doc_module_name":46,"category_name":94,"show_sort_weight":95,"slug":96},"Story & Novel",90,"story-novel",{"id":47,"doc_module":4,"doc_module_name":46,"category_name":98,"show_sort_weight":99,"slug":100},"Literature",80,"literature",{"id":53,"doc_module":4,"doc_module_name":46,"category_name":102,"show_sort_weight":103,"slug":104},"Exam",70,"exam",{"id":106,"doc_module":4,"doc_module_name":46,"category_name":107,"show_sort_weight":108,"slug":109},5,"Comic",60,"comic",{"id":111,"doc_module":4,"doc_module_name":46,"category_name":112,"show_sort_weight":113,"slug":114},6,"Technology",50,"technology",{"id":116,"doc_module":4,"doc_module_name":46,"category_name":117,"show_sort_weight":118,"slug":119},7,"Healthcare",40,"healthcare",{"id":11,"doc_module":4,"doc_module_name":46,"category_name":12,"show_sort_weight":29,"slug":121},"research-report",{"id":123,"doc_module":4,"doc_module_name":46,"category_name":124,"show_sort_weight":125,"slug":126},9,"Religion & Spirituality",20,"religion-spirituality",{"id":125,"doc_module":4,"doc_module_name":46,"category_name":128,"show_sort_weight":125,"slug":129},"World Cup","world-cup",{"id":131,"doc_module":4,"doc_module_name":46,"category_name":132,"show_sort_weight":131,"slug":133},10,"Lifestyle","lifestyle",{"id":135,"doc_module":4,"doc_module_name":46,"category_name":136,"show_sort_weight":106,"slug":137},19,"General","general"]