Structuring and Accessing GoF Design Patterns with Kuaba Ontology
Patrick Belem and Adriana de Medeiros
- Assumption: Many developers still have difficulties in using design patterns
- Survey: aiming at understanding if the assumption above was real.
- The developers that do not use design patters (40%), the major reason was that he does not know how to use it; the relevant reasons: access is difficult and time consuming, etc.
- Possible reasons for the problem: the use of design patterns require much more than a catalogue; and require understanding the relations among the different patterns.
- One of the problems in design patterns catalogues: the intention described for the patterns in the catalogues usually focus on the solution the patterns bring and not on the problem they solve.
- They used the Kuaba Ontology (main used concepts: question/idea/argument) to try to highlight the problem targeted by the patterns, creating an ontological model describing Design Patters by Problem.
- An initial evaluation has shown that the Kuaba-based approach has good results.
- They do not use the ontology for reasoning, automating the use of the catalogues. This is a future work.
- Web application available at: patrick.ison.com.br
*The Kuaba Ontology has also the concept of Decision. It may be an interesting piece of literature to investigate for the work on the Decision Ontology we are developing.
Towards using task similarity to recommend Stack Overflow Posts
Glaucia Melo, Ulisses Telemaco, Toacy Oliveira, Paulo Alencar and Don Cowan
Software Development (SD) is:
- Knowledge intensive
- Collaborative
-
- SD uses both technical knowledge and business/domain knowledge
- However, the knowledge is detached to the development process. This means that the workers have to leave their activities and search for this knowledge elsewhere (e.g. web). There are studies that show that a lot of time is spent in this kind of peripheral activities.
- Stack Overflow is one of the kinds of knowledge source for developers. Some of the reasons why this work focuses on Stack Overflow: More than 7 million users, it provides mechanisms to assess the quality of stored knowledge, etc.
- There is a problem in Stack Overflow: there are similar posts that are never reused and new similar ones are added.
- Posts are organized by the SD tasks for which they may be useful.
- The research is focused on finding the similarity between the tasks, aiming at giving recommendation, which could enable reuse of Stack Overflow posts.
- For that, they considered the tasks' process and technical context, developing a metamodel for the Task Context. For instance, Process Activity Name, Programming Language, Automation Tool etc. are kinds of context related concepts (present in their metamodel). The instances of such concepts may help a user of Stack Overflow to find what they need.
- They developed a recommender system to recommend similar tasks, and performed a preliminary assessment of such system. The assessment showed that the distance metric that they used for the recommender system was not a very good metric. But in general, it has provided interesting inputs to assess what the users may consider as similar tasks. Based on that, they have defined interesting future works to enhance the quality of the recommendations.
Um Estudo Qualitativo sobre Crowdsourcing: Análise da Colaboração na plataforma TopCoder
Ricardo Melo, Leticia Machado, Rafael Prikladnicki and Cleidson De Souza
- Crowdsourcing may be used so that people around the world may develop software on behalf of an organization, covering the whole SD process.
- There are platforms (e.g. TopCoder) that adopt a competition-based approach with monetary rewards.
- Research Question: Do crowd workers collaborate in competitive software crowdsourcing?
- Usually 1 winner, but there are also cases in which the monetary reward is split with 2nd and 3rd place as well.
- Forums are selected as a communication tool for software developers to discuss about coding.
- They selected forums with particular characteristics (e.g. focus on code, monetization >= 500 dollars, number of participation higher than X, etc.)
- They provided a qualitative analysis (kind of content analysis) of the messages of the forum, categorizing them (Tip, Request for help, m Answer for help etc.).
- Nine challenges have been analyzed (thus 9 forums); 408 messages divided in 97 threads; 63 active coders in forums.
- The author showed several interesting charts with some results of the analysis.
- They have concluded that there is also collaboration between the coders through the forums.
- A following up work show that there is a correlation between the coders that collaborate more (i.e. send more messages) and those that win the challenges.
Patrick Belem and Adriana de Medeiros
- Assumption: Many developers still have difficulties in using design patterns
- Survey: aiming at understanding if the assumption above was real.
- The developers that do not use design patters (40%), the major reason was that he does not know how to use it; the relevant reasons: access is difficult and time consuming, etc.
- Possible reasons for the problem: the use of design patterns require much more than a catalogue; and require understanding the relations among the different patterns.
- One of the problems in design patterns catalogues: the intention described for the patterns in the catalogues usually focus on the solution the patterns bring and not on the problem they solve.
- They used the Kuaba Ontology (main used concepts: question/idea/argument) to try to highlight the problem targeted by the patterns, creating an ontological model describing Design Patters by Problem.
- An initial evaluation has shown that the Kuaba-based approach has good results.
- They do not use the ontology for reasoning, automating the use of the catalogues. This is a future work.
- Web application available at: patrick.ison.com.br
*The Kuaba Ontology has also the concept of Decision. It may be an interesting piece of literature to investigate for the work on the Decision Ontology we are developing.
Towards using task similarity to recommend Stack Overflow Posts
Glaucia Melo, Ulisses Telemaco, Toacy Oliveira, Paulo Alencar and Don Cowan
Software Development (SD) is:
- Knowledge intensive
- Collaborative
-
- SD uses both technical knowledge and business/domain knowledge
- However, the knowledge is detached to the development process. This means that the workers have to leave their activities and search for this knowledge elsewhere (e.g. web). There are studies that show that a lot of time is spent in this kind of peripheral activities.
- Stack Overflow is one of the kinds of knowledge source for developers. Some of the reasons why this work focuses on Stack Overflow: More than 7 million users, it provides mechanisms to assess the quality of stored knowledge, etc.
- There is a problem in Stack Overflow: there are similar posts that are never reused and new similar ones are added.
- Posts are organized by the SD tasks for which they may be useful.
- The research is focused on finding the similarity between the tasks, aiming at giving recommendation, which could enable reuse of Stack Overflow posts.
- For that, they considered the tasks' process and technical context, developing a metamodel for the Task Context. For instance, Process Activity Name, Programming Language, Automation Tool etc. are kinds of context related concepts (present in their metamodel). The instances of such concepts may help a user of Stack Overflow to find what they need.
- They developed a recommender system to recommend similar tasks, and performed a preliminary assessment of such system. The assessment showed that the distance metric that they used for the recommender system was not a very good metric. But in general, it has provided interesting inputs to assess what the users may consider as similar tasks. Based on that, they have defined interesting future works to enhance the quality of the recommendations.
Um Estudo Qualitativo sobre Crowdsourcing: Análise da Colaboração na plataforma TopCoder
Ricardo Melo, Leticia Machado, Rafael Prikladnicki and Cleidson De Souza
- Crowdsourcing may be used so that people around the world may develop software on behalf of an organization, covering the whole SD process.
- There are platforms (e.g. TopCoder) that adopt a competition-based approach with monetary rewards.
- Research Question: Do crowd workers collaborate in competitive software crowdsourcing?
- Usually 1 winner, but there are also cases in which the monetary reward is split with 2nd and 3rd place as well.
- Forums are selected as a communication tool for software developers to discuss about coding.
- They selected forums with particular characteristics (e.g. focus on code, monetization >= 500 dollars, number of participation higher than X, etc.)
- They provided a qualitative analysis (kind of content analysis) of the messages of the forum, categorizing them (Tip, Request for help, m Answer for help etc.).
- Nine challenges have been analyzed (thus 9 forums); 408 messages divided in 97 threads; 63 active coders in forums.
- The author showed several interesting charts with some results of the analysis.
- They have concluded that there is also collaboration between the coders through the forums.
- A following up work show that there is a correlation between the coders that collaborate more (i.e. send more messages) and those that win the challenges.
Nenhum comentário:
Postar um comentário