{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T23:15:33Z","timestamp":1743030933368,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":24,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642198106"},{"type":"electronic","value":"9783642198113"}],"license":[{"start":{"date-parts":[[2011,1,1]],"date-time":"2011-01-01T00:00:00Z","timestamp":1293840000000},"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":[[2011]]},"DOI":"10.1007\/978-3-642-19811-3_27","type":"book-chapter","created":{"date-parts":[[2011,3,14]],"date-time":"2011-03-14T13:06:18Z","timestamp":1300107978000},"page":"386-400","source":"Crossref","is-referenced-by-count":6,"title":["Flow-Augmented Call Graph: A New Foundation for Taming API Complexity"],"prefix":"10.1007","author":[{"given":"Qirun","family":"Zhang","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Wujie","family":"Zheng","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Michael R.","family":"Lyu","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"27_CR1","volume-title":"Compilers: Princiles, Techniques, and Tools","author":"A.V. Aho","year":"1986","unstructured":"Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Princiles, Techniques, and Tools. Addison-Wesley, Reading (1986)"},{"key":"27_CR2","unstructured":"DeMarco, T., Lister, T.: Programmer performance and the effects of the workplace. In: ICSE, pp. 268\u2013272 (1985)"},{"key":"27_CR3","doi-asserted-by":"publisher","first-page":"227","DOI":"10.1145\/151640.151643","volume":"1","author":"M. Hall","year":"1992","unstructured":"Hall, M., Hall, M.W., Kennedy, K., Kennedy, K.: Efficient call graph analysis. ACM Letters on Programming Languages and Systems\u00a01, 227\u2013242 (1992)","journal-title":"ACM Letters on Programming Languages and Systems"},{"key":"27_CR4","series-title":"Lecture Notes in Computer Science","first-page":"117","volume-title":"Software Engineering Education in the Modern Age","author":"R. Holmes","year":"2006","unstructured":"Holmes, R., Murphy, G.C.: Using structural context to recommend source code examples. In: Inverardi, P., Jazayeri, M. (eds.) ICSE 2005. LNCS, vol.\u00a04309, pp. 117\u2013125. Springer, Heidelberg (2006)"},{"key":"27_CR5","doi-asserted-by":"crossref","unstructured":"Inoue, K., Yokomori, R., Fujiwara, H., Yamamoto, T., Matsushita, M., Kusumoto, S.: Component rank: Relative significance rank for software component search. In: ICSE, pp. 14\u201324 (2003)","DOI":"10.1109\/ICSE.2003.1201184"},{"key":"27_CR6","doi-asserted-by":"crossref","unstructured":"Ko, A.J., Myers, B.A., Aung, H.H.: Six learning barriers in end-user programming systems. In: VL\/HCC, pp. 199\u2013206 (2004)","DOI":"10.1109\/VLHCC.2004.47"},{"key":"27_CR7","unstructured":"Lehman, M.M., Parr, F.N.: Program evolution and its impact on software engineering. In: ICSE, pp. 350\u2013357 (1976)"},{"key":"27_CR8","doi-asserted-by":"crossref","unstructured":"Long, F., Wang, X., Cai, Y.: API hperlinking via structural overlap. In: ESEC\/SIGSOFT FSE, pp. 203\u2013212 (2009)","DOI":"10.1145\/1595696.1595727"},{"key":"27_CR9","doi-asserted-by":"crossref","unstructured":"Mandelin, D., Xu, L., Bod\u00edk, R., Kimelman, D.: Jungloid mining: helping to navigate the API jungle. In: PLDI, pp. 48\u201361 (2005)","DOI":"10.1145\/1065010.1065018"},{"key":"27_CR10","unstructured":"Merrill, J.: Generic and Gimple: A new tree representation for entire functions. In: Proceedings of the 2003 GCC Developers Summit, Citeseer, pp. 171\u2013179 (2003)"},{"key":"27_CR11","doi-asserted-by":"publisher","first-page":"965","DOI":"10.1109\/32.58784","volume":"16","author":"A. Podgurski","year":"1990","unstructured":"Podgurski, A., Clarke, L.A.: A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Transactions on Software Engineering\u00a016, 965\u2013979 (1990)","journal-title":"IEEE Transactions on Software Engineering"},{"key":"27_CR12","doi-asserted-by":"crossref","unstructured":"Ramanathan, M.K., Grama, A., Jagannathan, S.: Path-sensitive inference of function precedence protocols. In: ICSE, pp. 240\u2013250 (2007)","DOI":"10.1109\/ICSE.2007.63"},{"issue":"4","key":"27_CR13","doi-asserted-by":"publisher","first-page":"80","DOI":"10.1109\/MS.2009.161","volume":"27","author":"M. Robillard","year":"2010","unstructured":"Robillard, M., Walker, R., Zimmermann, T.: Recommendation systems for software engineering. IEEE Software\u00a027(4), 80\u201386 (2010)","journal-title":"IEEE Software"},{"key":"27_CR14","doi-asserted-by":"crossref","unstructured":"Robillard, M.P.: Automatic generation of suggestions for program investigation. In: ESEC\/SIGSOFT FSE, pp. 11\u201320 (2005)","DOI":"10.1145\/1081706.1081711"},{"issue":"6","key":"27_CR15","doi-asserted-by":"publisher","first-page":"27","DOI":"10.1109\/MS.2009.193","volume":"26","author":"M.P. Robillard","year":"2009","unstructured":"Robillard, M.P.: What makes APIs hard to learn? answers from developers. IEEE Software\u00a026(6), 27\u201334 (2009)","journal-title":"IEEE Software"},{"issue":"12","key":"27_CR16","doi-asserted-by":"publisher","first-page":"889","DOI":"10.1109\/TSE.2004.101","volume":"30","author":"M.P. Robillard","year":"2004","unstructured":"Robillard, M.P., Coelho, W., Murphy, G.C.: How effective developers investigate source code: An exploratory study. IEEE Trans. Software Eng.\u00a030(12), 889\u2013903 (2004)","journal-title":"IEEE Trans. Software Eng."},{"issue":"3","key":"27_CR17","doi-asserted-by":"publisher","first-page":"216","DOI":"10.1109\/TSE.1979.234183","volume":"5","author":"B.G. Ryder","year":"1979","unstructured":"Ryder, B.G.: Constructing the call graph of a program. IEEE Trans. Software Eng.\u00a05(3), 216\u2013226 (1979)","journal-title":"IEEE Trans. Software Eng."},{"key":"27_CR18","doi-asserted-by":"crossref","unstructured":"Sahavechaphan, N., Claypool, K.T.: XSnippet: mining for sample code. In: OOPSLA, pp. 413\u2013430 (2006)","DOI":"10.1145\/1167473.1167508"},{"key":"27_CR19","doi-asserted-by":"crossref","unstructured":"Saul, Z.M., Filkov, V., Devanbu, P.T., Bird, C.: Recommending random walks. In: ESEC\/SIGSOFT FSE, pp. 15\u201324 (2007)","DOI":"10.1145\/1287624.1287629"},{"key":"27_CR20","doi-asserted-by":"crossref","unstructured":"Stylos, J., Myers, B.A.: Mica: A web-search tool for finding API components and examples. In: VL\/HCC, pp. 195\u2013202 (2006)","DOI":"10.1109\/VLHCC.2006.32"},{"key":"27_CR21","doi-asserted-by":"crossref","unstructured":"Tarjan, R.E.: Testing flow graph reducibility. In: STOC, pp. 96\u2013107 (1973)","DOI":"10.1145\/800125.804040"},{"key":"27_CR22","doi-asserted-by":"crossref","unstructured":"Thummalapenta, S., Xie, T.: PARSEWeb: a programmer assistant for reusing open source code on the web. In: ASE, pp. 204\u2013213 (2007)","DOI":"10.1145\/1321631.1321663"},{"key":"27_CR23","doi-asserted-by":"crossref","unstructured":"Zhang, C., Jacobsen, H.A.: Efficiently mining crosscutting concerns through random walks. In: AOSD, pp. 226\u2013238 (2007)","DOI":"10.1145\/1218563.1218588"},{"key":"27_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"318","DOI":"10.1007\/978-3-642-03013-0_15","volume-title":"ECOOP 2009 \u2013 Object-Oriented Programming","author":"H. Zhong","year":"2009","unstructured":"Zhong, H., Xie, T., Zhang, L., Pei, J., Mei, H.: MAPO: mining and recommending api usage patterns. In: Drossopoulou, S. (ed.) ECOOP 2009. LNCS, vol.\u00a05653, pp. 318\u2013343. Springer, Heidelberg (2009)"}],"container-title":["Lecture Notes in Computer Science","Fundamental Approaches to Software Engineering"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-19811-3_27","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,11,20]],"date-time":"2021-11-20T08:43:00Z","timestamp":1637397780000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-19811-3_27"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011]]},"ISBN":["9783642198106","9783642198113"],"references-count":24,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-19811-3_27","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2011]]}}}