{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,7,3]],"date-time":"2025-07-03T05:24:25Z","timestamp":1751520265437},"reference-count":101,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2021,2,7]],"date-time":"2021-02-07T00:00:00Z","timestamp":1612656000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,2,7]],"date-time":"2021-02-07T00:00:00Z","timestamp":1612656000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Sci. China Inf. Sci."],"published-print":{"date-parts":[[2021,3]]},"DOI":"10.1007\/s11432-019-2745-5","type":"journal-article","created":{"date-parts":[[2021,2,14]],"date-time":"2021-02-14T08:30:19Z","timestamp":1613291419000},"update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":6,"title":["Identifying change patterns of API misuses from code changes"],"prefix":"10.1007","volume":"64","author":[{"given":"Wenjian","family":"Liu","sequence":"first","affiliation":[]},{"given":"Bihuan","family":"Chen","sequence":"additional","affiliation":[]},{"given":"Xin","family":"Peng","sequence":"additional","affiliation":[]},{"given":"Qinghao","family":"Sun","sequence":"additional","affiliation":[]},{"given":"Wenyun","family":"Zhao","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,2,7]]},"reference":[{"key":"2745_CR1","doi-asserted-by":"publisher","first-page":"703","DOI":"10.1007\/s10664-010-9150-8","volume":"16","author":"M P Robillard","year":"2011","unstructured":"Robillard M P, DeLine R. A field study of API learning obstacles. Empir Softw Eng, 2011, 16: 703\u2013732","journal-title":"Empir Softw Eng"},{"key":"2745_CR2","doi-asserted-by":"crossref","unstructured":"Hou D, Li L. Obstacles in using frameworks and APIs: an exploratory study of programmers\u2019 newsgroup discussions. In: Proceedings of the 2011 IEEE 19th International Conference on Program Comprehension, 2011. 91\u2013100","DOI":"10.1109\/ICPC.2011.21"},{"key":"2745_CR3","doi-asserted-by":"crossref","unstructured":"Nadi S, Kr\u00fcger S, Mezini M, et al. Jumping through hoops: why do Java developers struggle with cryptography apis? In: Proceedings of the 38th International Conference on Software Engineering, 2016. 935\u2013946","DOI":"10.1145\/2884781.2884790"},{"key":"2745_CR4","doi-asserted-by":"crossref","unstructured":"Zibran M F, Eishita F Z, Roy C K. Useful, but usable? factors affecting the usability of APIs. In: Proceedings of the 2011 18th Working Conference on Reverse Engineering, 2011. 151\u2013155","DOI":"10.1109\/WCRE.2011.26"},{"key":"2745_CR5","doi-asserted-by":"publisher","first-page":"613","DOI":"10.1109\/TSE.2012.63","volume":"39","author":"M P Robillard","year":"2013","unstructured":"Robillard M P, Bodden E, Kawrykow D, et al. Automated API property inference techniques. IEEE Trans Softw Eng, 2013, 39: 613\u2013637","journal-title":"IEEE Trans Softw Eng"},{"key":"2745_CR6","doi-asserted-by":"crossref","unstructured":"Zhong H, Xie T, Zhang L, et al. MAPO: mining and recommending API usage patterns. In: Proceedings of the 23rd European Conference on ECOOP 2009 \u2014 Object-Oriented Programming, 2009. 318\u2013343","DOI":"10.1007\/978-3-642-03013-0_15"},{"key":"2745_CR7","doi-asserted-by":"publisher","first-page":"68","DOI":"10.1109\/MS.2014.80","volume":"32","author":"G Uddin","year":"2015","unstructured":"Uddin G, Robillard M P. How API documentation fails. IEEE Softw, 2015, 32: 68\u201375","journal-title":"IEEE Softw"},{"key":"2745_CR8","doi-asserted-by":"crossref","unstructured":"Linares-V\u00e1squez M, Bavota G, Bernal-C\u00e1rdenas C, et al. API change and fault proneness: a threat to the success of android apps. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, 2013. 477\u2013487","DOI":"10.1145\/2491411.2491428"},{"key":"2745_CR9","doi-asserted-by":"crossref","unstructured":"McDonnell T, Ray B, Kim M. An empirical study of API stability and adoption in the android ecosystem. In: Proceedings of the 2013 IEEE International Conference on Software Maintenance, 2013. 70\u201379","DOI":"10.1109\/ICSM.2013.18"},{"key":"2745_CR10","doi-asserted-by":"publisher","first-page":"83","DOI":"10.1002\/smr.328","volume":"18","author":"D Dig","year":"2006","unstructured":"Dig D, Johnson R. How do APIs evolve? A story of refactoring. J Softw Maint Evol-Res Pract, 2006, 18: 83\u2013107","journal-title":"J Softw Maint Evol-Res Pract"},{"key":"2745_CR11","doi-asserted-by":"crossref","unstructured":"Xavier L, Brito A, Hora A, et al. Historical and impact analysis of API breaking changes: a large-scale study. In: Proceedings of 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER), 2017. 138\u2013147","DOI":"10.1109\/SANER.2017.7884616"},{"key":"2745_CR12","doi-asserted-by":"publisher","first-page":"129","DOI":"10.1016\/j.infsof.2015.02.014","volume":"65","author":"K Jezek","year":"2015","unstructured":"Jezek K, Dietrich J, Brada P. How Java APIs break \u2014 an empirical study. Inf Softw Tech, 2015, 65: 129\u2013146","journal-title":"Inf Softw Tech"},{"key":"2745_CR13","doi-asserted-by":"publisher","first-page":"140","DOI":"10.1016\/j.jss.2016.04.008","volume":"129","author":"S Raemaekers","year":"2017","unstructured":"Raemaekers S, van Deursen A, Visser J. Semantic versioning and impact of breaking changes in the Maven repository. J Syst Softw, 2017, 129: 140\u2013158","journal-title":"J Syst Softw"},{"key":"2745_CR14","doi-asserted-by":"publisher","first-page":"86","DOI":"10.1145\/1993316.1993509","volume":"46","author":"C Jung","year":"2011","unstructured":"Jung C, Rus S, Railing B P, et al. Brainy: effective selection of data structures. SIGPLAN Not, 2011, 46: 86\u201397","journal-title":"SIGPLAN Not"},{"key":"2745_CR15","doi-asserted-by":"crossref","unstructured":"Xu G. CoCo: sound and adaptive replacement of Java collections. In: Proceedings of the 27th European conference on Object-Oriented Programming, 2013. 1\u201326","DOI":"10.1007\/978-3-642-39038-8_1"},{"key":"2745_CR16","doi-asserted-by":"crossref","unstructured":"Chen B, Liu Y, Le W. Generating performance distributions via probabilistic symbolic execution. In: Proceedings of the 38th International Conference on Software Engineering, 2016. 49\u201360","DOI":"10.1145\/2884781.2884794"},{"key":"2745_CR17","doi-asserted-by":"crossref","unstructured":"Zhao Y, Xiao L, Wang X, et al. Localized or architectural: an empirical study of performance issues dichotomy. In: Proceedings of the 2019 IEEE\/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion), 2019. 316\u2013317","DOI":"10.1109\/ICSE-Companion.2019.00132"},{"key":"2745_CR18","doi-asserted-by":"crossref","unstructured":"Georgiev M, Iyengar S, Jana S, et al. The most dangerous code in the world: validating SSL certificates in non-browser software. In: Proceedings of the 2012 ACM Conference on Computer and Communications Security, 2012. 38\u201349","DOI":"10.1145\/2382196.2382204"},{"key":"2745_CR19","doi-asserted-by":"crossref","unstructured":"Fahl S, Harbach M, Perl H, et al. Rethinking SSL development in an appified world. In: Proceedings of the 2013 ACM SIGSAC Conference on Computer & Communications Security, 2013. 49\u201360","DOI":"10.1145\/2508859.2516655"},{"key":"2745_CR20","doi-asserted-by":"crossref","unstructured":"Egele M, Brumley D, Fratantonio Y, et al. An empirical study of cryptographic misuse in android applications. In: Proceedings of the 2013 ACM SIGSAC Conference on Computer & Communications Security, 2013. 73\u201384","DOI":"10.1145\/2508859.2516693"},{"key":"2745_CR21","doi-asserted-by":"crossref","unstructured":"Li L, Bissyand\u00e9 T F, Traon Y L, et al. Accessing inaccessible android APIs: an empirical study. In: Proceedings of the 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME), 2016. 411\u2013422","DOI":"10.1109\/ICSME.2016.35"},{"key":"2745_CR22","doi-asserted-by":"publisher","first-page":"306","DOI":"10.1145\/1095430.1081755","volume":"30","author":"Z Li","year":"2005","unstructured":"Li Z, Zhou Y. PR-Miner: automatically extracting implicit programming rules and detecting violations in large software code. SIGSOFT Softw Eng Notes, 2005, 30: 306\u2013315","journal-title":"SIGSOFT Softw Eng Notes"},{"key":"2745_CR23","doi-asserted-by":"crossref","unstructured":"Thummalapenta S, Xie T. Alattin: mining alternative patterns for detecting neglected conditions. In: Proceedings of the 2009 IEEE\/ACM International Conference on Automated Software Engineering, 2009. 283\u2013294","DOI":"10.1109\/ASE.2009.72"},{"key":"2745_CR24","doi-asserted-by":"crossref","unstructured":"Monperrus M, Bruch M, Mezini M. Detecting missing method calls in object-oriented software. In: Proceedings of the 24th European Conference on Object-Oriented Programming, 2010. 2\u201325","DOI":"10.1007\/978-3-642-14107-2_2"},{"key":"2745_CR25","doi-asserted-by":"crossref","unstructured":"Wasylkowski A, Zeller A, Lindig C. Detecting object usage anomalies. In: Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2007. 35\u201344","DOI":"10.1145\/1287624.1287632"},{"key":"2745_CR26","doi-asserted-by":"crossref","unstructured":"Moritz E, Linares-V\u00e1squez M, Poshyvanyk D, et al. ExPort: detecting and visualizing API usages in large source code repositories. In: Proceedings of the 2013 28th IEEE\/ACM International Conference on Automated Software Engineering (ASE), 2013. 646\u2013651","DOI":"10.1109\/ASE.2013.6693127"},{"key":"2745_CR27","doi-asserted-by":"crossref","unstructured":"Fowkes J, Sutton C. Parameter-free probabilistic API mining across github. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2016. 254\u2013265","DOI":"10.1145\/2950290.2950319"},{"key":"2745_CR28","doi-asserted-by":"crossref","unstructured":"Zhang T, Upadhyaya G, Reinhardt A, et al. Are code examples on an online Q&A forum reliable? a study of API misuse on stack overflow. In: Proceedings of 2018 IEEE\/ACM 40th International Conference on Software Engineering (ICSE), 2018. 886\u2013896","DOI":"10.1145\/3180155.3180260"},{"key":"2745_CR29","first-page":"1","volume":"30","author":"C C Williams","year":"2005","unstructured":"Williams C C, Hollingsworth J K. Recovering system specific rules from software repositories. SIGSOFT Softw Eng Notes, 2005, 30: 1","journal-title":"SIGSOFT Softw Eng Notes"},{"key":"2745_CR30","doi-asserted-by":"publisher","first-page":"296","DOI":"10.1145\/1095430.1081754","volume":"30","author":"B Livshits","year":"2005","unstructured":"Livshits B, Zimmermann T. DynaMine: finding common error patterns by mining software revision histories. SIGSOFT Softw Eng Notes, 2005, 30: 296\u2013305","journal-title":"SIGSOFT Softw Eng Notes"},{"key":"2745_CR31","doi-asserted-by":"crossref","unstructured":"Uddin G, Dagenais B, Robillard M P. Temporal analysis of API usage concepts. In: Proceedings of the 2012 34th International Conference on Software Engineering (ICSE), 2012. 804\u2013814","DOI":"10.1109\/ICSE.2012.6227138"},{"key":"2745_CR32","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2990497","volume":"25","author":"S Azad","year":"2017","unstructured":"Azad S, Rigby P C, Guerrouj L. Generating API call rules from version history and stack overflow posts. ACM Trans Softw Eng Methodol, 2017, 25: 1\u201322","journal-title":"ACM Trans Softw Eng Methodol"},{"key":"2745_CR33","doi-asserted-by":"crossref","unstructured":"Liang B, Bian P, Zhang Y, et al. Antminer: mining more bugs by reducing noise interference. In: Proceedings of the 38th International Conference on Software Engineering, 2016. 333\u2013344","DOI":"10.1145\/2884781.2884870"},{"key":"2745_CR34","doi-asserted-by":"crossref","unstructured":"Ramanathan M K, Grama A, Jagannathan S. Path-sensitive inference of function precedence protocols. In: Proceedings of the 29th International Conference on Software Engineering (ICSE\u201907), 2007. 240\u2013250","DOI":"10.1109\/ICSE.2007.63"},{"key":"2745_CR35","doi-asserted-by":"crossref","unstructured":"Nguyen H A, Dyer R, Nguyen T N, et al. Mining preconditions of APIs in large-scale code corpus. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2014. 166\u2013177","DOI":"10.1145\/2635868.2635924"},{"key":"2745_CR36","doi-asserted-by":"publisher","first-page":"123","DOI":"10.1145\/1273442.1250749","volume":"42","author":"M K Ramanathan","year":"2007","unstructured":"Ramanathan M K, Grama A, Jagannathan S. Static specification inference using predicate mining. SIGPLAN Not, 2007, 42: 123\u2013134","journal-title":"SIGPLAN Not"},{"key":"2745_CR37","doi-asserted-by":"publisher","first-page":"263","DOI":"10.1007\/s10515-011-0084-1","volume":"18","author":"A Wasylkowski","year":"2011","unstructured":"Wasylkowski A, Zeller A. Mining temporal specifications from object usage. Autom Softw Eng, 2011, 18: 263\u2013292","journal-title":"Autom Softw Eng"},{"key":"2745_CR38","doi-asserted-by":"crossref","unstructured":"Chang R Y, Podgurski A, Yang J. Finding what\u2019s not there: a new approach to revealing neglected conditions in software. In: Proceedings of the 2007 International Symposium on Software Testing and Analysis, 2007. 163\u2013173","DOI":"10.1145\/1273463.1273486"},{"key":"2745_CR39","doi-asserted-by":"crossref","unstructured":"Nguyen T T, Nguyen H A, Pham N H, et al. Graph-based mining of multiple object usage patterns. In: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2009. 383\u2013392","DOI":"10.1145\/1595696.1595767"},{"key":"2745_CR40","doi-asserted-by":"crossref","unstructured":"Falleri J R, Morandat F, Blanc X, et al. Fine-grained and accurate source code differencing. In: Proceedings of the 29th ACM\/IEEE International Conference on Automated Software Engineering, 2014. 313\u2013324","DOI":"10.1145\/2642937.2642982"},{"key":"2745_CR41","doi-asserted-by":"publisher","first-page":"181","DOI":"10.1109\/TSE.2007.70773","volume":"34","author":"S Kim","year":"2008","unstructured":"Kim S, Whitehead E J, Zhang Y. Classifying software changes: clean or buggy? IEEE Trans Softw Eng, 2008, 34: 181\u2013196","journal-title":"IEEE Trans Softw Eng"},{"key":"2745_CR42","doi-asserted-by":"publisher","first-page":"77","DOI":"10.1145\/2345156.2254075","volume":"47","author":"G Jin","year":"2012","unstructured":"Jin G, Song L, Shi X, et al. Understanding and detecting real-world performance bugs. SIGPLAN Not, 2012, 47: 77\u201388","journal-title":"SIGPLAN Not"},{"key":"2745_CR43","doi-asserted-by":"crossref","unstructured":"Chen Z, Chen B, Xiao L, et al. Speedoo: prioritizing performance optimization opportunities. In: Proceedings of the 40th International Conference on Software Engineering, 2018. 811\u2013821","DOI":"10.1145\/3180155.3180229"},{"key":"2745_CR44","doi-asserted-by":"crossref","unstructured":"Zhou Y, Sharma A. Automated identification of security issues from commit messages and bug reports. In: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, 2017. 914\u2013919","DOI":"10.1145\/3106237.3117771"},{"key":"2745_CR45","doi-asserted-by":"crossref","unstructured":"Wei L, Liu Y, Cheung S C. Taming android fragmentation: characterizing and detecting compatibility issues for Android apps. In: Proceedings of the 31st IEEE\/ACM International Conference on Automated Software Engineering, 2016. 226\u2013237","DOI":"10.1145\/2970276.2970312"},{"key":"2745_CR46","doi-asserted-by":"crossref","unstructured":"Herzig K, Zeller A. The impact of tangled code changes. In: Proceedings of the 2013 10th Working Conference on Mining Software Repositories (MSR), 2013. 121\u2013130","DOI":"10.1109\/MSR.2013.6624018"},{"key":"2745_CR47","doi-asserted-by":"crossref","unstructured":"Dias M, Bacchelli A, Gousios G, et al. Untangling fine-grained code changes. In: Proceedings of the 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER), 2015. 341\u2013350","DOI":"10.1109\/SANER.2015.7081844"},{"key":"2745_CR48","doi-asserted-by":"crossref","unstructured":"Hattori L P, Lanza M. On the nature of commits. In: Proceedings of the 2008 23rd IEEE\/ACM International Conference on Automated Software Engineering-Workshops, 2008. 63\u201371","DOI":"10.1109\/ASEW.2008.4686322"},{"key":"2745_CR49","doi-asserted-by":"crossref","unstructured":"Liu H, Liu Q, Staicu C A, et al. Nomen est omen: exploring and exploiting similarities between argument and parameter names. In: Proceedings of the 38th International Conference on Software Engineering, 2016. 1063\u20131073","DOI":"10.1145\/2884781.2884841"},{"key":"2745_CR50","doi-asserted-by":"crossref","unstructured":"Pradel M, Gross T R. Detecting anomalies in the order of equally-typed method arguments. In: Proceedings of the 2011 International Symposium on Software Testing and Analysis, 2011. 232\u2013242","DOI":"10.1145\/2001420.2001448"},{"key":"2745_CR51","doi-asserted-by":"publisher","first-page":"1127","DOI":"10.1109\/TSE.2013.7","volume":"39","author":"M Pradel","year":"2013","unstructured":"Pradel M, Gross T R. Name-based analysis of equally typed method arguments. IEEE Trans Softw Eng, 2013, 39: 1127\u20131143","journal-title":"IEEE Trans Softw Eng"},{"key":"2745_CR52","doi-asserted-by":"crossref","unstructured":"Rice A, Aftandilian E, Jaspan C, et al. Detecting argument selection defects. In: Proceedings of the ACM on Programming Languages, 2017. 1\u201322","DOI":"10.1145\/3133928"},{"key":"2745_CR53","doi-asserted-by":"publisher","first-page":"466","DOI":"10.1109\/TSE.2005.63","volume":"31","author":"C C Williams","year":"2005","unstructured":"Williams C C, Hollingsworth J K. Automatic mining of source code repositories to improve bug finding techniques. IIEEE Trans Softw Eng, 2005, 31: 466\u2013480","journal-title":"IIEEE Trans Softw Eng"},{"key":"2745_CR54","doi-asserted-by":"publisher","first-page":"92","DOI":"10.1145\/1052883.1052895","volume":"39","author":"D Hovemeyer","year":"2004","unstructured":"Hovemeyer D, Pugh W. Finding bugs is easy. SIGPLAN Not, 2004, 39: 92\u2013106","journal-title":"SIGPLAN Not"},{"key":"2745_CR55","doi-asserted-by":"crossref","unstructured":"Aftandilian E, Sauciuc R, Priya S, et al. Building useful program analysis tools using an extensible Java compiler. In: Proceedings of the 2012 IEEE 12th International Working Conference on Source Code Analysis and Manipulation, 2012. 14\u201323","DOI":"10.1109\/SCAM.2012.28"},{"key":"2745_CR56","volume-title":"PMD Applied","author":"T Copeland","year":"2005","unstructured":"Copeland T. PMD Applied. Arexandria: Centennial Books, 2005"},{"key":"2745_CR57","doi-asserted-by":"publisher","first-page":"561","DOI":"10.1007\/s10515-014-0169-8","volume":"22","author":"F Thung","year":"2015","unstructured":"Thung F, Lucia F, Lo D, et al. To what extent could we detect field defects? An extended empirical study of false negatives in static bug-finding tools. Autom Softw Eng, 2015, 22: 561\u2013602","journal-title":"Autom Softw Eng"},{"key":"2745_CR58","doi-asserted-by":"crossref","unstructured":"Habib A, Pradel M. How many of all bugs do we find? a study of static bug detectors. In: Proceedings of the 33rd ACM\/IEEE International Conference on Automated Software Engineering, 2018. 317\u2013328","DOI":"10.1145\/3238147.3238213"},{"key":"2745_CR59","doi-asserted-by":"crossref","unstructured":"Sabetta A, Bezzi M. A practical approach to the automatic classification of security-relevant commits. In: Proceedings of 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME), 2018. 579\u2013582","DOI":"10.1109\/ICSME.2018.00058"},{"key":"2745_CR60","doi-asserted-by":"crossref","unstructured":"Xu Z, Chen B, Chandramohan M, et al. SPAIN: security patch analysis for binaries towards understanding the pain and pills. In: Proceedings of the 2017 IEEE\/ACM 39th International Conference on Software Engineering (ICSE), 2017. 462\u2013472","DOI":"10.1109\/ICSE.2017.49"},{"key":"2745_CR61","doi-asserted-by":"crossref","unstructured":"Pearson S, Campos J, Just R, et al. Evaluating and improving fault localization. In: Proceedings of the 2017 IEEE\/ACM 39th International Conference on Software Engineering (ICSE), 2017. 609\u2013620","DOI":"10.1109\/ICSE.2017.62"},{"key":"2745_CR62","doi-asserted-by":"crossref","unstructured":"Kawrykow D, Robillard M P. Non-essential changes in version histories. In: Proceedings of the 2011 33rd International Conference on Software Engineering (ICSE), 2011. 351\u2013360","DOI":"10.1145\/1985793.1985842"},{"key":"2745_CR63","doi-asserted-by":"crossref","unstructured":"Barnett M, Bird C, Brunet J A, et al. Helping developers help themselves: automatic decomposition of code review change-sets. In: Proceedings of the 2015 IEEE\/ACM 37th IEEE International Conference on Software Engineering, Florence, 2015. 134\u2013144","DOI":"10.1109\/ICSE.2015.35"},{"key":"2745_CR64","doi-asserted-by":"crossref","unstructured":"Tao Y, Kim S, Partitioning composite code changes to facilitate code review. In: Proceedings of the 2015 IEEE\/ACM 12th Working Conference on Mining Software Repositories, 2015. 180\u2013190","DOI":"10.1109\/MSR.2015.24"},{"key":"2745_CR65","doi-asserted-by":"publisher","first-page":"450","DOI":"10.1145\/3296979.3192403","volume":"53","author":"R Paletov","year":"2018","unstructured":"Paletov R, Tsankov P, Raychev V, et al. Inferring crypto API rules from code changes. SIGPLAN Not, 2018, 53: 450\u2013464","journal-title":"SIGPLAN Not"},{"key":"2745_CR66","doi-asserted-by":"publisher","first-page":"1170","DOI":"10.1109\/TSE.2018.2827384","volume":"45","author":"S Amann","year":"2019","unstructured":"Amann S, Nguyen H A, Nadi S, et al. A systematic evaluation of static API-misuse detectors. IEEE Trans Softw Eng, 2019, 45: 1170\u20131188","journal-title":"IEEE Trans Softw Eng"},{"key":"2745_CR67","doi-asserted-by":"publisher","first-page":"57","DOI":"10.1145\/502059.502041","volume":"35","author":"D Engler","year":"2001","unstructured":"Engler D, Chen D Y, Hallem S, et al. Bugs as deviant behavior: a general approach to inferring errors in systems code. SIGOPS Oper Syst Rev, 2001, 35: 57\u201372","journal-title":"SIGOPS Oper Syst Rev"},{"key":"2745_CR68","doi-asserted-by":"publisher","first-page":"42","DOI":"10.1016\/j.jss.2017.05.039","volume":"130","author":"H E Salman","year":"2017","unstructured":"Salman H E. Identification multi-level frequent usage patterns from APIs. J Syst Softw, 2017, 130: 42\u201356","journal-title":"J Syst Softw"},{"key":"2745_CR69","doi-asserted-by":"crossref","unstructured":"Xie T, Pei J. MAPO: mining API usages from open source repositories. In: Proceedings of the 2006 International Workshop on Mining Software Repositories, 2006. 54\u201357","DOI":"10.1145\/1137983.1137997"},{"key":"2745_CR70","doi-asserted-by":"crossref","unstructured":"Kagdi H, Collard M L, Maletic J I. An approach to mining call-usage patternswith syntactic context. In: Proceedings of the 22nd IEEE\/ACM International Conference on Automated Software Engineering, 2007. 457\u2013460","DOI":"10.1145\/1321631.1321708"},{"key":"2745_CR71","doi-asserted-by":"crossref","unstructured":"Acharya M, Xie T, Pei J, et al. Mining API patterns as partial orders from source code: from usage scenarios to specifications. In: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2007. 25\u201334","DOI":"10.1145\/1287624.1287630"},{"key":"2745_CR72","doi-asserted-by":"crossref","unstructured":"Gruska N, Wasylkowski A, Zeller A. Learning from 6000 projects: lightweight cross-project anomaly detection. In: Proceedings of the 19th International Symposium on Software Testing and Analysis, 2010. 119\u2013130","DOI":"10.1145\/1831708.1831723"},{"key":"2745_CR73","doi-asserted-by":"crossref","unstructured":"Thummalapenta S, Xie T. Mining exception-handling rules as sequence association rules. In: Proceedings of the 2009 IEEE 31st International Conference on Software Engineering, 2009. 496\u2013506","DOI":"10.1109\/ICSE.2009.5070548"},{"key":"2745_CR74","doi-asserted-by":"crossref","unstructured":"Wang J, Dang Y, Zhang H, et al. Mining succinct and high-coverage API usage patterns from source code. In: Proceedings of the 2013 10th Working Conference on Mining Software Repositories (MSR), 2013. 319\u2013328","DOI":"10.1109\/MSR.2013.6624045"},{"key":"2745_CR75","doi-asserted-by":"crossref","unstructured":"Gu X, Zhang H, Zhang D, et al. Deep API learning. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2016. 631\u2013642","DOI":"10.1145\/2950290.2950334"},{"key":"2745_CR76","doi-asserted-by":"crossref","unstructured":"Wen M, Liu Y, Wu R, et al. Exposing library API misuses via mutation analysis. In: Proceedings of the 2019 IEEE\/ACM 41st International Conference on Software Engineering (ICSE), 2019","DOI":"10.1109\/ICSE.2019.00093"},{"key":"2745_CR77","doi-asserted-by":"publisher","first-page":"48","DOI":"10.1145\/1064978.1065018","volume":"40","author":"D Mandelin","year":"2005","unstructured":"Mandelin D, Xu L, Bod\u00edk R, et al. Jungloid mining: Helping to navigate the API jungle. SIGPLAN Not, 2005, 40: 48\u201361","journal-title":"SIGPLAN Not"},{"key":"2745_CR78","doi-asserted-by":"crossref","unstructured":"Zhong H, Zhang H L, Mei H. Inferring specifications of object oriented APIs from API source code. In: Proceedings of the 2008 15th Asia-Pacific Software Engineering Conference, 2008. 221\u2013228","DOI":"10.1109\/APSEC.2008.54"},{"key":"2745_CR79","doi-asserted-by":"crossref","unstructured":"Buse R P, Weimer W. Synthesizing API usage examples. In: Proceedings of the 2012 34th International Conference on Software Engineering (ICSE), 2012. 782\u2013792","DOI":"10.1109\/ICSE.2012.6227140"},{"key":"2745_CR80","doi-asserted-by":"publisher","first-page":"127","DOI":"10.1016\/j.jss.2016.07.026","volume":"129","author":"H Niu","year":"2017","unstructured":"Niu H, Keivanloo I, Zou Y. API usage pattern recommendation for software development. J Syst Softw, 2017, 129: 127\u2013139","journal-title":"J Syst Softw"},{"key":"2745_CR81","doi-asserted-by":"crossref","unstructured":"Wang S, Chollak D, Movshovitz-Attias D, et al. Bugram: bug detection with n-gram language models. In: Proceedings of the 31st IEEE\/ACM International Conference on Automated Software Engineering, 2016. 708\u2013719","DOI":"10.1145\/2970276.2970341"},{"key":"2745_CR82","doi-asserted-by":"crossref","unstructured":"Murali V, Chaudhuri S, Jermaine C. Bayesian specification learning for finding API usage errors. In: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, 2017. 151\u2013162","DOI":"10.1145\/3106237.3106284"},{"key":"2745_CR83","doi-asserted-by":"crossref","unstructured":"Murphy-Hill E, Sadowski C, Head A, et al. Discovering API usability problems at scale. In: Proceedings of the 2nd International Workshop on API Usage and Evolution, 2018. 14\u201317","DOI":"10.1145\/3194793.3194795"},{"key":"2745_CR84","doi-asserted-by":"crossref","unstructured":"Uddin G, Dagenais B, Robillard M P. Analyzing temporal API usage patterns. In: Proceedings of the 2011 26th IEEE\/ACM International Conference on Automated Software Engineering (ASE 2011), 2011. 456\u2013459","DOI":"10.1109\/ASE.2011.6100098"},{"key":"2745_CR85","doi-asserted-by":"crossref","unstructured":"Bruch M, Monperrus M, Mezini M. Learning from examples to improve code completion systems. In: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2009. 213\u2013222","DOI":"10.1145\/1595696.1595728"},{"key":"2745_CR86","unstructured":"Wang L, Fang L, Wang L, et al. APIExample: an effective web search based usage example recommendation system for Java APIs. In: Proceedings of the 2011 26th IEEE\/ACM International Conference on Automated Software Engineering (ASE 2011), 2011. 592\u2013595"},{"key":"2745_CR87","doi-asserted-by":"crossref","unstructured":"Negara S, Codoban M, Dig D, et al. Mining fine-grained code changes to detect unknown change patterns. In: Proceedings of the 36th International Conference on Software Engineering, 2014. 803\u2013813","DOI":"10.1145\/2568225.2568317"},{"key":"2745_CR88","doi-asserted-by":"publisher","first-page":"329","DOI":"10.1145\/1993316.1993537","volume":"46","author":"N Meng","year":"2011","unstructured":"Meng N, Kim M, McKinley K S. Systematic editing: generating program transformations from an example. SIGPLAN Not, 2011, 46: 329\u2013342","journal-title":"SIGPLAN Not"},{"key":"2745_CR89","doi-asserted-by":"crossref","unstructured":"Meng N, Kim M, McKinley K S. LASE: locating and applying systematic edits by learning from examples. In: Proceedings of the 2013 35th International Conference on Software Engineering (ICSE), 2013. 502\u2013511","DOI":"10.1109\/ICSE.2013.6606596"},{"key":"2745_CR90","doi-asserted-by":"crossref","unstructured":"Rolim R, Soares G, D\u2019Antoni L, et al. Learning syntactic program transformations from examples. In: Proceedings of the 2017 IEEE\/ACM 39th International Conference on Software Engineering (ICSE), 2017. 404\u2013415","DOI":"10.1109\/ICSE.2017.44"},{"key":"2745_CR91","doi-asserted-by":"crossref","unstructured":"Kim D, Nam J, Song J, et al. Automatic patch generation learned from human-written patches. In: Proceedings of the 2013 35th International Conference on Software Engineering (ICSE), 2013. 802\u2013811","DOI":"10.1109\/ICSE.2013.6606626"},{"key":"2745_CR92","doi-asserted-by":"crossref","unstructured":"Long F, Amidon P, Rinard M. Automatic inference of code transforms for patch generation. In: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, 2017. 727\u2013739","DOI":"10.1145\/3106237.3106253"},{"key":"2745_CR93","doi-asserted-by":"crossref","unstructured":"Liu X, Zhong H. Mining stackoverflow for program repair. In: Proceedings of the 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), 2018. 118\u2013129","DOI":"10.1109\/SANER.2018.8330202"},{"key":"2745_CR94","doi-asserted-by":"publisher","first-page":"200103","DOI":"10.1007\/s11432-019-9947-6","volume":"62","author":"A Roychoudhury","year":"2019","unstructured":"Roychoudhury A, Xiong Y. Automated program repair: a step towards software automation. Sci China Inf Sci, 2019, 62: 200103","journal-title":"Sci China Inf Sci"},{"key":"2745_CR95","doi-asserted-by":"crossref","unstructured":"Brown D B, Vaughn M, Liblit B, et al. The care and feeding of wild-caught mutants. In: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, 2017. 511\u2013522","DOI":"10.1145\/3106237.3106280"},{"key":"2745_CR96","doi-asserted-by":"publisher","first-page":"703","DOI":"10.1007\/s10664-011-9186-4","volume":"17","author":"M Monperrus","year":"2012","unstructured":"Monperrus M, Eichberg M, Tekes E, et al. What should developers be aware of? An empirical study on the directives of API documentation. Empir Software Eng, 2012, 17: 703\u2013737","journal-title":"Empir Software Eng"},{"key":"2745_CR97","doi-asserted-by":"crossref","unstructured":"Dekel U, Herbsleb J D. Improving API documentation usability with knowledge pushing. In: Proceedings of the 2009 IEEE 31st International Conference on Software Engineering, 2009. 320\u2013330","DOI":"10.1109\/ICSE.2009.5070532"},{"key":"2745_CR98","doi-asserted-by":"crossref","unstructured":"Saied M A, Sahraoui H, Dufour B. An observational study on API usage constraints and their documentation. In: Proceedings of 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER), 2015. 33\u201342","DOI":"10.1109\/SANER.2015.7081813"},{"key":"2745_CR99","doi-asserted-by":"crossref","unstructured":"Zhou Y, Gu R, Chen T, et al. Analyzing APIs documentation and code to detect directive defects. In: Proceedings of 2017 IEEE\/ACM 39th International Conference on Software Engineering (ICSE), 2017. 27\u201337","DOI":"10.1109\/ICSE.2017.11"},{"key":"2745_CR100","doi-asserted-by":"crossref","unstructured":"Wu W, Gu\u00e9h\u00e9neuc Y G, Antoniol G, et al. AURA: a hybrid approach to identify framework evolution. In: Proceedings of the 32nd ACM\/IEEE International Conference on Software Engineering, 2010. 325\u2013334","DOI":"10.1145\/1806799.1806848"},{"key":"2745_CR101","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2000799.2000805","volume":"20","author":"B Dagenais","year":"2011","unstructured":"Dagenais B, Robillard M P. Recommending adaptive changes for framework evolution. ACM Trans Softw Eng Methodol, 2011, 20: 1\u201335","journal-title":"ACM Trans Softw Eng Methodol"}],"container-title":["Science China Information Sciences"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11432-019-2745-5.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s11432-019-2745-5\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11432-019-2745-5.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,4,19]],"date-time":"2022-04-19T20:29:41Z","timestamp":1650400181000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s11432-019-2745-5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,2,7]]},"references-count":101,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2021,3]]}},"alternative-id":["2745"],"URL":"https:\/\/doi.org\/10.1007\/s11432-019-2745-5","relation":{},"ISSN":["1674-733X","1869-1919"],"issn-type":[{"value":"1674-733X","type":"print"},{"value":"1869-1919","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,2,7]]},"assertion":[{"value":"23 September 2019","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"13 December 2019","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"26 December 2019","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"7 February 2021","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}],"article-number":"132101"}}