API Reuse

API Usage/Property Mining

    • Martin P. Robillard, Eric Bodden, David Kawrykow, Mira Mezini, and Tristan Ratchford. Automated API Property Inference Techniques. TSE 2012. [PDF]
  • Mishne A., Shoham S., Yahav E. Typestate-Based Semantic Code Search over Partial Programs. In OOPSLA 2012. [pdf] [slides] [open source code]
    • Shoham S., Yahav E., Fink S., Pistoia M. Static Specification Mining Using Automata-Based Abstractions. In ISSTA 2007.
    • [pdf] [slides] [gallery]
    • Michael Pradel, Ciera Jaspan, Jonathan Aldrich, and Thomas R. Gross. Statically Checking API Protocol Conformance with Mined Multi-Object Specifications. In ICSE 2012. [pdf] [bibtex] [companion report] [material]
    • Michael Pradel and Thomas R. Gross. Leveraging Test Generation and Specification Mining for Automated Bug Detection without False Positives. In ICSE 2012. [pdf] [bibtex] [material]
    • Ralf L¨ammel, Rufus Linke, Ekaterina Pek, and Andrei Varanovich. A Framework Profile of .NET. In WCRE 2011. [PDF][Slides]
    • Choonghwan Lee, Feng Chen and Grigore Rosu. Mining Parametric Specifications. ICSE 2011. PDF, Slides(pptx), jMiner
    • Nels E. Beckman and Aditya V. Nori. Probabilistic, Modular and Scalable Inference of Typestate Specifications, In PLDI 2011. [PDF]
  • Hoan Anh Nguyen, Tung Thanh Nguyen, Gary Wilson Jr., Anh Tuan Nguyen, Miryung Kim, Tien N. Nguyen: A graph-based approach to API usage adaptation. In OOPSLA 2010. [PDF]
  • Sushil K. Bajracharya, Joel Ossher, and Cristina V. Lopes. Leveraging usage similarity for effective retrieval of examples in code repositories. In FSE 2010. [PDF]
    • Hao Zhong, Tao Xie, Lu Zhang, Jian Pei, and Hong Mei. MAPO: Mining and Recommending API Usage Patterns.In ECOOP 2009. [PDF]
  • Tung Thanh Nguyen, Hoan Anh Nguyen, Nam H. Pham, Jafar M. Al-Kofahi, and Tien N. Nguyen. Graph-based mining of multiple object usage patterns. In ESEC/FSE 2009. [PDF]
  • David Kawrykow and Martin P. Robillard. Improving API Usage through Automatic Detection of Redundant Code. In ASE 2009. [pdf] [ppt]
  • Abbas Heydarnoori, Krzysztof Czarnecki, and Thiago Tonelli Bartolomei. 2009. Supporting Framework Use via Automatically Extracted Concept-Implementation Templates. In ECOOP 2009 [PDF]
  • Suresh Thummalapenta and Tao Xie. PARSEWeb: A Programmer Assistant for Reusing Open Source Code on the Web. In ASE 2007. [PDF]
  • Naiyana Sahavechaphan and Kajal Claypool. 2006. XSnippet: mining For sample code. In OOPSLA 2006. [PDF]
  • D. Mandelin, L. Xu, R. Bodík, and D. Kimelman. Jungloid mining: helping to navigate the api jungle. In PLDI 2005. [PDF]

API Property Specification

    • Choonghwan Lee, Dongyun Jin, Patrick Meredith and Grigore Rosu. Towards Categorizing and Formalizing the JDK API. Technical Report, March 2012. [PDF][Annotated JDK API Doc]
    • Nels E. Beckman, Duri Kim, and Jonathan Aldrich. An Empirical Study of Object Protocols in the Wild. In ECOOP 2011. [PDF]
    • Ciera Jaspan and Jonathan Aldrich. Are object protocols burdensome?: an empirical study of developer forums. In PLATEAU 2011. [PDF]

API Example/Doc Synthesis

    • Cozzie, Anthony; King, Samuel. Macho: Writing Programs with Natural Language and Examples. 2012. [PDF][Thesis with appendix]
    • Raymond P. L. Buse and Westley Weimer. 2012. Synthesizing API usage examples. In Proceedings of the 2012 International Conference on Software Engineering (ICSE 2012). IEEE Press, Piscataway, NJ, USA, 782-792. [PDF][Slides]
  • Seyed Mehdi Nasehi, Jonathan Sillito, Frank Maurer, and Chris Burns. What Makes a Good Code Example? A Study of Programming Q&A in StackOverflow. In ICSM 2012. [PDF]
    • Kuat Yessenov, Zhilei Xu, Armando Solar-Lezama: Data-Driven Synthesis for Object-Oriented Frameworks, in OOPSLA 2011. [PDF][Project web]
  • Jinhan Kim, Sanghoon Lee, Seung-won Hwang and Sunghun Kim. Towards Intelligent Code Search Engine. In AAAI 2010. [PDF] Exoa homepage.[Slides]
    • Jeffrey Stylos, Andrew Faulring, Zizhuang Yang, Brad A. Myers. “Improving API Documentation Using API Usage Information.” In VL/HCC'09. [PDF][Examples]

