-
Notifications
You must be signed in to change notification settings - Fork 35
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
Melhor tratamento de falsos negativos #23
Comments
Incorporar scripts de detecção de falso negativo de ooplsa (parametrizado): https://github.com/guilhermejccavalcanti/sourceeis/blob/master/MergeConflictParserAndAnalyser/src/cin/ufpe/br/app/Main.java |
|
@leoribeiro36 resume aqui porque, dentro dos métodos, há divergência de resultado entre as duas ferramentas. diferença de encoding? whitespace? texto do conflito ligeiramente diferente? |
@leoribeiro36 aquele FN que te mostrei, com herança, ocorre sem herança também. base m(){0}, left m(){1}, e right, na mesma linha de left, adiciona um novo método n(){this.m()} |
Professor, eu analisei o caso que discutimos na ultima reunião, o caso 4, e percebi não se tratava de rename como suspeitávamos, mas sim de uma modificação nos parâmetros. Isso pode fazer com que o semi estruturado identifique a função inteira como conflito? Parte do conflito reportado pelo semi estruturado: MINE |
sim @leoribeiro36. renaming, apesar do nome, é considerando tanto a mudança do nome do método quanto dos seus parâmetros porque, em Java, o que identifica unicamente um método é a sua assinatura (o nome mais lista de parâmetros). ou seja, esse é mesmo um caso de renaming. |
Nas últimas análises feitas o que foi percebido é que problemas de encode e renaming eram os mais recorrentes no projeto analisado. A proposta de solução, ao problema do encode, enviada por Guilherme obteve resultados diferentes em um dos arquivos gerados na análise, mas sem impacto nos falsos negativos ou positivos. |
@leoribeiro36 não entendo porque a solução de @guilhermejccavalcanti não resolveu os casos de encode. a solução está bugada? os FNs de encoding não foram eliminados? qual a sua explicação? sobre os casos de renaming, o que combinamos na última reunião? esses não podem ser automaticamente subtraídos da conta de FN? acho que eles já são, não @guilhermejccavalcanti? que outros casos de FN você detectou. lista aqui, por favor, indicando se há uma forma fácil de detectá-los automaticamente. |
Sim, os problemas de encode ainda continuam, acredito que a ferramenta esteja lendo corretamente e escrevendo de forma distina no arquivo, o que possa vir a gerar a diferença. |
@leoribeiro36 não há outros casos devido a whitespace? texto do conflito ligeiramente diferente? nenhuma outra razão? nesse caso de renaming que você ainda quer confirmar, abstraindo os detalhes, o que ocorre é que um cara renomeou o método e alterou o corpo dele, e o outro alterou o corpo do mesmo método? |
Pessoal, mantenham essa conta aqui registrada para saber o que é contabilizado ou não como FN do S3M. O que torna o número de FNs do S3M super alto é o Os logs, no entanto, não fazem essa distinção, lá vai aparecer conflito de renaming mesmo ele não tenha sido contabilizado como FN.
|
@leoribeiro36 o pessoal da disciplina descobriu outros tipos de FN:
|
Sobre os resultados analisados. |
@leoribeiro36 o que você quer dizer com "alguns dos arquivos conflitantes que deixaram de aparecer na nova execução tinha comportamento idênticos aos outros reportados"? também não entendi exatamente isto: "Alguns resultados informavam que o left ou o right continha conflitos, reproduzindo o merge original e observando o left o right e o base isso não se confirmou" |
"alguns dos arquivos conflitantes que deixaram de aparecer na nova execução tinha comportamento idênticos aos outros reportados"
"Alguns resultados informavam que o left ou o right continha conflitos, reproduzindo o merge original e observando o left o right e o base isso não se confirmou"
|
deal with that together with #98 |
No description provided.
The text was updated successfully, but these errors were encountered: