Files
logseq/pages/@mining stackoverflow to turn the ide into a self-confident programming prompter.md
2025-06-05 22:07:12 +02:00

199 lines
19 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-
- tags:: [[Developers Support]], [[Empirical Studies]], [[Recommender Systems]], [[#zotero]]
date:: 2014
publisher:: ACM Press
place:: "Hyderabad, India"
isbn:: 978-1-4503-2863-0
doi:: 10.1145/2597073.2597077
title:: @Mining StackOverflow to turn the IDE into a self-confident programming prompter
pages:: 102-111
item-type:: [[conferencePaper]]
access-date:: 2017-03-28T09:47:04Z
original-title:: Mining StackOverflow to turn the IDE into a self-confident programming prompter
language:: en
url:: http://dl.acm.org/citation.cfm?doid=2597073.2597077
authors:: [[Luca Ponzanelli]], [[Gabriele Bavota]], [[Massimiliano Di Penta]], [[Rocco Oliveto]], [[Michele Lanza]]
library-catalog:: CrossRef
links:: [Local library](zotero://select/library/items/XADHB8Z3), [Web library](https://www.zotero.org/users/1039502/items/XADHB8Z3)
- ### Attachments
- [Ponzanelli et al. - 2014 - Mining StackOverflow to turn the IDE into a self-c.pdf](zotero://select/library/items/TUAGTCE2) {{zotero-imported-file TUAGTCE2, "Ponzanelli et al. - 2014 - Mining StackOverflow to turn the IDE into a self-c.pdf"}}
- ### Notes
- # Annotazioni
(14/1/2024, 22:35:16)
“sources of information like” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=TKXB6TSN))
“API” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=LE5VZCPL))
“documentation” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=AN5XQ4X2))
“forums” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=KCB9ZSMF))
“Q&A websites” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=AXC2AXZ6))
“Knowing what to search for and how is nontrivial,” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=9UY2KC3R))
“given a context in the IDE,” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=VEAS2N8B))
“automatically retrieves pertinent discussions from Stack Overflow,” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=QRN836S2))
“valuates their relevance, and, if a given confidence threshold is surpassed, notifies the developer about the available help.” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=ESSBZXIN))
“ranking model” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=IDT5Y9WG))
“usefulness” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=AH5AXHBH))
“Every time developers need to look for information, they interrupt their work flow,” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=X965XX3C))
“eave the IDE” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=USPQXBKY))
“Web browser to perform and refine searches, and assess the results” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=3DIRZC4I))
“the problem context in the IDE. The information is retrieved from differen” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=G3EH2BPP)) This is a test [[P1]]
“s forums, mailing lists [2], blogs, Q&A websites, bug trackers [1]” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=SMEDEG7A))
“Recommender systems” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=BWZ6MQ5E))
“eR” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=HRIMGHRB))
“ose” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=CTZBG66M))
“eepI” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=3DMSXE7U))
“suggest project artifacts in the IDE aiming at providing developers with additional information on specific parts of the system.” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=7GA5WQU7))
“Ideally, a recommender system should behave like a prompter in a theatre: Ready to provide suggestions whenever the actor needs them, and ready to autonomously give suggestions if it feels something is going wrong.” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=YRCHT7QL))
“driver” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=MAH8YM73))
“e” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=SVNEEAIG))
“observer,” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=PJ44HY4W))
“interrupts the driver by giving suggestions.” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=J95PSU4W))
“the driver can consult the observer whenever she needs it, making the observer” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=9892GBLH))
“the programming prompter of the programming actor.” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=MIEXSPLG))
“push notifications” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=WGRMENCG))
“relevant Stack Overflow discussions to the developer. Prompter makes” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=ADZJ8JES))
“IDE” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=XLVR9WM8))
“silently observes and analyzes” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=FAS939MB))
“the code context in the IDE” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=VPN32KPL))
“automatically searches for Stack Over-” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=8BFR5WMF))
“flow discussions on the Web” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=YX6VALLH))
“evaluates their relevance by taking i” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=FEMKL7JQ))
“consideration code aspects” ([Ponzanelli et al., 2014, p. 1](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=1&annotation=P4SGW8MV))
[image] ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=2&annotation=WEMPHHHV))
([Ponzanelli et al., 2014, p. 2](zotero://select/library/items/XADHB8Z3)) This is very interesting
“(i) receive and track notifications” ([Ponzanelli et al., 2014, p. 2](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=2&annotation=WRG8KEAA))
“(ii) read the suggested Stack Overflow discussions.” ([Ponzanelli et al., 2014, p. 2](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=2&annotation=8MXP5PHA))
“code contexts (1) every time a change in the source code occurs” ([Ponzanelli et al., 2014, p. 2](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=2&annotation=AI2BFIBK))
“formulates a query starting from the code context (2)” ([Ponzanelli et al., 2014, p. 2](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=2&annotation=X638NDXX))
“rompter submits a new search only if the query diff” ([Ponzanelli et al., 2014, p. 2](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=2&annotation=5356QHEI))
“plug-in,” ([Ponzanelli et al., 2014, p. 2](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=2&annotation=QLJU4C7T))
“the search engines to which the query is sent,” ([Ponzanelli et al., 2014, p. 2](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=2&annotation=HA3U34RP))
“Stack Overflow API” ([Ponzanelli et al., 2014, p. 2](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=2&annotation=YSVILJLV))
“Web search on the Stack Overflow website” ([Ponzanelli et al., 2014, p. 2](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=2&annotation=JJ23WAKI))
“All resulting URLs are collected and duplicates removed (5).” ([Ponzanelli et al., 2014, p. 2](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=2&annotation=CLNERTE7))
“The service uses the Stack Overflow question ID to retrieve the discussion via the Stack Overflow API (6)” ([Ponzanelli et al., 2014, p. 2](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=2&annotation=UXKHB39D))
“discussion is, given the code context, ranked (7) a” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=NKV6F3P3))
“he ranked list of URLs is sent back to the plug-in where Prompter decides whether to fire a” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=I2TBBHYW))
“new notification in the IDE (8).” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=MVAQYSTX))
“Our previous work in this context [28] only used text similarity as a means to retrieve Stack Overflow discussions related to the actual code” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=7A8WBTCC))
“The approach we present here relies on several combined aspects, and has proven to be more robust and less error-prone.” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=F89TBB2I))
“rompter waits until the developer stops writing” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=WBYASUID))
“current code ele-” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=2KJRQFB6))
“ment” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=3RI8CIB6))
“extracts the current context” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=4R83MWT7))
“,packageName.ClassName f” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=ZX5ENCLR))
“me for classes” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=GNXCXQJ9))
“packageName.ClassName.methodSignature for methods;” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=Y5CLQEN2))
“the source code of the modified element” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=32LSQ9AS))
“the types of the used API,” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=969AUBHT))
“the names of methods invoked in the API, again considering only external libraries and JDK only.” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=HHHZL5WU))
“automate the triggering of searche” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=6VX68IDX))
“es” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=QRYEAKWN))
“treat the code as a bag of words” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=ZMAF4F8R))
“(i) splitting identifiers and removing stop words” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=9M7ZK85N))
“(ii) ranking the obtained terms according to their frequency” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=7W2S4XFP))
“(iii) selecting the top-n most frequent terms” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=QFK3NKGY))
“d more discriminative terms” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=5FCGMDS6))
“term entropy can be used to lower the prominence of frequent terms that do not suffi” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=23X87F8Y))
“the Query Generation Service selects the top n terms to devise the query, plus the word java.” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=S7XAN8JG))
“To overcome this problem, before selecting the n terms to create the query, we use the Levenshtein distance [21] to verify if in the context there are terms with a very high textual similarity.” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=3WS9ZJCM))
“1. Textual Similarity:” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=6B7S2ETH))
“2. Code Similarity:” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=NBMHABJY))
“3. API Types Similarity” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=6AUWRIE4))
“4. API Methods Similarity:” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=UI83BQP6))
“JDT” ([Ponzanelli et al., 2014, p. 3](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=3&annotation=C6X54YGH))
“5. Question Score:” ([Ponzanelli et al., 2014, p. 4](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=4&annotation=CWIGEVZY))
“sigmoid function:” ([Ponzanelli et al., 2014, p. 4](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=4&annotation=IWFMVNP9))
“where x is the score and ̄ x is the average of the scores of all the questions in Stack Overflow according to the data dump of June 2013.” ([Ponzanelli et al., 2014, p. 4](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=4&annotation=95NEJH79))
“6. Accepted Answer Score:” ([Ponzanelli et al., 2014, p. 4](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=4&annotation=WYAU5F4J))
“7. User Reputation:” ([Ponzanelli et al., 2014, p. 4](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=4&annotation=J5T3LVC4))
“8. Tags Similarity: T” ([Ponzanelli et al., 2014, p. 4](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=4&annotation=498VWXQI))
“M. Robillard, R. Walker, and T. Zimmermann. Recommendation systems for software engineering. IEEE Software, pages 8086, 2010.” ([Ponzanelli et al., 2014, p. 10](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=10&annotation=FA2GV8XU))
“[42] L. Williams. Integrating pair programming into a software development process. In Proceedings of CSEET 2001, pages 2736. IEEE, 2001.” ([Ponzanelli et al., 2014, p. 10](zotero://select/library/items/XADHB8Z3)) ([pdf](zotero://open-pdf/library/items/TUAGTCE2?page=10&annotation=S3NBS8JQ))