Redocumenting APIs with crowd knowledge: a coverage analysis based on question types

Fernanda M. Delfim1, Klérisson V. R. Paixão1, Damien Cassou2, Marcelo de Almeida Maia1
1Faculty of Computing, LASCAM-FACOM, Federal University of Uberlândia, Uberlândia, Brazil
2RMoD Inria Lille-Nord Europe, University of Lille-CRIStAL, Lille, France

Tóm tắt

Từ khóa


Tài liệu tham khảo

Robillard MP (2009) What Makes APIs Hard to learn? Answers from developers. IEEE Software 26(6): 27–34.

Robillard MP, DeLine R (2011) A field study of API learning obstacles. Empir Softw Eng 16(6): 703–732.

Parnin C, Treude C (2011) Measuring API documentation on the Web In: Proceedings of the 2nd International Workshop on Web 2.0 for Software Engineering (Web2SE’11), 25–30.. ACM, New York,

Ponzanelli L, Bacchelli A, Lanza M (2013) Leveraging crowd knowledge for software comprehension and development In: Proceedings of the 17th European Conference on Software Maintenance and Reengineering (CSMR’ 13), 57–66.. IEEE Computer Society, Washington, DC,

Souza LBL, Campos EC, Maia MA (2014) On the extraction of cookbooks for APIs from the crowd knowledge In: Proceedings of the Brazilian Symposium on Software Engineering (SBES’14), 21–30.. IEEE, Maceió,

Stack Exchange Inc (2015) Stack Overflow. http://stackoverflow.com/ . Accessed 30 Nov 2016.

Souza LBLd, Campos EC, Maia MDA (2014) Ranking crowd knowledge to assist software development In: Proceedings of the 22nd International Conference on Program Comprehension (ICPC’14), 72–82.. ACM, New York,

Parnin C, Treude C, Grammel L, Storey MA (2012) Crowd documentation: exploring the coverage and the dynamics of API discussions on Stack Overflow. Technical Report GIT-CS-12-05. Georgia Institute of Technology. http://www.chrisparnin.me/pdf/crowddoc.pdf .

Nasehi SM, Sillito J, Maurer F, Burns C (2012) What makes a good code example? A study of programming Q&A in StackOverflow In: Proceedings of the 2012 IEEE International Conference on Software Maintenance (ICSM’12), 25–34.. IEEE Computer Society, Washington, DC,

Treude C, Barzilay O, Storey MA (2011) How Do Programmers ask and answer questions on the Web? (NIER Track) In: Proceedings of the 33rd International Conference on Software Engineering (ICSE’11), 804–807.. ACM, New York,

Delfim FM, da Paixão KVR, de A Maia M (2015) Redocumenting APIs with crowd knowledge: a study on the coverage of the Swing API on Stack Overflow (in Portuguese) In: III Workshop on Software Visualization, Evolution, and Maintenance (VEM’15). Belo Horizonte, 1–8.

Kavaler D, Posnett D, Gibler C, Chen H, Devanbu P, Filkov V (2013) Using and asking: APIs used in the Android market and asked about in StackOverflow In: Proceedings of the 5th International Conference of Social Informatics (SocInfo’ 13), Volume 8238 of the Series Lecture Notes in Computer Science, 405–418.. Springer International Publishing, Cham,

Linares-Vásquez M, Bavota G, Di Penta M, Oliveto R, Poshyvanyk D (2014) How do API changes trigger Stack Overflow discussions? A Study on the Android SDK In: Proceedings of the 22nd International Conference on Program Comprehension (ICPC’ 14), 83–94.. ACM, New York,

Campos E, Souza L, Maia M (2016) Searching Crowd Knowledge to Recommend Solutions for API Usage Tasks. Journal of Software: Evolution and Process (JSEP). Wiley, p 31.

Campos EC, de Almeida Maia M (2014) Automatic categorization of questions from Q&A sites In: Proceedings of the 29th Annual ACM Symposium on Applied Computing (SAC’ 14), 641–643.. ACM, New York,

