ReaFuse: combinando duas bibliotecas após investigar seu comportamento
Alvo: Dois pares de bibliotecas JavaScript de código aberto: ms + pretty-bytes e dequal + klona
Autor / atribuição: sickpyramid
Data de revisão da fonte:
Rever estado: Fontes revisadas; os testes do autor não são executados de forma independente.
A questão
Como podem dois projetos tornar-se especificações de comportamento e depois uma nova ferramenta combinada?
O que REA fez
REA 6.4.0 JavaScript a análise estática lê as duas entradas. Arquivos e testes README ajudam a produzir especificações de comportamento; o modelo propõe combinações separadamente, escreve contratos de aceitação e novo código e, em seguida, executa os testes do autor e verificações de similaridade.
Resultados relatados pelo autor
O autor publica ratewise (taxa de transferência e ETA) e objdelta (diff/patch estrutural), relatórios e Evidence. Os resultados do contrato relatados são 18/18 e 17/17, além de testes 7/7 e 6/6 para as novas ferramentas. Ambos os exemplos contam como um caso de projeto.
Limitações e reivindicações não verificadas
Apenas dois exemplos públicos de JavaScript foram revisados; o projeto é v0.1 alfa. O mesmo fluxo de trabalho produz especificações e implementações. O rótulo de sala limpa do autor não é uma conclusão jurídica independente. Varreduras de similaridade e testes de aprovação não estabelecem originalidade geral ou equivalência completa. Este catálogo não os reexecutou.
O que aprender
Conecte a análise à implementação por meio de especificações de comportamento, mapeando testes para o comportamento de entrada ou para a nova combinação.
Evidência de uso de REA na fonte
Every donor goes through REA's static JavaScript analysisA formatação do trecho é simplificada. Leia a fonte original para o contexto completo.
Fontes originais
Resumo editorial independente. O crédito pertence aos autores originais. O software alvo, os instaladores e a saída completa do descompilador não são redistribuídos aqui.