{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,13]],"date-time":"2026-05-13T17:49:33Z","timestamp":1778694573213,"version":"3.51.4"},"publisher-location":"Berlin, Heidelberg","reference-count":39,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783642030123","type":"print"},{"value":"9783642030130","type":"electronic"}],"license":[{"start":{"date-parts":[[2009,1,1]],"date-time":"2009-01-01T00:00:00Z","timestamp":1230768000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2009]]},"DOI":"10.1007\/978-3-642-03013-0_15","type":"book-chapter","created":{"date-parts":[[2009,7,30]],"date-time":"2009-07-30T10:30:01Z","timestamp":1248949801000},"page":"318-343","source":"Crossref","is-referenced-by-count":228,"title":["MAPO: Mining and Recommending API Usage Patterns"],"prefix":"10.1007","author":[{"given":"Hao","family":"Zhong","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tao","family":"Xie","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lu","family":"Zhang","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jian","family":"Pei","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hong","family":"Mei","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"15_CR1","doi-asserted-by":"crossref","unstructured":"Acharya, M., Xie, T., Pei, J., Xu, J.: Mining API patterns as partial orders from source code: From usage scenarios to specifications. In: Proc. 7th ESEC\/FSE, pp. 25\u201334 (2007)","DOI":"10.1145\/1287624.1287630"},{"key":"15_CR2","unstructured":"Aeschlimann, M., Baumer, D., Lanneluc, J.: Java tool smithing extending the Eclipse Java Development Tools. In: Proc. 2nd EclipseCon (2005)"},{"key":"15_CR3","doi-asserted-by":"crossref","unstructured":"Agrawal, R., Srikant, R.: Mining sequential patterns. In: Proc. 7th ICDE, pp. 3\u201314 (1995)","DOI":"10.1109\/ICDE.1995.380415"},{"key":"15_CR4","doi-asserted-by":"crossref","unstructured":"Alur, R., \u010cern\u1ef3, P., Madhusudan, P., Nam, W.: Synthesis of interface specifications for Java classes. In: Proc. 32nd POPL, pp. 98\u2013109 (2005)","DOI":"10.1145\/1047659.1040314"},{"key":"15_CR5","doi-asserted-by":"crossref","unstructured":"Ammons, G., Bodik, R., Larus, J.R.: Mining specifications. In: Proc. 29th POPL, pp. 4\u201316 (2002)","DOI":"10.1145\/503272.503275"},{"issue":"2","key":"15_CR6","doi-asserted-by":"publisher","first-page":"87","DOI":"10.1016\/0890-5401(87)90052-6","volume":"75","author":"D. Angluin","year":"1987","unstructured":"Angluin, D.: Learning regular sets from queries and counterexamples. Information and Computation\u00a075(2), 87\u2013106 (1987)","journal-title":"Information and Computation"},{"key":"15_CR7","doi-asserted-by":"crossref","unstructured":"Ayres, J., Flannick, J., Gehrke, J., Yiu, T.: Sequential pattern mining using a bitmap representation. In: Proc. 8th KDD, pp. 429\u2013435 (2002)","DOI":"10.1145\/775047.775109"},{"key":"15_CR8","doi-asserted-by":"crossref","unstructured":"Bruch, M., Sch\u00e4fer, T., Mezini, M.: FrUiT: IDE support for framework understanding. In: Proc. 4th ETX, pp. 55\u201359 (2006)","DOI":"10.1145\/1188835.1188847"},{"key":"15_CR9","doi-asserted-by":"crossref","unstructured":"Chang, R., Podgurski, A., Yang, J.: Finding what\u2019s not there: a new approach to revealing neglected conditions in software. In: Proc. ISSTA, pp. 163\u2013173 (2007)","DOI":"10.1145\/1273463.1273486"},{"key":"15_CR10","doi-asserted-by":"crossref","unstructured":"Engler, D., Chen, D.Y., Hallem, S., Chou, A., Chelf, B.: Bugs as deviant behavior: a general approach to inferring errors in systems code. In: Proc. 8th SOSP, pp. 57\u201372 (2001)","DOI":"10.1145\/502034.502041"},{"key":"15_CR11","doi-asserted-by":"crossref","unstructured":"Gabel, M., Su, Z.: Javert: fully automatic mining of general temporal properties from dynamic traces. In: Proc. 16th FSE, pp. 339\u2013349 (2008)","DOI":"10.1145\/1453101.1453150"},{"key":"15_CR12","unstructured":"Google Code Search Engine (2008), http:\/\/www.google.com\/codesearch"},{"key":"15_CR13","volume-title":"Data mining: concepts and techniques","author":"J. Han","year":"2000","unstructured":"Han, J., Kamber, M.: Data mining: concepts and techniques. Morgan Kaufmann Publishers Inc., San Francisco (2000)"},{"key":"15_CR14","doi-asserted-by":"crossref","unstructured":"Henzinger, T., Jhala, R., Majumdar, R.: Permissive interfaces. In: Proc. 5th ESEC\/FSE, pp. 31\u201340 (2005)","DOI":"10.1145\/1081706.1081713"},{"key":"15_CR15","doi-asserted-by":"crossref","unstructured":"Holmes, R., Murphy, G.C.: Using structural context to recommend source code examples. In: Proc. 27th ICSE, pp. 117\u2013125 (2005)","DOI":"10.1145\/1062455.1062491"},{"issue":"12","key":"15_CR16","doi-asserted-by":"publisher","first-page":"952","DOI":"10.1109\/TSE.2006.117","volume":"32","author":"R. Holmes","year":"2006","unstructured":"Holmes, R., Walker, R.J., Murphy, G.C.: Approximate structural context matching: An approach to recommend relevant examples. IEEE Transactions on Software Engineering\u00a032(12), 952\u2013970 (2006)","journal-title":"IEEE Transactions on Software Engineering"},{"key":"15_CR17","unstructured":"Hudson, R., Shah, P.: GEF in depth. In: Proc. 2nd EclipseCon (2005)"},{"issue":"3","key":"15_CR18","doi-asserted-by":"publisher","first-page":"264","DOI":"10.1145\/331499.331504","volume":"31","author":"A.K. Jain","year":"1999","unstructured":"Jain, A.K., Murty, M.N., Flynn, P.J.: Data clustering: a review. ACM Computing Surveys\u00a031(3), 264\u2013323 (1999)","journal-title":"ACM Computing Surveys"},{"key":"15_CR19","doi-asserted-by":"crossref","unstructured":"Li, Z., Zhou, Y.: PR-Miner: Automatically extracting implicit programming rules and detecting violations in large software code. In: Proc. 5th ESEC\/FSE, pp. 306\u2013315 (2005)","DOI":"10.1145\/1095430.1081755"},{"key":"15_CR20","doi-asserted-by":"crossref","unstructured":"Livshits, V.B., Zimmermann, T.: Dynamine: Finding common error patterns by mining software revision histories. In: Proc. 5th ESEC\/FSE, pp. 296\u2013305 (2005)","DOI":"10.1145\/1095430.1081754"},{"key":"15_CR21","doi-asserted-by":"crossref","unstructured":"Lo, D., Khoo, S.: SMArTIC: towards building an accurate, robust and scalable specification miner. In: Proc. 6th ESEC\/FSE, pp. 265\u2013275 (2006)","DOI":"10.1145\/1181775.1181808"},{"key":"15_CR22","doi-asserted-by":"crossref","unstructured":"Mandelin, D., Xu, L., Bodik, R., Kimelman, D.: Jungloid mining: helping to navigate the API jungle. In: Proc. PLDI, pp. 48\u201361 (2005)","DOI":"10.1145\/1065010.1065018"},{"key":"15_CR23","unstructured":"Matthew Scarpino, S.N., Holder, S., Mihalkovic, L.: SWT\/JFace in Action. Manning (2005)"},{"key":"15_CR24","doi-asserted-by":"crossref","unstructured":"McCarey, F., Cinn\u00e9ide, M.\u00d3., Kushmerick, N.: Recommending library methods: An evaluation of the vector space model (VSM) and latent semantic indexing (LSI). In: Proc. 9th ICSR, pp. 217\u2013230 (2006)","DOI":"10.1007\/11763864_16"},{"key":"15_CR25","doi-asserted-by":"crossref","unstructured":"Michail, A.: Data mining library reuse patterns using generalized association rules. In: Proc. 22nd ICSE, pp. 167\u2013176 (2000)","DOI":"10.1145\/337180.337200"},{"key":"15_CR26","doi-asserted-by":"crossref","unstructured":"Ng, T., Cheung, S., Chan, W., Yu, Y.: Work experience versus refactoring to design patterns: a controlled experiment. In: Proc. 6th ESEC\/FSE, pp. 12\u201322 (2006)","DOI":"10.1145\/1181775.1181778"},{"key":"15_CR27","doi-asserted-by":"crossref","unstructured":"Ramanathan, M.K., Grama, A., Jagannathan, S.: Path-sensitive inference of function precedence protocols. In: Proc. 29th ICSE, pp. 240\u2013250 (2007)","DOI":"10.1109\/ICSE.2007.63"},{"key":"15_CR28","doi-asserted-by":"crossref","unstructured":"Reiss, S., Renieris, M.: Encoding Program Executions. In: Proc. 23rd ICSE, pp. 221\u2013230 (2001)","DOI":"10.1109\/ICSE.2001.919096"},{"key":"15_CR29","doi-asserted-by":"crossref","unstructured":"Saul, Z.M., Filkov, V., Devanbu, P., Bird, C.: Recommending random walks. In: Proc. 7th ESEC\/FSE, pp. 15\u201324 (2007)","DOI":"10.1145\/1287624.1287629"},{"issue":"4","key":"15_CR30","doi-asserted-by":"publisher","first-page":"4","DOI":"10.1145\/1144359.1144363","volume":"12","author":"C. Scaffidi","year":"2005","unstructured":"Scaffidi, C.: Why are APIs difficult to learn and use? Crossroads\u00a012(4), 4\u20134 (2005)","journal-title":"Crossroads"},{"key":"15_CR31","doi-asserted-by":"crossref","unstructured":"Shoham, S., Yahav, E., Fink, S., Pistoia, M.: Static specification mining using automata-based abstractions. In: Proc. ISSTA, pp. 174\u2013184 (2007)","DOI":"10.1145\/1273463.1273487"},{"key":"15_CR32","doi-asserted-by":"crossref","unstructured":"Tansalarak, N., Claypool, K.T.: XSnippet: Mining for sample code. In: Proc. 21st OOPSLA, pp. 413\u2013430 (2006)","DOI":"10.1145\/1167515.1167508"},{"key":"15_CR33","doi-asserted-by":"crossref","unstructured":"Thummalapenta, S., Xie, T.: PARSEWeb: A programmer assistant for reusing open source code on the web. In: Proc. 22nd ASE, pp. 204\u2013213 (2007)","DOI":"10.1145\/1321631.1321663"},{"key":"15_CR34","doi-asserted-by":"crossref","unstructured":"Wasylkowski, A., Zeller, A., Lindig, C.: Detecting object usage anomalies. In: Proc. 7th ESEC\/FSE, pp. 35\u201344 (2007)","DOI":"10.1145\/1287624.1287632"},{"key":"15_CR35","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"461","DOI":"10.1007\/978-3-540-31980-1_30","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","author":"W. Weimer","year":"2005","unstructured":"Weimer, W., Necula, G.: Mining temporal specifications for error detection. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol.\u00a03440, pp. 461\u2013476. Springer, Heidelberg (2005)"},{"key":"15_CR36","doi-asserted-by":"crossref","unstructured":"Whaley, J., Martin, M., Lam, M.: Automatic extraction of object-oriented component interfaces. In: Proc. ISSTA, pp. 218\u2013228 (2002)","DOI":"10.1145\/566172.566212"},{"key":"15_CR37","doi-asserted-by":"crossref","unstructured":"Williams, C.C., Hollingsworth, J.K.: Recovering system specific rules from software repositories. In: Proc. 2nd MSR, pp. 1\u20135 (2005)","DOI":"10.1145\/1083142.1083144"},{"key":"15_CR38","doi-asserted-by":"crossref","unstructured":"Xie, T., Pei, J.: MAPO: Mining API usages from open source repositories. In: Proc. 3rd MSR, pp. 54\u201357 (2006)","DOI":"10.1145\/1137983.1137997"},{"key":"15_CR39","doi-asserted-by":"crossref","unstructured":"Yang, J., Evans, D., Bhardwaj, D., Bhat, T., Das, M.: Perracotta: mining temporal API rules from imperfect traces. In: Proc. 28th ICSE, pp. 282\u2013291 (2006)","DOI":"10.1145\/1134285.1134325"}],"container-title":["Lecture Notes in Computer Science","ECOOP 2009 \u2013 Object-Oriented Programming"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-03013-0_15","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,21]],"date-time":"2019-05-21T15:52:22Z","timestamp":1558453942000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-03013-0_15"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009]]},"ISBN":["9783642030123","9783642030130"],"references-count":39,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-03013-0_15","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2009]]}}}