Choose the middle way: supporting coding experiments according to their particular context characteristics

Detalhes bibliográficos
Autor(a) principal: FERREIRA NETO, Waldemar Pires
Data de Publicação: 2017
Tipo de documento: Tese
Idioma: eng
Título da fonte: Repositório Institucional da UFPE
dARK ID: ark:/64986/0013000000gph
Texto Completo: https://repositorio.ufpe.br/handle/123456789/30872
Resumo: Experiments play an essential role in evaluating solutions in software engineering. A field of software engineering where experiments are frequently used is software development. In this field, many solutions are proposed to foster coding activities, such as different programming languages, developing techniques, tools, and other solutions. In this context, this research has two primary goals. The first goal is to investigate experiments performing coding activities (Coding Experiments). This investigation shall raise the most common characteristics of such experiments, and how current solutions supporting experiments address such coding context. The second goal is to propose a solution to support coding experiments according to their particular context characterization. This research was divided in many sub-steps. Each sub-step adopted distinct method. In the first step, we conducted a systematic analysis of coding experiments published in seven renowned venues in software engineering from 2003 to 2016. In the next step, we systematically evaluated the current solutions to support experiments in SE according to previous findings. Based on the results from previous steps, we proposed our solution. Finally, in the final step, we carried out a case study on replicating coding experiments with the proposed solution. The first study revealed many issues in coding experiments that can be addressed to aid its execution. The second study brought to light which aspects of coding experiments are covered by current solutions. In fact, the majority of general characteristics of coding experiments are adequately addressed by current solutions. However, some context-specific characteristics are not satisfactorily undertaken. Based on found lacks, a metamodel was proposed to specify context-specific coding experiments characteristics. This metamodel can be seen as a specialization of current solution focusing only on coding context characterization. Also, a set of tools were developed to (i) specify models according to the proposed metamodel and (ii) support the experiment execution according to its specification. The last study assessed the proposed solution usage to help researchers carrying out coding activities in experiments. From experiment planner’s perspective, the effort to conduct and collect data was reduced, even considering the extra effort to specify the coding experiment. From participants’ perspective, the proposed solution seemed reasonable to support experiments. However, some issues were identified. Finally, although positive results, performing more assessments including different settings is required to generalize these results. This research focuses only on supporting coding experiments, more precisely planning and execution phases. This work does not deal with other aspects such as data analysis, and we believe current solutions can deal with them. By specifying coding context characteristics, many activities when carrying out a coding experiment can be (semi-)automated, thus contributing to reduce effort to experiment. Moreover, the proposed solution proved adequate for supporting coding experiments, and it is available to support researches around the world through our repository.
id UFPE_f601502ab111f4bd3b7a8251336e300c
oai_identifier_str oai:repositorio.ufpe.br:123456789/30872
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str 2221
spelling Choose the middle way: supporting coding experiments according to their particular context characteristicsEngenharia de softwareExperimentaçãoExperiments play an essential role in evaluating solutions in software engineering. A field of software engineering where experiments are frequently used is software development. In this field, many solutions are proposed to foster coding activities, such as different programming languages, developing techniques, tools, and other solutions. In this context, this research has two primary goals. The first goal is to investigate experiments performing coding activities (Coding Experiments). This investigation shall raise the most common characteristics of such experiments, and how current solutions supporting experiments address such coding context. The second goal is to propose a solution to support coding experiments according to their particular context characterization. This research was divided in many sub-steps. Each sub-step adopted distinct method. In the first step, we conducted a systematic analysis of coding experiments published in seven renowned venues in software engineering from 2003 to 2016. In the next step, we systematically evaluated the current solutions to support experiments in SE according to previous findings. Based on the results from previous steps, we proposed our solution. Finally, in the final step, we carried out a case study on replicating coding experiments with the proposed solution. The first study revealed many issues in coding experiments that can be addressed to aid its execution. The second study brought to light which aspects of coding experiments are covered by current solutions. In fact, the majority of general characteristics of coding experiments are adequately addressed by current solutions. However, some context-specific characteristics are not satisfactorily undertaken. Based on found lacks, a metamodel was proposed to specify context-specific coding experiments characteristics. This metamodel can be seen as a specialization of current solution focusing only on coding context characterization. Also, a set of tools were developed to (i) specify models according to the proposed metamodel and (ii) support the experiment execution according to its specification. The last study assessed the proposed solution usage to help researchers carrying out coding activities in experiments. From experiment planner’s perspective, the effort to conduct and collect data was reduced, even considering the extra effort to specify the coding experiment. From participants’ perspective, the proposed solution seemed reasonable to support experiments. However, some issues were identified. Finally, although positive results, performing more assessments including different settings is required to generalize these results. This research focuses only on supporting coding experiments, more precisely planning and execution phases. This work does not deal with other aspects such as data analysis, and we believe current solutions can deal with them. By specifying coding context characteristics, many activities when carrying out a coding experiment can be (semi-)automated, thus contributing to reduce effort to experiment. Moreover, the proposed solution proved adequate for supporting coding experiments, and it is available to support researches around the world through our repository.CNPqExperimentos desempenham um papel essencial na avaliação de soluções em engenharia de software (ES). Um campo da ES onde experimentos são frequentemente utilizados é o de desenvolvimento de software. Nele, soluções são propostas para facilitar ou melhorar as atividades de codificação, como diferentes linguagens de programação, desenvolvimento de técnicas, ferramentas e outras soluções. Neste contexto, esta pesquisa tem dois objetivos principais. O primeiro é investigar os experimentos que realizam atividades de codificação (Experimentos de Codificação). Esta investigação deve levantar as características mais comuns de tais experimentos, bem como as soluções atuais que auxiliam a sua realização. O segundo objetivo é propor uma solução para auxiliar estes experimentos de acordo com suas características particulares. Foram adotadas várias metodologias para cada fase da pesquisa. No primeiro estudo, adotamos uma análise sistemática de experimentos de codificação publicados em sete renomados fóruns científicos na engenharia de software entre 2003 a 2016. Depois, realizamos uma avaliação sistemática das atuais soluções para apoiar experimentos em SE. Baseado nos resultados da fases anteriores, propusemos nossa solução. E por fim, conduzimos um quasi-experimento com a solução proposta. Nesse experimento, replicamos um experimento externo que envolvia codificação. O primeiro estudo revelou algumas limitações na realização de experimentos de codificação. Tais limitações podem ser exploradas com o intuito de auxiliar a execução destes experimentos. O segundo estudo identificou lacunas nas atuais soluções que dão apoio a realização de experimentos na engenharia de software. Com base nos resultados anteriores, foi proposto um metamodelo para explicitar as características dos experimentos de codificação que sejam específicas para os seus contextos particulares. Este metamodelo pode ser visto como uma especialização das soluções atuais, focado apenas na caracterização do contexto de codificação. Além disso, um conjunto de ferramentas foi desenvolvido para (i) especificar modelos de acordo com o metamodelo proposto e (ii) apoiar a execução dos experimentos de acordo com a especificação. O último estudo avaliou o uso da solução proposta para auxiliar pesquisadores a realizar experimentos de codificação. Do ponto de vista de um pesquisador, o esforço para conduzir e coletar dados foi reduzido, mesmo considerando o esforço extra para modelar o experimento de codificação. Do ponto de vista dos participantes, a solução proposta aparenta ser útil para apoiar a realização do experimento. No entanto, alguns problemas foram identificados. Finalmente, apesar de resultados positivos, ainda se faz necessário à realização de mais avaliações, incluindo configurações diferentes, para podermos generalizar os resultados obtidos. Esta pesquisa concentra-se apenas no apoio a realização de experimentos de codificação, e mais precisamente as fases de planejamento e execução. Este trabalho não trata de outros aspectos, como análise de dados, e acreditamos que soluções atuais são satisfatórias para lidar com esses outros aspectos. Ao especificar características de contexto de experimento de codificação, muitas atividades do experimento podem ser (semi-) automatizadas, contribuindo assim para reduzir o esforço de experimentação. Além disso, a solução proposta mostrou-se adequada para auxiliar experimentos de codificação, e está disponível para apoiar pesquisas pelo mundo através do nosso repositório.Universidade Federal de PernambucoUFPEBrasilPrograma de Pos Graduacao em Ciencia da ComputacaoSOARES, Sérgio Castelo BrancoBALDASSARRE, Maria Teresahttp://lattes.cnpq.br/8662463350773114http://lattes.cnpq.br/6456667887502521FERREIRA NETO, Waldemar Pires2019-05-31T22:42:03Z2019-05-31T22:42:03Z2017-12-01info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfhttps://repositorio.ufpe.br/handle/123456789/30872ark:/64986/0013000000gphengAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPE2019-10-25T10:59:40Zoai:repositorio.ufpe.br:123456789/30872Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T10:59:40Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.none.fl_str_mv Choose the middle way: supporting coding experiments according to their particular context characteristics
title Choose the middle way: supporting coding experiments according to their particular context characteristics
spellingShingle Choose the middle way: supporting coding experiments according to their particular context characteristics
FERREIRA NETO, Waldemar Pires
Engenharia de software
Experimentação
title_short Choose the middle way: supporting coding experiments according to their particular context characteristics
title_full Choose the middle way: supporting coding experiments according to their particular context characteristics
title_fullStr Choose the middle way: supporting coding experiments according to their particular context characteristics
title_full_unstemmed Choose the middle way: supporting coding experiments according to their particular context characteristics
title_sort Choose the middle way: supporting coding experiments according to their particular context characteristics
author FERREIRA NETO, Waldemar Pires
author_facet FERREIRA NETO, Waldemar Pires
author_role author
dc.contributor.none.fl_str_mv SOARES, Sérgio Castelo Branco
BALDASSARRE, Maria Teresa
http://lattes.cnpq.br/8662463350773114
http://lattes.cnpq.br/6456667887502521
dc.contributor.author.fl_str_mv FERREIRA NETO, Waldemar Pires
dc.subject.por.fl_str_mv Engenharia de software
Experimentação
topic Engenharia de software
Experimentação
description Experiments play an essential role in evaluating solutions in software engineering. A field of software engineering where experiments are frequently used is software development. In this field, many solutions are proposed to foster coding activities, such as different programming languages, developing techniques, tools, and other solutions. In this context, this research has two primary goals. The first goal is to investigate experiments performing coding activities (Coding Experiments). This investigation shall raise the most common characteristics of such experiments, and how current solutions supporting experiments address such coding context. The second goal is to propose a solution to support coding experiments according to their particular context characterization. This research was divided in many sub-steps. Each sub-step adopted distinct method. In the first step, we conducted a systematic analysis of coding experiments published in seven renowned venues in software engineering from 2003 to 2016. In the next step, we systematically evaluated the current solutions to support experiments in SE according to previous findings. Based on the results from previous steps, we proposed our solution. Finally, in the final step, we carried out a case study on replicating coding experiments with the proposed solution. The first study revealed many issues in coding experiments that can be addressed to aid its execution. The second study brought to light which aspects of coding experiments are covered by current solutions. In fact, the majority of general characteristics of coding experiments are adequately addressed by current solutions. However, some context-specific characteristics are not satisfactorily undertaken. Based on found lacks, a metamodel was proposed to specify context-specific coding experiments characteristics. This metamodel can be seen as a specialization of current solution focusing only on coding context characterization. Also, a set of tools were developed to (i) specify models according to the proposed metamodel and (ii) support the experiment execution according to its specification. The last study assessed the proposed solution usage to help researchers carrying out coding activities in experiments. From experiment planner’s perspective, the effort to conduct and collect data was reduced, even considering the extra effort to specify the coding experiment. From participants’ perspective, the proposed solution seemed reasonable to support experiments. However, some issues were identified. Finally, although positive results, performing more assessments including different settings is required to generalize these results. This research focuses only on supporting coding experiments, more precisely planning and execution phases. This work does not deal with other aspects such as data analysis, and we believe current solutions can deal with them. By specifying coding context characteristics, many activities when carrying out a coding experiment can be (semi-)automated, thus contributing to reduce effort to experiment. Moreover, the proposed solution proved adequate for supporting coding experiments, and it is available to support researches around the world through our repository.
publishDate 2017
dc.date.none.fl_str_mv 2017-12-01
2019-05-31T22:42:03Z
2019-05-31T22:42:03Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://repositorio.ufpe.br/handle/123456789/30872
dc.identifier.dark.fl_str_mv ark:/64986/0013000000gph
url https://repositorio.ufpe.br/handle/123456789/30872
identifier_str_mv ark:/64986/0013000000gph
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
publisher.none.fl_str_mv Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1846272318625546240