{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,1,22]],"date-time":"2024-01-22T23:51:30Z","timestamp":1705967490177},"reference-count":39,"publisher":"World Scientific Pub Co Pte Lt","issue":"03","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Int. J. Soft. Eng. Knowl. Eng."],"published-print":{"date-parts":[[2018,3]]},"abstract":"<jats:p> Software engineers are able to measure the quality of their code using a variety of metrics that can be derived directly from analyzing the source code. These internal quality metrics are valuable to engineers, but the organizations funding the software development effort find external quality metrics such as defect rates and time to develop features more valuable. Unfortunately, external quality metrics can only be calculated after costly software has been developed and deployed for end-users to utilize. Here, we present a method for mining data from freely available open source codebases written in Java to train a Random Forest classifier to predict which files are likely to be external quality hotspots based on their internal quality metrics with over 75% accuracy. We also used the trained model to predict hotspots for a Java project whose data was not used to train the classifier and achieved over 75% accuracy again, demonstrating the method\u2019s general applicability to different projects. <\/jats:p>","DOI":"10.1142\/s0218194018500110","type":"journal-article","created":{"date-parts":[[2018,3,27]],"date-time":"2018-03-27T05:35:53Z","timestamp":1522128953000},"page":"311-331","source":"Crossref","is-referenced-by-count":1,"title":["Predicting Code Hotspots in Open-Source Software from Object-Oriented Metrics Using Machine Learning"],"prefix":"10.1142","volume":"28","author":[{"given":"Rod","family":"Hilton","sequence":"first","affiliation":[{"name":"Department of Computer Science and Engineering, University of Colorado Denver, Denver, CO 80217, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ellen","family":"Gethner","sequence":"additional","affiliation":[{"name":"Department of Computer Science and Engineering, University of Colorado Denver, Denver, CO 80217, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"219","published-online":{"date-parts":[[2018,3,27]]},"reference":[{"key":"S0218194018500110BIB001","volume-title":"Software Estimation: Demystifying the Black Art","author":"McConnell S.","year":"2006"},{"key":"S0218194018500110BIB002","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-27777-4_42"},{"key":"S0218194018500110BIB003","volume-title":"Object-Oriented Software Construction, Prentice-Hall International Series in Computer Science","author":"Meyer B.","year":"1994"},{"key":"S0218194018500110BIB004","volume-title":"Agile Software Development: Principles, Patterns, and Practices","author":"Martin R. C.","year":"2003"},{"key":"S0218194018500110BIB005","doi-asserted-by":"publisher","DOI":"10.1109\/2.544240"},{"key":"S0218194018500110BIB006","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-013-9274-8"},{"key":"S0218194018500110BIB007","doi-asserted-by":"publisher","DOI":"10.1016\/j.asoc.2014.11.023"},{"key":"S0218194018500110BIB008","doi-asserted-by":"publisher","DOI":"10.1109\/32.815326"},{"key":"S0218194018500110BIB009","doi-asserted-by":"publisher","DOI":"10.1016\/S0164-1212(99)00035-7"},{"key":"S0218194018500110BIB010","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2005.112"},{"key":"S0218194018500110BIB013","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2007.07.040"},{"key":"S0218194018500110BIB014","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2007.256941"},{"key":"S0218194018500110BIB016","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2008.35"},{"key":"S0218194018500110BIB017","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2005.58"},{"key":"S0218194018500110BIB019","doi-asserted-by":"publisher","DOI":"10.1109\/32.859533"},{"key":"S0218194018500110BIB020","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2014.2322358"},{"key":"S0218194018500110BIB023","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2012.12.052"},{"key":"S0218194018500110BIB025","volume-title":"Refactoring: Improving the Design of Existing Code, Addison-Wesley Object Technology Series","author":"Fowler M.","year":"1999"},{"key":"S0218194018500110BIB026","volume-title":"The Java Language Specification, Java SE 7 Edition","author":"Gosling J.","year":"2013","edition":"1"},{"key":"S0218194018500110BIB027","doi-asserted-by":"publisher","DOI":"10.1145\/953353.953355"},{"key":"S0218194018500110BIB028","volume-title":"Better Embedded System Software","author":"Koopman P.","year":"2010"},{"key":"S0218194018500110BIB031","volume-title":"Effective Java (Java Series)","author":"Bloch J.","year":"2008"},{"key":"S0218194018500110BIB032","doi-asserted-by":"publisher","DOI":"10.1145\/117954.117970"},{"key":"S0218194018500110BIB033","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1976.233837"},{"key":"S0218194018500110BIB035","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software (Adobe Reader)","author":"Gamma E.","year":"1994"},{"key":"S0218194018500110BIB036","doi-asserted-by":"publisher","DOI":"10.1145\/960112.28702"},{"key":"S0218194018500110BIB037","volume-title":"Object-Oriented Software Metrics","author":"Lorenz M.","year":"1994"},{"key":"S0218194018500110BIB038","doi-asserted-by":"publisher","DOI":"10.1109\/6294.806902"},{"key":"S0218194018500110BIB039","volume-title":"Object-Oriented Metrics: Measures of Complexity","author":"Henderson-Sellers B.","year":"1995"},{"key":"S0218194018500110BIB040","volume-title":"Metrics and Models in Software Quality Engineering","author":"Kan S. H.","year":"2002","edition":"2"},{"key":"S0218194018500110BIB041","doi-asserted-by":"publisher","DOI":"10.4236\/jsea.2011.47049"},{"key":"S0218194018500110BIB042","doi-asserted-by":"publisher","DOI":"10.1145\/69605.2085"},{"key":"S0218194018500110BIB043","volume-title":"Code Complete","author":"McConnell S.","year":"2004"},{"key":"S0218194018500110BIB044","volume-title":"Machine Learning: A Probabilistic Perspective","author":"Murphy K.","year":"2012"},{"issue":"3","key":"S0218194018500110BIB045","first-page":"18","volume":"2","author":"Liaw A.","year":"2002","journal-title":"R News"},{"key":"S0218194018500110BIB046","doi-asserted-by":"publisher","DOI":"10.1023\/A:1010933404324"},{"key":"S0218194018500110BIB047","volume-title":"The Elements of Statistical Learning: Data Mining, Inference, and Prediction (Springer Series in Statistics)","author":"Hastie T.","year":"2003"},{"key":"S0218194018500110BIB049","volume-title":"Software Metrics: Establishing a Company-Wide Program","author":"Grady R. B.","year":"1987"},{"key":"S0218194018500110BIB050","volume-title":"Software Development Metrics","author":"Nicolette D.","year":"2015"}],"container-title":["International Journal of Software Engineering and Knowledge Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.worldscientific.com\/doi\/pdf\/10.1142\/S0218194018500110","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,8,6]],"date-time":"2019-08-06T12:48:19Z","timestamp":1565095699000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.worldscientific.com\/doi\/abs\/10.1142\/S0218194018500110"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,3]]},"references-count":39,"journal-issue":{"issue":"03","published-online":{"date-parts":[[2018,3,27]]},"published-print":{"date-parts":[[2018,3]]}},"alternative-id":["10.1142\/S0218194018500110"],"URL":"https:\/\/doi.org\/10.1142\/s0218194018500110","relation":{},"ISSN":["0218-1940","1793-6403"],"issn-type":[{"value":"0218-1940","type":"print"},{"value":"1793-6403","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,3]]}}}