Aha DW, Kibler D, Albert MK (1991) Instance-based learning algorithms. Mach Learn 6(1): 37–66.

Quinlan JR (1993) C4.5: Programs for machine learning. Morgan Kaufmann Publishers Inc., San Francisco.

Quinlan JR (1996) Improved use of continuous attributes in C4.5. J Artif Intell Res 4(1): 77–90.

John GH, Langley P (1995) Estimating continuous distributions in Bayesian classifiers In: Proceedings of the Eleventh Conference on Uncertainty in Artificial Intelligence (UAI’95), 338–345.. Morgan Kaufmann Publishers Inc., San Francisco,

Friedman N, Geiger D, Goldszmidt M (1997) Bayesian network classifiers. Mach Learn Spec Issue Learn Probabilistic 29(2–3): 131–163.

Kohavi R (1995) The power of decision tables In: Proceedings of the 8th European Conference on Machine Learning (ECML’ 95), 174–189.. Springer, London,

Silva LM, Marques de Sá J, Alexandre LA (2008) Data classification with multilayer perceptrons using a generalized error function. Neural Netw 21(9): 1302–1310.

Platt JC (2002) Advances in kernel methods. pp. 185–208. MIT Press, Cambridge, MA, USA (1999).Chap. Fast Training of Support Vector Machines using Sequential Minimal Optimization.

Breiman L (2001) Random forests. Mach Learn 45(1): 5–32.

Landwehr N, Hall M, Frank E (2005) Logistic model trees. Mach Learn 59(1–2): 161–205.

le Cessie S, van Houwelingen JC (1992) Ridge estimators in logistic regression. Appl Stat 41(1): 191–201.

Nigam K, Lafferty J, McCallum A (1999) Using maximum entropy for text classification. In: IJCAI-99 Workshop on Machine Learning for Information Filtering. Stockholm, pp 61–67.

Hall M, Frank E, Holmes G, Pfahringer B, Reutemann P, Witten IH (2009) The WEKA Data Mining Software: an update. ACM SIGKDD Explorations Newsl 11(1): 10–18.

McCallum AKMALLET: A machine learning for language toolkit. http://mallet.cs.umass.edu . Accessed 30 Nov 2016.

Landis JR, Koch GG (1977) The measurement of observer agreement for categorical data. Biometrics 33(1): 159–174.

Cunningham P (2000) Overfitting and diversity in classification ensembles based on feature selection. Technical Report TCD-CS-2000-07, Department of Computer Science, Trinity College Dublin, Dublin, Ireland.

Yu L, Liu H (2004) Efficient feature selection via analysis of relevance and redundancy. J Mach Learn Res 5: 1205–1224.

Refaeilzadeh P, Tang L, Liu H (2009) Cross-validation. In: Liu L. Özsu M. T. (eds)Encyclopedia of database systems, 532–538.. Springer, New York,

McNemar Q (1947) Note on the sampling error of the difference between correlated proportions or percentages. Psychometrika 12(2): 153–157.

Bostanci B, Bostanci E (2013) An evaluation of classification algorithms using McNemar’s Test (Bansal CJ, Singh KP, Deep K, Pant M, Nagar KA, eds.). Springer, India.

(2016) Jericho HTML Parser. http://jericho.htmlparser.net/docs/index.html . Accessed 30 Nov 2016.

Rigby PC, Robillard MP (2013) Discovering essential code elements in informal documentation In: Proceedings of the 2013 International Conference on Software Engineering (ICSE’ 13), 832–841.. IEEE Press, Piscataway, NJ,

Petrosyan G, Robillard MP, De Mori R (2015) Discovering information explaining API types using text classification In: Proceedings of the 37th International Conference on Software Engineering – Volume 1 (ICSE’ 15), 869–879.. IEEE Press, Piscataway, NJ,

Stack Exchange Inc (2015) Stack exchange data dump. https://archive.org/details/stackexchange . Accessed 30 Nov 2016.

Oracle (2015) Java SE Development Kit 8 documentation. http://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html . Accessed 30 Nov 2016.

Sonatype Inc (2015) The central repository. http://search.maven.org/#search%7Cga%7C1%7Ccom.google.android . Accessed 30 Nov 2016.

Dyer R, Nguyen HA, Rajan H, Nguyen TN (2013) Boa: A language and infrastructure for analyzing ultra-large-scale software repositories In: 35th International Conference on Software Engineering (ICSE’ 13), 422–431.. IEEE Press, Piscataway,

(2016) The R Project for statistical computing. https://www.r-project.org/ . Accessed 30 Nov 2016.

Rocha AM, Maia MA (2016) Automated API documentation with tutorials generated from Stack Overflow In: Proceedings of the 30th Brazilian Symposium on Software Engineering (SBES’ 16), 33–42.. ACM, New York,

Lafetá RFQ, Maia MA, Röthlisberger D (2015) Framework instantiation using cookbooks constructed with static and dynamic analysis In: Proceedings of the 23rd International Conference on Program Comprehension (ICPC’15), 125–128.. IEEE Press, Piscataway, NJ,

Hen β S, Monperrus M, Mezini M (2012) Semi-automatically extracting FAQs to improve accessibility of software development knowledge In: Proceedings of the 34th International Conference on Software Engineering (ICSE’12), 793–803.. IEEE Press, Piscataway, NJ,

Moreno L, Aponte J, Sridhara G, Marcus A, Pollock L, Vijay-Shanker K (2013) Automatic generation of natural language summaries for Java classes In: Proceedings of the 21st International Conference on Program Comprehension (ICPC’13), 23–32.. IEEE, Piscataway, NJ,

McBurney PW, McMillan C (2014) Automatic documentation generation via source code summarization of method context In: Proceedings of the 22nd International Conference on Program Comprehension (ICPC’14), 279–290.. ACM, New York,

Sridhara G, Pollock L, Vijay-Shanker K (2011) Generating parameter comments and integrating with method summaries In: Proceedings of the 19th International Conference on Program Comprehension (ICPC’11), 71–80.. IEEE Computer Society, Washington, DC,

Montandon JE, Borges H, Felix D, Valente MT (2013) Documenting APIs with examples: Lessons learned with the APIMiner Platform In: Proceedings of the 20th Working Conference on Reverse Engineering (WCRE’13), 401–408.. IEEE, Piscataway, NJ,

Kim J, Lee S, Hwang S-W, Kim S (2009) Adding examples into Java documents In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering (ASE’09), 540–544.. IEEE Computer Society, Washington, DC,

Monperrus M, Maia A (2014) Debugging with the crowd: a debug recommendation system based on Stackoverflow. Technical Report hal-00987395. INRIA. https://hal.archives-ouvertes.fr/hal-00987395/PDF/article.pdf .

Treude C, Robillard MP (2016) Augmenting API documentation with insights from Stack Overflow In: Proceedings of the 38th International Conference on Software Engineering (ICSE’ 16), 392–403.. ACM, New York,

Dagenais B, Robillard MP (2012) Recovering traceability links between an API and its learning resources In: Proceedings of the 34th ACM/IEEE International Conference on Software Engineering (ICSE’ 12), 47–57.. IEEE Press, Piscataway, NJ,

van Deursen A, Kuipers T (1999) Building documentation generators In: Proceedings of the IEEE International Conference on Software Maintenance (ICSM’ 99), 40.. IEEE Computer Society, Washington, DC,

Moonen L (2001) Generating robust parsers using island grammars In: Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE’ 01), 13.. IEEE Computer Society, Washington, DC,

Subramanian S, Inozemtseva L, Holmes R (2014) Live API Documentation In: Proceedings of the 36th International Conference on Software Engineering (ICSE’ 14), 643–652.. ACM, New York,