Files
logseq/pages/@Uncovering Library Features from Incomplete Information on Stack Overflow.md
T

30 KiB
Raw Blame History

tags:: #zotero title:: @Uncovering Library Features from Incomplete Information on Stack Overflow item-type:: journalArticle original-title:: Uncovering Library Features from Incomplete Information on Stack Overflow language:: en authors:: Camilo Velázquez-Rodríguez library-catalog:: Zotero links:: Local library, Web library

  • 40-45 MINUTES PRESENTATION

    • selection problem of libraries
    • SLide 3 you correctly mentioned the bias of popular metrics
    • How do you refer to the definitions of features given in slide 5?
      • Natural language part in slide 5 is a bit limited isn't it?
      • What do you want to achieve? How the ideal feature description shoud look like in your opinion?
    • Slide 7 should be put earlier in the manuscript background-color:: green
  • Points of discussion

    • Bias of data (most popular libraries)
    • Feature definition
      • Feature needs also context (e.g., add page can refer to document domain (add page to PDF) or web damain (create a new page to my website))
    • Concerning RESICO (chapter 4)
      • Are we always sure that the obtained Fully qualified names permit to get correct compilation?
        • We don't know, right?
      • You proposed and tested different classifier models. How is the final user supposed to use the approach. Is it possible to recommend the appropriate one with respect to the data at hand?
      • You have balanced dataset due to most popular bias. I would have addressed the problem from the popularity point of view and not randomly.
        • For instance Log4J etc.
      • Have you used the very same original dataset of COSTER? (you contacted the COSTER authors, so why not?)
        • In case of unbalanced dataset how do the two approaches compare?
      • Any qualitative motivation related to the obtained results with the comparison
      • From the user perspectives, how is the model selection done / supported?
    • LIFUSO (chapter 5)
      • Main main concerns are related to the definition of features. It seems they are still at a low granularity. That's fine but this needs to be clarified and but in a distil clear manner
      • Why not considering also natural language texts (e.g.. in README file from GitHub repositories?)
      • Slide 49: we are missing an additional dimension, i.e., context
      • Slide 53: you mention documented tutorial features
        • How you "parse" features in tutorials and I think tutorials can be written in different style. How can you compare with something that you do not know how it is written?
        • In general what's the process you followed to collect features from tutorials?
      • Do the collected features make sense without any human intervention? => user study (are there any motivations why you decided to avoid it?)
    • In general
      • continuous learning background-color:: green
      • use of this in practice
  • Questions

  • Notes

    • “features offered by each library.” (Velázquez-Rodríguez, p. 75) #f0ff00 it's interesting to see the given definition of features.
    • “We adopt their definition in this dissertation so that features comprise the API elements that realise them, as well as their textual description.” (Velázquez-Rodríguez, p. 76) #00b036
    • “AutoCat and MUTAMA are not focused on fine-grained features, but target more coarse forms of features such as categories and tags.” (Velázquez-Rodríguez, p. 76) #00b036
    • “users could inspect a list of features that are commonly or rarely implemented by the libraries in a selected category.” (Velázquez-Rodríguez, p. 77) #00b036
    • “Current tool support does not allow developers to efficiently evaluate and compare candidate libraries with respect to all the desired features.” (Velázquez-Rodríguez, p. 77) #00b036
    • “The features, however, can be described at several levels of granularity, from the artifact level to the code level.” (Velázquez-Rodríguez, p. 78) #00b036 #IMPORTANT Features are given at different level of granularity.
    • “AutoCat, automatically categorises a library into one of the top-level library categories used by ecosystem indices.” (Velázquez-Rodríguez, p. 78) #00b036 autocat
    • “LiFUSO, describes a library in terms of features consisting of the API elements that implement them and a natural language description.” (Velázquez-Rodríguez, p. 78) #00b036 lofuso
    • “The proposed approach is based on text classification machine learning algorithms trained and evaluated on a corpus of text extracted from the libraries. We obtain this corpus of text by extracting the identifiers of public classes and methods from a librarys JAR file using the Apache BCEL8 library. For those identifiers following the CamelCase naming convention (e.g., getAccountNumber), we separate the identifier into distinct words (e.g., get, Account, Number)” (Velázquez-Rodríguez, p. 79) #f0ff00 thus, readme files or alike are not considered right? This could have been useful for the task of categorization.....
    • “The generated vectors capture the context around a word (e.g., a window size of five tokens); hence it is possible to relate different words by the surrounding context. Default parameters for the Word2Vec process are selected for its training.” (Velázquez-Rodríguez, p. 79) #f0ff00 an illustrative example would have been useful here.
    • “The task of the machine learning algorithm is to learn and predict a discrete label for each vector that corresponds to the MVNRepository category to which the library belongs. We consider five machine learning algorithms to instantiate our approach: Gaussian Naive Bayes (GNB) as well as Bernoulli Naive Bayes (BNB) [JL95], Support Vector Machines (SVC) [HDO+98], K -Nearest Neighbors (KNN) [Das91] and Random Forest (RF) [Ho95, Bre01] (cf. Section 2.4.2).” (Velázquez-Rodríguez, p. 79) #f0ff00 I suspect the dataset is not balanced, isn't it?
    • “five MVNRepository categories: Collections, Dependency Injection, Http Clients, Compression and JSON libraries.” (Velázquez-Rodríguez, p. 79) #f0ff00 is there any reason around the selection of such five categories?
    • “This small experiment (i.e., only 15 libraries) returns promising results regarding the automatic classification of libraries based on their implementation.” (Velázquez-Rodríguez, p. 79) #f0ff00 it's a bit obscure without an example
    • “Limitations of Category-based Approaches to Feature Uncovering” (Velázquez-Rodríguez, p. 80) #f0ff00 Why no comparisons have been done with related baseline?
    • “An automated approach to suggesting feature tags for a software library could overcome this problem and thereby facilitate ecosystem search.” (Velázquez-Rodríguez, p. 81) #f0ff00 check if it has been compared with our approach.
    • “Table 5.3.: Multi-tag predictions made by the best trained multi-label model.” (Velázquez-Rodríguez, p. 87) #f0ff00 Also in this case, the dataset can be unbalanced. How have you addressed the problem?
    • “Limitations of Tag-based Approaches for Features Discovery” (Velázquez-Rodríguez, p. 88) #f0ff00 in terms of conveied knowledge, what can we say, given a same project, about the recommended tags and category? Do you think such a cross-cuttings analysis can help or give some more insights?
    • “Figure 5.5.:” (Velázquez-Rodríguez, p. 89) #f0ff00 does the collected features make sense without any initial human intervention? #question
    • “example usages of this API from SO snippets (step 3 in Figure 5.5). To collect” (Velázquez-Rodríguez, p. 89) #f0ff00 this is a bit obscure at this point...
    • “we collect all class names that were once considered part of it.” (Velázquez-Rodríguez, p. 89) #f0ff00 not clear....
    • “has been tagged with the name of the library (e.g., guava, pdfbox).” (Velázquez-Rodríguez, p. 89) #f0ff00 *this limit the applicability of the approach, isn't it? question *
    • “its strictness minimises false positives.” (Velázquez-Rodríguez, p. 90) #f0ff00 but still, in my opinion it limits the applicability of the approach in practice, I don't think the are so many tagged answers
    • “Parsers generated by an island grammar [Moo01] focus on some constructs of interest (i.e., islands) and consider the remainder of the text to parse as irrelevant (i.e., water). They have been shown well-suited to parsing and lightweight analysis of code that is grammatically incomplete (e.g., a statement without a surrounding method) or that contains syntax errors (e.g., three dots instead of an expression) such as the snippets on SO.” (Velázquez-Rodríguez, p. 90) #00b036
    • “clusters with the most frequent name pairs and API references are outputted.” (Velázquez-Rodríguez, p. 94) #f0ff00 why pairs?
    • “Figure 5.11.: Front page of the LiFUSO tool with the Search feature tab activated.” (Velázquez-Rodríguez, p. 97) #f0ff00 I'm not sure on how significant are the shown features for users in practice. I think a user study would have been needed here.
    • “cohesiveness” (Velázquez-Rodríguez, p. 97) #f0ff00 What does it mean?
    • “The evaluation of our approach focuses on the API calls of the generated features.” (Velázquez-Rodríguez, p. 97) #f0ff00 what does that mean ?
    • “research questions:” (Velázquez-Rodríguez, p. 97) #f0ff00 Without a user study the significance and usefulness of the given features cannot be evaluated properly. A qualitative evaluation is needed.
    • “documented tutorial features?” (Velázquez-Rodríguez, p. 98) #f0ff00 how and when are these uncovered?
    • “Tutorial features are compared one by one with all uncovered clusters.” (Velázquez-Rodríguez, p. 101) #f0ff00 *it means that there is a kind of shared / common vocabulary that is manually curated. isn't it? question *
    • “When matches occur, we store the uncovered feature identifier (i.e., a number) and the tutorial feature that was matched.” (Velázquez-Rodríguez, p. 101) #f0ff00 *is there a kind of hasmap defined somewhere? question *
    • “High relevance scores indicate that uncovered features are highly similar to tutorial features.” (Velázquez-Rodríguez, p. 104) #f0ff00 *there is a bias here, which is related to the process that has been followed to identify tutorial features. What can you say about this? question *
    • “Libraries.io to” (Velázquez-Rodríguez, p. 105) #00b036 *this website seems to be interesting for our experiments ideas *
    • “Table 5.8.: Newly matched features from GitHub client projects.” (Velázquez-Rodríguez, p. 106) #f0ff00 there is the usual comment about the not clear definition of what is a feature. Explanatory examples would help here.
    • “Another limitation of our approach is that it relies on SO posts being tagged with the name of the library for which features need to be uncovered.” (Velázquez-Rodríguez, p. 109) #f0ff00 I agree...this has been a limiting decision.
    • “Figure 5.12.: Shared features for the studied libraries.” (Velázquez-Rodríguez, p. 111) #f0ff00 some features are missing context. Create pdf is indeed clear, add page is not.
    • “for less popular libraries for which there is little usage in SO answers” (Velázquez-Rodríguez, p. 113) #f0ff00 this is related to the popularity bias problem mentioned also for the other works. Evaluating the work by filtering out popular libraries would have helped to gain some more insights about the overall accuracy of the work.
    • “new GitHub corpus and its application to the whole SO dataset. Additionally, we present the results of our strategies through various evaluation” (Velázquez-Rodríguez, p. 116) #f0ff00 *what are the characteristics of such a new Github datast? question *
    • “some manual input is required for parts of the proposed pipeline such as the meta-data of a library (e.g., groupId and artifactId) as well as its corresponding tag name. Additionally, the GitHub repository hosting the library is required as input to the ghtopdep tool, which retrieves the dependent repositories.” (Velázquez-Rodríguez, p. 140) #f0ff00 This is related to what I was mentioning about the need of having humans in the loop while curatig the creation of the feature taxonomy.
    • “LiFUSO-supported libraries” (Velázquez-Rodríguez, p. 140) #f0ff00 *this raises questions about the applicability of the approach in practice question *
    • “source of information are unit test cases and their text descriptions, which may scale to many libraries since most of them include a test suite.” (Velázquez-Rodríguez, p. 141) #00b036 that is very interesting #IMPORTANT
    • “Features are defined as API usage patterns with a corresponding description in natural language.” (Velázquez-Rodríguez, p. 143) #f0ff00 I don't see in the Web based tool such descriptions in natural language.
    • “RESICO leverages a dataset of library API usage within complete and correct code to learn word embeddings and the most likely fully qualified name for a simple name in a specific context.” (Velázquez-Rodríguez, p. 144) #f0ff00 *the support for continuous learning is needed in this domain and it is also necessary to address the coldstart problem. What do you think? question *
    • “API usage from Stack Overflow” (Velázquez-Rodríguez, p. 146) #f0ff00 *how to deal with ambiguous cases. Add page can be add a pdf page or a page in a Web base system. It is necessary to include the application domain. question *
    • “An unsupervised machine learning algorithm is used to form clusters of API usage.” (Velázquez-Rodríguez, p. 149) #f0ff00 I think this should include supervision.
    • “tutorials and cookbooks of the libraries under analysis.” (Velázquez-Rodríguez, p. 149) #f0ff00 to what extent this is manual / semi-automated?
    • “RDSN+20] Riccardo” (Velázquez-Rodríguez, p. 166) #f0ff00 This is the only one cited?
  • /zotero
  • tags:: #zotero title:: @Uncovering Library Features from Incomplete Information on Stack Overflow item-type:: journalArticle original-title:: Uncovering Library Features from Incomplete Information on Stack Overflow language:: en authors:: Camilo Velázquez-Rodríguez library-catalog:: Zotero links:: Local library, Web library
  • Attachments

  • Notes

    • Annotazioni

      (4/3/2024, 15:10:18)

      • “Camilo Velázquez-Rodríguez” (Velázquez-Rodríguez, p. 1) #66ff66
      • “lack of automated tool support.” (Velázquez-Rodríguez, p. i) #ff00ff
      • “Overview of the Approach” (Velázquez-Rodríguez, p. 4) #ffd400 *By looking at the structure, it seems the thesis is a collection of papers; we are missing a chapter playing the role of glue among all of them... it improves later! *
      • “This dissertation presents contributions in two main research areas: i) automated library feature uncovering and ii) API type resolution for incomplete code snippets” (Velázquez-Rodríguez, p. 5) #ffd400 *See my previous comment, it is not clear the role of the second part, and how it is linked to the first one. *
      • “recommendation of multiple tags” (Velázquez-Rodríguez, p. 5) #ffd400 *Existing baselines have not been considered why? See for instance:

      Juri Di Rocco, Davide Di Ruscio, Claudio Di Sipio, Phuong T. Nguyen, Riccardo Rubei: HybridRec: A recommender system for tagging GitHub repositories. Appl. Intell. 53(8): 9708-9730 (2023) *

      • “In summary, we stress the need for an approach that can extract information from syntactically incorrect code snippets. Such an approach should also resolve missing external API references in incomplete code snippets. The extracted information and the API reference resolution may improve the current SO code processing. Discussed approaches have not addressed these problems commonly found on SO code snippets” (Velázquez-Rodríguez, p. 39) #ffd400 *The goal has been clearly written only at page 39. *
      • “3.6. Conclusion” (Velázquez-Rodríguez, p. 40) #ffd400 *At the end of chapter 3 the question is: what's the granularity of "features"? #question *
      • “simple names of API type” (Velázquez-Rodríguez, p. 43) #ffd400 *What does it mean simple names? #question *
      • “alance Datase” (Velázquez-Rodríguez, p. 52) #ffd400 *How have you balanced your dataset? #question *
      • “ML Classifiers” (Velázquez-Rodríguez, p. 52) #ffd400 *What has been used here? #question *
      • “Select Best Model” (Velázquez-Rodríguez, p. 52) #ffd400 *Is this done once? #question *
      • “100 most frequent libraries” (Velázquez-Rodríguez, p. 53) #ffd400 *Have you considered the removal of the most frequent libraries, e.g., log4j #question #popularitybias *
      • “The FQNs with fewer occurrences than the defined threshold are not considered for the training phase and are therefore excluded.” (Velázquez-Rodríguez, p. 53) #ffd400 *This is a #popularitybias It is a common issue, how to deal with it? *
      • “External Datasets” (Velázquez-Rodríguez, p. 54) #ffd400 *Are they balanced? *
      • “The machine learning algorithms employed within RESICO” (Velázquez-Rodríguez, p. 59) #ffd400 *What are the criteria you used to select ML algorithms? #question *
      • “each of the RESICO classifiers” (Velázquez-Rodríguez, p. 59) #ffd400 *How to decide, which one to be used for the task at hand? *
      • “We conclude that the best classifier of our approach (i.e., KNN) is more effective than COSTER on this dataset” (Velázquez-Rodríguez, p. 62) #ffd400 *Any qualitative motivation / discussion supporting such conclusions? *
      • “In the three external datasets considered to evaluate the generalisability of the performance, RESICO-trained models outperform COSTER with a notable difference in some cases.” (Velázquez-Rodríguez, p. 64) #ffd400 *In the case of unbalanced datasets, how do the two approach compare? *
      • “Our approach is more complex than COSTER since it involves training several machine learning models; hence, it consumes more computational resources during training.” (Velázquez-Rodríguez, p. 73) #ffd400 *From the user perspectives, how is the model selection done / supported? *
      • “features offered by each library.” (Velázquez-Rodríguez, p. 75) #f0ff00 *it's interesting to see the given definition of features. *
      • “We adopt their definition in this dissertation so that features comprise the API elements that realise them, as well as their textual description.” (Velázquez-Rodríguez, p. 76) #00b036
      • “AutoCat and MUTAMA are not focused on fine-grained features, but target more coarse forms of features such as categories and tags.” (Velázquez-Rodríguez, p. 76) #00b036
      • “users could inspect a list of features that are commonly or rarely implemented by the libraries in a selected category.” (Velázquez-Rodríguez, p. 77) #00b036
      • “Current tool support does not allow developers to efficiently evaluate and compare candidate libraries with respect to all the desired features.” (Velázquez-Rodríguez, p. 77) #00b036
      • “The features, however, can be described at several levels of granularity, from the artifact level to the code level.” (Velázquez-Rodríguez, p. 78) #00b036 *#IMPORTANT Features are given at different level of granularity. *
      • “AutoCat, automatically categorises a library into one of the top-level library categories used by ecosystem indices.” (Velázquez-Rodríguez, p. 78) #00b036 *autocat *
      • “LiFUSO, describes a library in terms of features consisting of the API elements that implement them and a natural language description.” (Velázquez-Rodríguez, p. 78) #00b036 *lofuso *
      • “The proposed approach is based on text classification machine learning algorithms trained and evaluated on a corpus of text extracted from the libraries. We obtain this corpus of text by extracting the identifiers of public classes and methods from a librarys JAR file using the Apache BCEL8 library. For those identifiers following the CamelCase naming convention (e.g., getAccountNumber), we separate the identifier into distinct words (e.g., get, Account, Number)” (Velázquez-Rodríguez, p. 79) #f0ff00 *thus, readme files or alike are not considered right? This could have been useful for the task of categorization..... *
      • “The generated vectors capture the context around a word (e.g., a window size of five tokens); hence it is possible to relate different words by the surrounding context. Default parameters for the Word2Vec process are selected for its training.” (Velázquez-Rodríguez, p. 79) #f0ff00 *an illustrative example would have been useful here. *
      • “The task of the machine learning algorithm is to learn and predict a discrete label for each vector that corresponds to the MVNRepository category to which the library belongs. We consider five machine learning algorithms to instantiate our approach: Gaussian Naive Bayes (GNB) as well as Bernoulli Naive Bayes (BNB) [JL95], Support Vector Machines (SVC) [HDO+98], K -Nearest Neighbors (KNN) [Das91] and Random Forest (RF) [Ho95, Bre01] (cf. Section 2.4.2).” (Velázquez-Rodríguez, p. 79) #f0ff00 *I suspect the dataset is not balanced, isn't it? *
      • “five MVNRepository categories: Collections, Dependency Injection, Http Clients, Compression and JSON libraries.” (Velázquez-Rodríguez, p. 79) #f0ff00 *is there any reason around the selection of such five categories? *
      • “This small experiment (i.e., only 15 libraries) returns promising results regarding the automatic classification of libraries based on their implementation.” (Velázquez-Rodríguez, p. 79) #f0ff00 *it's a bit obscure without an example *
      • “Limitations of Category-based Approaches to Feature Uncovering” (Velázquez-Rodríguez, p. 80) #f0ff00 *Why no comparisons have been done with related baseline? *
      • “An automated approach to suggesting feature tags for a software library could overcome this problem and thereby facilitate ecosystem search.” (Velázquez-Rodríguez, p. 81) #f0ff00 *check if it has been compared with our approach. *
      • “Table 5.3.: Multi-tag predictions made by the best trained multi-label model.” (Velázquez-Rodríguez, p. 87) #f0ff00 *Also in this case, the dataset can be unbalanced. How have you addressed the problem? *
      • “Limitations of Tag-based Approaches for Features Discovery” (Velázquez-Rodríguez, p. 88) #f0ff00 *in terms of conveied knowledge, what can we say, given a same project, about the recommended tags and category? Do you think such a cross-cuttings analysis can help or give some more insights? *
      • “Figure 5.5.:” (Velázquez-Rodríguez, p. 89) #f0ff00 *does the collected features make sense without any initial human intervention? #question *
      • “example usages of this API from SO snippets (step 3 in Figure 5.5). To collect” (Velázquez-Rodríguez, p. 89) #f0ff00 *this is a bit obscure at this point... *
      • “we collect all class names that were once considered part of it.” (Velázquez-Rodríguez, p. 89) #f0ff00 *not clear.... *
      • “has been tagged with the name of the library (e.g., guava, pdfbox).” (Velázquez-Rodríguez, p. 89) #f0ff00 *this limit the applicability of the approach, isn't it? #question *
      • “its strictness minimises false positives.” (Velázquez-Rodríguez, p. 90) #f0ff00 *but still, in my opinion it limits the applicability of the approach in practice, I don't think the are so many tagged answers *
      • “Parsers generated by an island grammar [Moo01] focus on some constructs of interest (i.e., islands) and consider the remainder of the text to parse as irrelevant (i.e., water). They have been shown well-suited to parsing and lightweight analysis of code that is grammatically incomplete (e.g., a statement without a surrounding method) or that contains syntax errors (e.g., three dots instead of an expression) such as the snippets on SO.” (Velázquez-Rodríguez, p. 90) #00b036
      • “clusters with the most frequent name pairs and API references are outputted.” (Velázquez-Rodríguez, p. 94) #f0ff00 *why pairs? *
      • “Figure 5.11.: Front page of the LiFUSO tool with the Search feature tab activated.” (Velázquez-Rodríguez, p. 97) #f0ff00 *I'm not sure on how significant are the shown features for users in practice. I think a user study would have been needed here. *
      • “cohesiveness” (Velázquez-Rodríguez, p. 97) #f0ff00 *What does it mean? *
      • “The evaluation of our approach focuses on the API calls of the generated features.” (Velázquez-Rodríguez, p. 97) #f0ff00 *what does that mean ? *
      • “research questions:” (Velázquez-Rodríguez, p. 97) #f0ff00 *Without a user study the significance and usefulness of the given features cannot be evaluated properly. A qualitative evaluation is needed. *
      • “documented tutorial features?” (Velázquez-Rodríguez, p. 98) #f0ff00 *how and when are these uncovered? *
      • “Tutorial features are compared one by one with all uncovered clusters.” (Velázquez-Rodríguez, p. 101) #f0ff00 *it means that there is a kind of shared / common vocabulary that is manually curated. isn't it? #question *
      • “When matches occur, we store the uncovered feature identifier (i.e., a number) and the tutorial feature that was matched.” (Velázquez-Rodríguez, p. 101) #f0ff00 *is there a kind of hasmap defined somewhere? #question *
      • “High relevance scores indicate that uncovered features are highly similar to tutorial features.” (Velázquez-Rodríguez, p. 104) #f0ff00 *there is a bias here, which is related to the process that has been followed to identify tutorial features. What can you say about this? #question *
      • “Libraries.io to” (Velázquez-Rodríguez, p. 105) #00b036 *this website seems to be interesting for our experiments #ideas *
      • “Table 5.8.: Newly matched features from GitHub client projects.” (Velázquez-Rodríguez, p. 106) #f0ff00 *there is the usual comment about the not clear definition of what is a feature. Explanatory examples would help here. *
      • “Another limitation of our approach is that it relies on SO posts being tagged with the name of the library for which features need to be uncovered.” (Velázquez-Rodríguez, p. 109) #f0ff00 *I agree...this has been a limiting decision. *
      • “Figure 5.12.: Shared features for the studied libraries.” (Velázquez-Rodríguez, p. 111) #f0ff00 *some features are missing context. Create pdf is indeed clear, add page is not. *
      • “for less popular libraries for which there is little usage in SO answers” (Velázquez-Rodríguez, p. 113) #f0ff00 *this is related to the popularity bias problem mentioned also for the other works. Evaluating the work by filtering out popular libraries would have helped to gain some more insights about the overall accuracy of the work. *
      • “new GitHub corpus and its application to the whole SO dataset. Additionally, we present the results of our strategies through various evaluation” (Velázquez-Rodríguez, p. 116) #f0ff00 *what are the characteristics of such a new Github datast? #question *
      • “some manual input is required for parts of the proposed pipeline such as the meta-data of a library (e.g., groupId and artifactId) as well as its corresponding tag name. Additionally, the GitHub repository hosting the library is required as input to the ghtopdep tool, which retrieves the dependent repositories.” (Velázquez-Rodríguez, p. 140) #f0ff00 *This is related to what I was mentioning about the need of having humans in the loop while curatig the creation of the feature taxonomy. *
      • “LiFUSO-supported libraries” (Velázquez-Rodríguez, p. 140) #f0ff00 *this raises questions about the applicability of the approach in practice #question *
      • “source of information are unit test cases and their text descriptions, which may scale to many libraries since most of them include a test suite.” (Velázquez-Rodríguez, p. 141) #00b036 *that is very interesting #IMPORTANT *
      • “Features are defined as API usage patterns with a corresponding description in natural language.” (Velázquez-Rodríguez, p. 143) #f0ff00 *I don't see in the Web based tool such descriptions in natural language. *
      • “RESICO leverages a dataset of library API usage within complete and correct code to learn word embeddings and the most likely fully qualified name for a simple name in a specific context.” (Velázquez-Rodríguez, p. 144) #f0ff00 *the support for continuous learning is needed in this domain and it is also necessary to address the coldstart problem. What do you think? #question *
      • “API usage from Stack Overflow” (Velázquez-Rodríguez, p. 146) #f0ff00 *how to deal with ambiguous cases. Add page can be add a pdf page or a page in a Web base system. It is necessary to include the application domain. #question *
      • “An unsupervised machine learning algorithm is used to form clusters of API usage.” (Velázquez-Rodríguez, p. 149) #f0ff00 *I think this should include supervision. *
      • “tutorials and cookbooks of the libraries under analysis.” (Velázquez-Rodríguez, p. 149) #f0ff00 *to what extent this is manual / semi-automated? *
      • “RDSN+20] Riccardo” (Velázquez-Rodríguez, p. 166) #f0ff00 *This is the only one cited? *