Code Completion

    • Gvero, Tihomir; Kuncak, Viktor; Kuraj, Ivan; Piskac, Ruzica. On Fast Code Completion using Type Inhabitation. 2012. [PDF]
    • Sean McDirmid. Escaping the maze of twisty classes. In Onward! '12. [PDF]
    • Cheng Zhang, Juyuan Yang, Yi Zhang, Jing Fan, Xin Zhang, Jianjun Zhao, Peizhao Ou: Automatic parameter recommendation for practical API usage. In ICSE 2012. [PDF]
    • Stephen Oney and Joel Brandt. 2012. Codelets: linking interactive documentation and example code in the editor. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '12). [PDF]
    • Anh Tuan Nguyen, Hoan Anh Nguyen, Tung Thanh Nguyen, and Tien N. Nguyen. GraPacc: a graph-based pattern-oriented, context-sensitive code completion tool. In ICSE 2012. [PDF][Project web][Slides]
    • Daniel Perelman, Sumit Gulwani, Tom Ball, Dan Grossman. Type-Directed Completion of Partial Expressions, PLDI 2012, [pdf] [slides] [code]
    • Cyrus Omar, YoungSeok Yoon, Thomas D. LaToza, Brad A. Myers, Active Code Completion. ICSE'2012: 34nd International Conference on Software Engineering, Zurich, Switzerland, 2-9 June 2012. pp. 859-869. [PDF][Open Source]
    • Ekwa Duala-Ekoko and Martin P. Robillard. Using Structure-Based Recommendations to Facilitate Discoverability in APIs. In ECOOP 2011. [pdf][open source tool]
    • Mathew Mooty, Andrew Faulring, Jeffrey Stylos and Brad Myers. "Calcite: Completing Code Completion for Constructors using Crowds. In VL/HCC 2010. [PDF][Available Tool]
    • Romain Robbes and Michele Lanza. 2010. Improving code completion with program history. Automated Software Engg. 2010. [PDF]
    • Marcel Bruch, Martin Monperrus, and Mira Mezini. Learning from examples to improve code completion systems. In ESEC/FSE 2009. [PDF][Resource]

API Usability/Learning

    • Ekwa Duala-Ekoko and Martin P. Robillard. Asking and Answering Questions About Unfamiliar APIs: An Exploratory Study. In Proceedings of the 34th IEEE/ACM International Conference on Software Engineering, pages 266-276, June 2012. abstract | pdf | bibtex
  • Martin P. Robillard and Robert DeLine. A Field Study of API Learning Obstacles. Empirical Software Engineering, 16(6): 703-732, 2011. abstract | site | bibtex
    • John M. Daughtry, Jeffrey Stylos, Umer Farooq, Brad A. Myers (2009). API Usability: CHI'2009 Special Interest Group Meeting, Extended Abstracts, CHI'2009, Boston, MA, April 4-9, 2009. pp. 2771-2774. [PDF]
    • Stylos, J., Myers, B. (2008). The Implications of Method Placement on API Learnability. Sixteenth ACM SIGSOFT Symposium on Foundations of Software Engineering, FSE 2008. Atlanta, GA, November 9-14, 2008. pp. 105-112. [PDF]
    • Beaton, J., Jeong, S., Xie, Y., Stylos, J., Myers, B. (2008). Usability challenges for enterprise service-oriented architecture APIs. IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC'08. Sept 15-19, 2008, Herrsching am Ammersee, German. pp. 193-196. [PDF]
    • Stylos, J., Graf, B., Busse, D., Ziegler, C., Ehret, R., Karstens, J. (2008). A Case Study of API Redesign for Improved Usability. IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC'08. Sept 15-19, 2008, Herrsching am Ammersee, German. pp. 189-192. [PDF]
    • Stylos, J., Myers, B. (2007). Mapping the Space of API Design Decisions. IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC'07. Sept 23-27, 2007, Coeur d'Alene, Idaho. pp. 50-57. [PDF]
    • Ellis, B., Stylos J., Myers B. (2007).The Factory Pattern in API Design: A Usability Evaluation.International Conference on Software Engineering, Minneapolis, MN, USA, May 20-26, pp. 302-312. [PDF]
    • Stylos J, Clarke S. (2007).Usability Implications of Requiring Parameters in Objects' Constructors.International Conference on Software Engineering, Minneapolis, MN, USA, May 20-26, pp. 529-539. [PDF]

Pragmatic Reuse