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]
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
- Reid Holmes, Tristan Ratchford, Martin P. Robillard, and Robert J. Walker. Automatically Recommending Triage Decisions for Pragmatic Reuse Tasks. In Proceedings of the International Conference on Automated Software Engineering (ASE). 2009. 397-408. [DOI]
- Reid Holmes, Rylan Cottrell, Robert J. Walker, and Joerg Denzinger. The End-to-End Use of Source Code Examples: An Exploratory Study. In Proceedings of the International Conference on Software Maintenance (ICSM). 2009. 555-558. [DOI]
- Reid Holmes. Pragmatic Software Reuse. Ph.D. Dissertation. 2008. [Screen PDF] [Print PDF]
- Reid Holmes and Robert J. Walker. Lightweight, Semi-Automated Enactment of Pragmatic-Reuse Plans. In Proceedings of the International Conference on Software Reuse, 2008. 330-342. [DOI]
- Reid Holmes and Robert J. Walker. Supporting the investigation and planning of pragmatic reuse tasks. In Proceedings of the International Conference on Software Engineering (Minneapolis, MN, USA. May 25, 2007). ICSE '07. ACM Press, New York, NY, 447-457. [DOI]