Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rodar ferramenta com lista de projetos do estudo de guilherme #5

Open
pauloborba opened this issue Mar 11, 2019 · 23 comments
Open

Rodar ferramenta com lista de projetos do estudo de guilherme #5

pauloborba opened this issue Mar 11, 2019 · 23 comments
Assignees

Comments

@pauloborba
Copy link
Member

No description provided.

@pauloborba
Copy link
Member Author

@rafaelmotaalves podes dar um update aqui?

@rafaelmotaalves
Copy link
Collaborator

No repositório de resultados: https://github.com/rafaelmotaalves/partial-results, tem a coleta para os commits da lista, exceto alguns que tiveram problema na coleção de builds, ou que o frameworks não detectou mudanças nos mesmos métodos (como em casos de mudança na indentação que diffj não considera).

@rafaelmotaalves
Copy link
Collaborator

Quanto a execução para todos os merges de todos os projetos, eu acho que seria uma boa executar depois de implementar as otimizações das issues #29 e #31.

@pauloborba
Copy link
Member Author

Quanto a execução para todos os merges de todos os projetos, eu acho que seria uma boa executar depois de implementar as otimizações das issues #29 e #31.

verdade (#31 nem tanto). mas principalmente só depois do feedback de rodrigo.

@pauloborba
Copy link
Member Author

No repositório de resultados: https://github.com/rafaelmotaalves/partial-results, tem a coleta para os commits da lista, exceto alguns que tiveram problema na coleção de builds

@rafaelmotaalves quais os problemas detectados atualmente? os que tinham subprojetos devem ter sido resolvidos. são então os que não compilam? daria para filtrar esses no passo de filter, através da análise do log do travis? mais algum caso?

ou que o frameworks não detectou mudanças nos mesmos métodos (como em casos de mudança na indentação que diffj não considera).

isso também deveria estar sendo filtrado antes. verifica porque não está, por favor.

@rafaelmotaalves
Copy link
Collaborator

Ta sendo filtrado, ai por isso que os commit não foi coletado

@rafaelmotaalves
Copy link
Collaborator

O único caso que eu indentifiquei são erros do travis ou de compilação, sendo os erros do travis bem raros.

@pauloborba
Copy link
Member Author

@rafaelmotaalves não entendi. responde dando reply nesta mensagem, por favor.

olha https://github.com/rafaelmotaalves/partial-results/tree/master/files/Handy-URI-Templates/6553ba922d3cac5e736cf4fe7345af691334626b/com/damnhandy/uri/template, por exemplo. por que não tem build?

se não tem build, porque não foi filtrado antes? idealmente, no diretório de files a gente só deveria ter o que passou pelo filtro. consequentemente, só teríamos em files o que pode ser usado para o estudo de análise estática. esse exemplo acima não pode ser usado porque não tem jar.

o que está em https://github.com/rafaelmotaalves/partial-results/tree/master/files e não tem build é porque o travis deu erro (que tipo de erro?) ou não conseguiu compilar porque tem erro de compilação?

@rafaelmotaalves
Copy link
Collaborator

Nesse caso especifico, ocorreu um erro de compilação, com a mensagem a seguir:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project handy-uri-templates: Compilation failure
[ERROR] /home/travis/build/rafaelmotaalves/Handy-URI-Templates/src/main/java/com/damnhandy/uri/template/UriTemplate.java:[1098,18] method getIndexForPartsWithNullsFirstIfQueryOrRegularSequnceIfNot(com.damnhandy.uri.template.Expression,java.util.List<java.lang.String>) is already defined in class com.damnhandy.uri.template.UriTemplate

Tu pode ver a build aqui: https://travis-ci.org/rafaelmotaalves/Handy-URI-Templates/builds/556067316

@rafaelmotaalves
Copy link
Collaborator

Não da pra filtrar antes, porque não é verificada a compilação no passo de collectData, os builds só são baixados ao fim da execução. Só dando para verificar depois, por isso é escrito um arquivo indicando quais são os commits que o build foi baixado.

@rafaelmotaalves
Copy link
Collaborator

Um alternativa seria excluir os arquivos da pasta files posteriormente.

@pauloborba
Copy link
Member Author

Um alternativa seria excluir os arquivos da pasta files posteriormente.

sim, termos um filtro inicial e um final. mas melhor discutirmos o design por skype.

@pauloborba
Copy link
Member Author

@rafaelmotaalves verificar de novo

@pauloborba
Copy link
Member Author

@rafaelmotaalves algum progresso aqui?

@rafaelmotaalves
Copy link
Collaborator

Por enquanto só tem os do repositório partial-results, mas vou tentar rodar novamente ainda essa semana. Com as melhorias no filtro e na coleta de builds

@pauloborba
Copy link
Member Author

@rafaelmotaalves o foco primeiro deve ser rodar com os cenários do estudo de roberto (dataset com 35 cenários). analisamos isso primeiro. e só depois expandimos a análise para contemplar os cenários do dataset de Guilherme e Léuson.

@pauloborba
Copy link
Member Author

@rafaelmotaalves analisar o caso em que o soot está estrando em loop. manualmente chamando o soot ocorre o mesmo problema? se ocorrer, enviar mensagem para rodrigo para ele depurar a implementaçao da análise com o cenario de merge que gera o problema.

dos 25 casos, só ocorre problema nesse?

gerar planilha com resultados dos outros 25 cenários, entendendo modificacoes feitas por left e right, para verificarmos casos de FP e FN.

@pauloborba
Copy link
Member Author

@pauloborba
Copy link
Member Author

@rafaelmotaalves em data, ao invés de três planilhas é melhor ter uma só. similar a results mas com colunas extras com indicando se tem build ou nao, e, caso tenha, indicando os resultados do soot. para analisar fica mais facil

@pauloborba
Copy link
Member Author

@rafaelmotaalves talvez mergeconflicts também devesse também ser integrado na mesma coluna.

a planilha em statistics nao parece ter um cabecalho explicativo.

@pauloborba
Copy link
Member Author

@rafaelmotaalves na planilha, seria importante ter o link para o codigo associado ao cenario

@rafaelmotaalves
Copy link
Collaborator

ok, eu fiz dessa forma para facilitar, pra não ter que ficar reescrevendo a planilha em toda análise. Mas vou colocar no roadmap pra fazer essa mudança.

@pauloborba
Copy link
Member Author

@rafaelmotaalves talvez mergeconflicts também devesse também ser integrado na mesma coluna.

a planilha em statistics nao parece ter um cabecalho explicativo.

@rafaelmotaalves aqui, e na conversa do slack, tem alguns detalhes como esse que não entraram como uma issue específica. dá uma olhada depois.

pauloborba pushed a commit that referenced this issue Dec 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants