{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,4]],"date-time":"2026-03-04T16:36:54Z","timestamp":1772642214719,"version":"3.50.1"},"reference-count":111,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2021,4,23]],"date-time":"2021-04-23T00:00:00Z","timestamp":1619136000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2021,7,31]]},"abstract":"<jats:p>The online technical Q&amp;A site Stack Overflow (SO) is popular among developers to support their coding and diverse development needs. To address shortcomings in API official documentation resources, several research works have thus focused on augmenting official API documentation with insights (e.g., code examples) from SO. The techniques propose to add code examples\/insights about APIs into its official documentation. Recently, surveys of software developers find that developers in SO consider the combination of code examples and reviews about APIs as a form of API documentation, and that they consider such a combination to be more useful than official API documentation when the official resources can be incomplete, ambiguous, incorrect, and outdated. Reviews are opinionated sentences with positive\/negative sentiments. However, we are aware of no previous research that attempts to automatically produce API documentation from SO by considering both API code examples and reviews. In this article, we present two novel algorithms that can be used to automatically produce API documentation from SO by combining code examples and reviews towards those examples. The first algorithm is called statistical documentation, which shows the distribution of positivity and negativity around the code examples of an API using different metrics (e.g., star ratings). The second algorithm is called concept-based documentation, which clusters similar and conceptually relevant usage scenarios. An API usage scenario contains a code example, a textual description of the underlying task addressed by the code example, and the reviews (i.e., opinions with positive and negative sentiments) from other developers towards the code example. We deployed the algorithms in Opiner, a web-based platform to aggregate information about APIs from online forums. We evaluated the algorithms by mining all Java JSON-based posts in SO and by conducting three user studies based on produced documentation from the posts. The first study is a survey, where we asked the participants to compare our proposed algorithms against a Javadoc-syle documentation format (called as Type-based documentation in Opiner). The participants were asked to compare along four development scenarios (e.g., selection, documentation). The participants preferred our proposed two algorithms over type-based documentation. In our second user study, we asked the participants to complete four coding tasks using Opiner and the API official and informal documentation resources. The participants were more effective and accurate while using Opiner. In a subsequent survey, more than 80% of participants asked the Opiner documentation platform to be integrated into the formal API documentation to complement and improve the API official documentation.<\/jats:p>","DOI":"10.1145\/3439769","type":"journal-article","created":{"date-parts":[[2021,4,23]],"date-time":"2021-04-23T10:32:50Z","timestamp":1619173970000},"page":"1-45","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":16,"title":["Automatic API Usage Scenario Documentation from Technical Q&amp;A Sites"],"prefix":"10.1145","volume":"30","author":[{"given":"Gias","family":"Uddin","sequence":"first","affiliation":[{"name":"University of Calgary, Canada"}]},{"given":"Foutse","family":"Khomh","sequence":"additional","affiliation":[{"name":"Polytechnique Montr\u00e9al, Canada"}]},{"given":"Chanchal K.","family":"Roy","sequence":"additional","affiliation":[{"name":"University of Saskatchewan, Canada"}]}],"member":"320","published-online":{"date-parts":[[2021,4,23]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"crossref","unstructured":"Gias Uddin Foutse Khomh and Chanchal Roy. 2021. Online appendix for Automatic API Usage Scenario Documentation from Technical Q&A Sites. Retrieved from https:\/\/github.com\/disa-lab\/TOSEMAPIDocOpiner2021.","DOI":"10.1145\/3439769"},{"key":"e_1_2_1_2_1","volume-title":"Proceedings of the 15th European Conference on Software Maintenance and Reengineering. 181--190","author":"Abbes M.","year":"2011","unstructured":"M. Abbes, F. Khomh, Y. G. Gueheneuc, and G. Antoniol. 2011. An empirical study of the impact of two antipatterns, blob and spaghetti code, on program comprehension. In Proceedings of the 15th European Conference on Software Maintenance and Reengineering. 181--190. DOI:https:\/\/doi.org\/10.1109\/CSMR.2011.24"},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of the IEEE 25th International Conference on Software Analysis, Evolution and Reengineering. 244--254","author":"Ahasanuzzaman Md","unstructured":"Md Ahasanuzzaman, Muhammad Asaduzzaman, Chanchal K. Roy, and Kevin A. Schneider. 2018. Classifying stack overflow posts on API issues. In Proceedings of the IEEE 25th International Conference on Software Analysis, Evolution and Reengineering. 244--254."},{"key":"e_1_2_1_4_1","first-page":"14931532","article-title":"CAPS: A supervised technique for classifying stack overflow posts concerning API issues","volume":"25","author":"Ahasanuzzaman Md","year":"2019","unstructured":"Md Ahasanuzzaman, Muhammad Asaduzzaman, Chanchal K. Roy, and Kevin A. Schneider. 2019. CAPS: A supervised technique for classifying stack overflow posts concerning API issues. Empir. Softw. Eng. 25 (2019), 14931532.","journal-title":"Empir. Softw. Eng."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2990497"},{"key":"e_1_2_1_6_1","volume-title":"Facilitating Crowd Sourced Software Engineering via Stack Overflow","author":"Barzillay Ohad","unstructured":"Ohad Barzillay, Christoph Treude, and Alexey Zagalsky. 2013. Facilitating Crowd Sourced Software Engineering via Stack Overflow. Springer New York, 289--308."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606677"},{"key":"e_1_2_1_8_1","first-page":"429","article-title":"Frequent item set mining","volume":"2","author":"Borgelt Christian","year":"2012","unstructured":"Christian Borgelt. 2012. Frequent item set mining. Data Mining Knowl. Disc. 2, 6 (2012), 429--445.","journal-title":"Data Mining Knowl. Disc."},{"key":"e_1_2_1_9_1","first-page":"2543","article-title":"Sentiment polarity detection for software development","volume":"23","author":"Calefato Fabio","year":"2017","unstructured":"Fabio Calefato, Filippo Lanubile, Federico Maiorano, and Nicole Novielli. 2017. Sentiment polarity detection for software development. Empir. Softw. Eng. 23 (2017), 2543--2584.","journal-title":"Empir. Softw. Eng."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2017.56"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.5555\/2487085.2487099"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1002\/smr.1800"},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of the 26th International Conference on Computer Science and Software Engineering. 232--242","author":"Campos Eduardo C.","unstructured":"Eduardo C. Campos, Martin Monperrus, and Marcelo A. Maia. 2016. Searching stack overflow for API-usage-related bug fixes using snippet-based queries. In Proceedings of the 26th International Conference on Computer Science and Software Engineering. 232--242."},{"key":"e_1_2_1_14_1","first-page":"123","article-title":"The minimal manual. J. Hum.-comput","volume":"3","author":"Carroll John M.","year":"1987","unstructured":"John M. Carroll, Penny L. Smith-Kerker, James R. Ford, and Sandra A. Mazur-Rimetz. 1987. The minimal manual. J. Hum.-comput. Interact. 3, 2 (1987), 123--153.","journal-title":"Interact."},{"key":"e_1_2_1_15_1","volume-title":"Analysis and Recommendations for Developer Learning Resources. PhD in Computer Science","author":"Dagenais Barth\u00e9l\u00e9my","unstructured":"Barth\u00e9l\u00e9my Dagenais. 2012. Analysis and Recommendations for Developer Learning Resources. PhD in Computer Science. McGill University."},{"key":"e_1_2_1_16_1","volume-title":"Proceedings of the 32nd ACM\/IEEE International Conference on Software Engineering. 275--284","author":"Dagenais Barth\u00e8l\u00e8my","unstructured":"Barth\u00e8l\u00e8my Dagenais, Harold Ossher, Rachel K. E. Bellamy, and Martin P. Robillard amd Jacqueline P. de Vries. 2010. Moving into a new software project landscape. In Proceedings of the 32nd ACM\/IEEE International Conference on Software Engineering. 275--284."},{"key":"e_1_2_1_17_1","volume-title":"Proceedings of the 18th International Symposium on Foundations of Software Engineering.127--136","author":"Dagenais Barth\u00e9l\u00e9my","unstructured":"Barth\u00e9l\u00e9my Dagenais and Martin P. Robillard. 2010. Creating and evolving developer documentation: Understanding the decisions of open source contributors. In Proceedings of the 18th International Symposium on Foundations of Software Engineering.127--136."},{"key":"e_1_2_1_18_1","volume-title":"Proceedings of the 34th IEEE\/ACM International Conference on Software Engineering. 45--57","author":"Dagenais Barth\u00e9l\u00e9my","unstructured":"Barth\u00e9l\u00e9my Dagenais and Martin P. Robillard. 2012. Recovering traceability links between an API and its learning resources. In Proceedings of the 34th IEEE\/ACM International Conference on Software Engineering. 45--57."},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the 23rd International Conference on Design of Communication: Documenting & Designing for Pervasive Information. 68--75","author":"de Souza Sergio Cozzetti B.","unstructured":"Sergio Cozzetti B. de Souza, Nicolas Anquetil, and K\u00e1thia M. de Oliveira. 2005. A study of the documentation essential to software maintenance. In Proceedings of the 23rd International Conference on Design of Communication: Documenting & Designing for Pervasive Information. 68--75."},{"key":"e_1_2_1_20_1","article-title":"Redocumenting APIs with crowd knowledge: A coverage analysis based on question types","volume":"29","author":"Delfim Fernanda","year":"2016","unstructured":"Fernanda Delfim and Marcelo Maia Kl\u00e9risson Paix\u00e3o, Damien Cassou. 2016. Redocumenting APIs with crowd knowledge: A coverage analysis based on question types. J. Braz. Comput. Soc. 29, 1 (2016).","journal-title":"J. Braz. Comput. Soc."},{"key":"e_1_2_1_21_1","volume-title":"Proceedings of the 34th IEEE\/ACM International Conference on Software Engineering. 266--276","author":"Duala-Ekoko Ekwa","unstructured":"Ekwa Duala-Ekoko and Martin P. Robillard. 2012. Asking and answering questions about unfamiliar APIs: An exploratory study. In Proceedings of the 34th IEEE\/ACM International Conference on Software Engineering. 266--276."},{"key":"e_1_2_1_22_1","unstructured":"Stack Exchange. 2020. Sites. Retrieved from https:\/\/stackexchange.com\/sites."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2013.6693102"},{"key":"e_1_2_1_24_1","unstructured":"FasterXML. 2016. Jackson. Retrieved from https:\/\/github.com\/FasterXML\/jackson."},{"key":"e_1_2_1_25_1","volume-title":"Now Available: Central Download Statistics for OSS Projects. https:\/\/blog.sonatype.com\/2010\/12\/now-available-central-download-statistics-for-oss-projects\/.","author":"Fox Brian","year":"2017","unstructured":"Brian Fox. 2017. Now Available: Central Download Statistics for OSS Projects. https:\/\/blog.sonatype.com\/2010\/12\/now-available-central-download-statistics-for-oss-projects\/."},{"key":"e_1_2_1_26_1","volume-title":"June","year":"2017","unstructured":"fryan. 2017. Language Framework Popularity: A Look at Java, June 2017. Retrieved from http:\/\/redmonk.com\/fryan\/2017\/06\/22\/language-framework-popularity-a-look-at-java-june-2017\/."},{"key":"e_1_2_1_27_1","unstructured":"GitHub. 2020. The State of the Octoverse. Retrieved from https:\/\/octoverse.github.com\/."},{"key":"e_1_2_1_28_1","unstructured":"Google. 2016. Gson. Retrieved from https:\/\/github.com\/google\/gson."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950334"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0166-4115(08)62386-9"},{"key":"e_1_2_1_31_1","first-page":"34","article-title":"Studying the consistency of star ratings and the complaints in 1 & 2-star user reviews for top free cross-platform android and iOS apps","volume":"24","author":"Hu Hanyang","year":"2018","unstructured":"Hanyang Hu, Cor-Paul Bezemer, and Ahmed E. Hassan. 2018. Studying the consistency of star ratings and the complaints in 1 & 2-star user reviews for top free cross-platform android and iOS apps. Empir. Meth. Softw. Eng. 24, 1 (2018), 34.","journal-title":"Empir. Meth. Softw. Eng."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1014052.1014073"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/2088883.2088892"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-03260-3_35"},{"key":"e_1_2_1_35_1","volume-title":"Learning to answer programming questions with software documentation through social context embedding. J. Inf. Sci. 448\u2013449","author":"Li Jing","year":"2018","unstructured":"Jing Li, Aixin Sun, and Zhenchang Xing. 2018. Learning to answer programming questions with software documentation through social context embedding. J. Inf. Sci. 448\u2013449 (2018), 46--52."},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSC.2018.2812729"},{"key":"e_1_2_1_37_1","volume-title":"Sentiment Analysis and Opinion Mining","author":"Liu Bing","unstructured":"Bing Liu. 2012. Sentiment Analysis and Opinion Mining (1st ed.). Morgan & Claypool Publishers.","edition":"1"},{"key":"e_1_2_1_38_1","volume-title":"Sentiment Analysis and Subjectivity","author":"Liu Bing","unstructured":"Bing Liu. 2016. Sentiment Analysis and Subjectivity (2nd ed.). CRC Press, Taylor and Francis Group, Boca Raton, FL.","edition":"2"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1281192.1281243"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2009.19"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2019.2946830"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/2814270.2814313"},{"key":"e_1_2_1_43_1","volume-title":"Proceedings of the Conference on Empirical Methods in Natural Language Processing. 404--411","author":"Mihalcea Rada","year":"2004","unstructured":"Rada Mihalcea and Paul Tarau. 2004. Textrank: Bringing order into texts. In Proceedings of the Conference on Empirical Methods in Natural Language Processing. 404--411."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2016.73"},{"key":"e_1_2_1_45_1","volume-title":"Proceedings of the 16th International Conference on Mining Software Repositories. 479--489","author":"Mondal Saikat","unstructured":"Saikat Mondal, Mohammad Masudur Rahman, and Chanchal K. Roy. 2019. Can issues reported at stack overflow questions be reproduced?: An exploratory study. In Proceedings of the 16th International Conference on Mining Software Repositories. 479--489."},{"key":"e_1_2_1_46_1","volume-title":"The User Is Always Right: A Practical Guide to Creating and Using Personas for the Web","author":"Mulder Steve","unstructured":"Steve Mulder and Ziv Yaar. 2006. The User Is Always Right: A Practical Guide to Creating and Using Personas for the Web (1st ed.). New Riders.","edition":"1"},{"key":"e_1_2_1_47_1","unstructured":"Oracle. 2017. The Java Date API. Retrieved from http:\/\/docs.oracle.com\/javase\/tutorial\/datetime\/index.html."},{"key":"e_1_2_1_48_1","unstructured":"Stack Overflow. 2010. A better Java JSON library. Retrieved from http:\/\/stackoverflow.com\/questions\/338586\/."},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/1984701.1984706"},{"key":"e_1_2_1_50_1","volume-title":"Crowd Documentation: Exploring the Coverage and Dynamics of API Discussions on Stack Overflow. Technical Report. Technical Report GIT-CS-12-05, Georgia Tech.","author":"Parnin C.","year":"2012","unstructured":"C. Parnin, C. Treude, L. Grammel, and M.-A. Storey. 2012. Crowd Documentation: Exploring the Coverage and Dynamics of API Discussions on Stack Overflow. Technical Report. Technical Report GIT-CS-12-05, Georgia Tech."},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-49257-7_25"},{"key":"e_1_2_1_52_1","volume-title":"Proceedings of 40th International Conference on Software Engineering. 632--642","author":"Phan Hung","unstructured":"Hung Phan, Hoan Anh Nguyen, Ngoc M. Tran, Linh H. Truong, Anh Tuan Nguyen, and Tien N. Nguyen. 2018. Statistical learning of API fully qualified names in code snippets of online forums. In Proceedings of 40th International Conference on Software Engineering. 632--642."},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-015-9397-1"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/2889160.2889172"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2014.90"},{"key":"e_1_2_1_56_1","first-page":"22","article-title":"Toxic code snippets on stack overflow","volume":"47","author":"Ragkhitwetsagul Chaiyong","year":"2018","unstructured":"Chaiyong Ragkhitwetsagul, Jens Krinke, Matheus Paixao, Giuseppe Bianco, and Rocco Oliveto. 2018. Toxic code snippets on stack overflow. IEEE Trans. Softw. Eng. 47, 3 (2018), 22.","journal-title":"IEEE Trans. Softw. Eng."},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2018.00086"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2016.80"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE-C.2017.11"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-018-9671-0"},{"key":"e_1_2_1_62_1","volume-title":"Proceedings of the 42nd International Conference on Software Engineering. 12","author":"Ren Xiaoxue","year":"2020","unstructured":"Xiaoxue Ren, Jiamou Sun, Zhenchang Xing, Xin Xia, and Jianling Sun. 2020. Demystify official API usage directives with crowdsourced APIMisuse scenarios, erroneous code examples and patches. In Proceedings of the 42nd International Conference on Software Engineering. 12."},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00024"},{"key":"e_1_2_1_64_1","volume-title":"Proceedings of the 35th IEEE\/ACM International Conference on Software Engineering. 832--841","author":"Peter","unstructured":"Peter C. Rigby and Martin P. Robillard. 2013. Discovering essential code elements in informal documentation. In Proceedings of the 35th IEEE\/ACM International Conference on Software Engineering. 832--841."},{"key":"e_1_2_1_65_1","volume-title":"Representing Concern in Source Code. PhD in Computer Science","author":"Robillard Martin P.","unstructured":"Martin P. Robillard. 2003. Representing Concern in Source Code. PhD in Computer Science. University of British Columbia."},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/1081706.1081711"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2009.193"},{"key":"e_1_2_1_68_1","first-page":"28","article-title":"Automated API property inference techniques","volume":"39","author":"Robillard Martin P.","year":"2012","unstructured":"Martin P. Robillard, Eric Bodden, David Kawrykow, Mira Mezini, and Tristan Ratchford. 2012. Automated API property inference techniques. IEEE Trans. Softw. Eng. 39, 5 (2012), 28.","journal-title":"IEEE Trans. Softw. Eng."},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2004.101"},{"key":"e_1_2_1_70_1","doi-asserted-by":"crossref","first-page":"143","DOI":"10.1002\/smr.413","article-title":"Recommending change clusters to support software investigation: An empirical study","volume":"22","author":"Robillard Martin P.","year":"2010","unstructured":"Martin P. Robillard and Barth\u00e9l\u00e9my Dagenais. 2010. Recommending change clusters to support software investigation: An empirical study. J. Softw. Maint. Evol.: Res. Pract. 22, 3 (2010), 143--164.","journal-title":"J. Softw. Maint. Evol.: Res. Pract."},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-010-9150-8"},{"key":"e_1_2_1_72_1","volume-title":"Proceedings of the Meeting of the Southern Association for Institutional Research. 51","author":"Romano Jetanine","year":"2006","unstructured":"Jetanine Romano, Jeffrey D. Kromrey, Jesse Coraggio, Jeff Skowronek, and Linda Devine. 2006. Exploring methods for evaluating group differences on the NSSE and other surveys: Are the T-test and Cohen\u2019s d indices the most appropriate choices? In Proceedings of the Meeting of the Southern Association for Institutional Research. 51."},{"key":"e_1_2_1_73_1","volume-title":"Proceedings of the 16th IEEE International Conference on Program Comprehension. 172--181","author":"Chanchal","unstructured":"Chanchal K. Roy and James R. Cordy. 2008. NICAD: Accurate detection of near-miss intentional clones using flexible pretty-printing and code normalization. In Proceedings of the 16th IEEE International Conference on Program Comprehension. 172--181."},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2006.19"},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.881720"},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2019.00054"},{"key":"e_1_2_1_77_1","unstructured":"Pivotal Software. 2017. Spring Framework. Retrieved from https:\/\/spring.io\/."},{"key":"e_1_2_1_78_1","unstructured":"Sonatype. 2020. The Maven Central Repository. Retrieved from http:\/\/central.sonatype.org\/."},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1109\/SBES.2014.15"},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2019.03.009"},{"key":"e_1_2_1_81_1","unstructured":"StackOverflow. 2013. Jackson Vs. GSON. Retrieved from http:\/\/stackoverflow.com\/q\/2378402\/."},{"key":"e_1_2_1_82_1","unstructured":"StackOverflow. 2013. Jackson Vs. GSON. Retrieved from http:\/\/stackoverflow.com\/q\/2378402\/."},{"key":"e_1_2_1_83_1","unstructured":"StackOverflow. 2017. XStream or Simple. Retrieved from http:\/\/stackoverflow.com\/q\/1558087\/."},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568313"},{"key":"e_1_2_1_85_1","volume-title":"Proceedings of the International Conference on Program Comprehension. 82--93","author":"Sunshine Joshua","year":"2015","unstructured":"Joshua Sunshine, James D. Herbsleb, and Jonathan Aldrich. 2015. Searching the state space: A qualitative study of API protocol usability. In Proceedings of the International Conference on Program Comprehension. 82--93."},{"key":"e_1_2_1_86_1","volume-title":"Proceedings of the IEEE International Conference on Software Maintenance and Evolution. 321--330","author":"Svajlenko Jeffrey","unstructured":"Jeffrey Svajlenko and Chanchal K. Roy. 2014. Evaluating modern clone detection tools. In Proceedings of the IEEE International Conference on Software Maintenance and Evolution. 321--330."},{"key":"e_1_2_1_87_1","doi-asserted-by":"publisher","DOI":"10.1145\/2931037.2931058"},{"key":"e_1_2_1_88_1","doi-asserted-by":"publisher","DOI":"10.5555\/3155562.3155585"},{"key":"e_1_2_1_89_1","volume-title":"Proceedings of the IEEE 38th International Conference on Software Engineering. 392--402","author":"Treude Christoph","unstructured":"Christoph Treude and Martin P. Robillard. 2016. Augmenting API documentation with insights from Stack overflow. In Proceedings of the IEEE 38th International Conference on Software Engineering. 392--402."},{"key":"e_1_2_1_90_1","volume-title":"Proceedings of the 38th International Conference on Software Engineering. 392--403","author":"Treude Christoph","unstructured":"Christoph Treude and Martin P. Robillard. 2016. Augmenting API documentation with insights from stack overflow. In Proceedings of the 38th International Conference on Software Engineering. 392--403."},{"key":"e_1_2_1_91_1","volume-title":"Exploratory Data Analysis","author":"Tukey John W.","unstructured":"John W. Tukey. 1977. Exploratory Data Analysis (1st ed.). Pearson.","edition":"1"},{"key":"e_1_2_1_92_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2019.2903039"},{"key":"e_1_2_1_93_1","volume-title":"Proceedings of the 26th IEEE\/ACM International Conference on Automated Software Engineering. 456--459","author":"Uddin Gias","unstructured":"Gias Uddin, Barth\u00e9l\u00e9my Dagenais, and Martin P. Robillard. 2011. Analyzing temporal API usage patterns. In Proceedings of the 26th IEEE\/ACM International Conference on Automated Software Engineering. 456--459."},{"key":"e_1_2_1_94_1","volume-title":"Proceedings of the 34th IEEE\/ACM International Conference on Software Engineering. 804--814","author":"Uddin Gias","unstructured":"Gias Uddin, Barth\u00e9l\u00e9my Dagenais, and Martin P. Robillard. 2012. Temporal analysis of API usage concepts. In Proceedings of the 34th IEEE\/ACM International Conference on Software Engineering. 804--814."},{"key":"e_1_2_1_95_1","doi-asserted-by":"publisher","DOI":"10.5555\/3155562.3155586"},{"key":"e_1_2_1_96_1","doi-asserted-by":"publisher","DOI":"10.5555\/3155562.3155690"},{"key":"e_1_2_1_97_1","first-page":"1","article-title":"Automatic opinion mining from API reviews from stack overflow","volume":"47","author":"Uddin Gias","year":"2019","unstructured":"Gias Uddin and Foutse Khomh. 2019. Automatic opinion mining from API reviews from stack overflow. IEEE Trans. Softw. Eng. 47, 3 (2019), 1--37.","journal-title":"IEEE Trans. Softw. Eng."},{"key":"e_1_2_1_98_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2020.106277"},{"key":"e_1_2_1_99_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2014.80"},{"key":"e_1_2_1_100_1","unstructured":"Joe Walnes. 2017. Xstream. Retrieved from http:\/\/x-stream.github.io\/."},{"key":"e_1_2_1_101_1","volume-title":"Proceedings of the 10th Working Conference on Mining Software Repositories. 61--64","author":"Wang Wei","unstructured":"Wei Wang and Michael W. Godfrey. 2013. Detecting API usage obstacles: A study of iOS and Android developer questions. In Proceedings of the 10th Working Conference on Mining Software Repositories. 61--64."},{"key":"e_1_2_1_102_1","volume-title":"Proceedings of the 10th International Working Conference on Mining Software Repositories. 61--64","author":"Wang Wei","unstructured":"Wei Wang and Michael W. Godfrey. 2013. Detecting API usage obstacles: A study of iOS and Android developer questions. In Proceedings of the 10th International Working Conference on Mining Software Repositories. 61--64."},{"key":"e_1_2_1_103_1","unstructured":"Wikipedia. 2014. Application Programming Interface. Retrieved from http:\/\/en.wikipedia.org\/wiki\/Application_programming_interface."},{"key":"e_1_2_1_104_1","doi-asserted-by":"publisher","DOI":"10.5555\/330775"},{"key":"e_1_2_1_105_1","doi-asserted-by":"publisher","DOI":"10.5555\/3155562.3155650"},{"key":"e_1_2_1_106_1","doi-asserted-by":"publisher","DOI":"10.1145\/2901739.2901767"},{"key":"e_1_2_1_107_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2016.11"},{"key":"e_1_2_1_108_1","volume-title":"Hassan","author":"Zhang Haoxiang","year":"2019","unstructured":"Haoxiang Zhang, Shaowei Wang, Tse-Hsun Chen, and Ahmed E. Hassan. 2019. Reading answers on stack overflow: Not enough!IEEE Trans. Softw. Eng. (2019), 15."},{"key":"e_1_2_1_109_1","volume-title":"Ying Zou, and Ahmed E. Hassan.","author":"Zhang Haoxiang","year":"2019","unstructured":"Haoxiang Zhang, Shaowei Wang, Tse-Hsun Peter Chen, Ying Zou, and Ahmed E. Hassan. 2019. An empirical study of obsolete answers on stack overflow. IEEE Trans. Softw. Eng. (2019), 14."},{"key":"e_1_2_1_110_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180260"},{"key":"e_1_2_1_111_1","doi-asserted-by":"publisher","DOI":"10.1145\/2986012.2986013"},{"key":"e_1_2_1_112_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2005.72"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3439769","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3439769","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:01:52Z","timestamp":1750197712000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3439769"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,4,23]]},"references-count":111,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2021,7,31]]}},"alternative-id":["10.1145\/3439769"],"URL":"https:\/\/doi.org\/10.1145\/3439769","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,4,23]]},"assertion":[{"value":"2020-03-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-04-23","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}