O EBA é um protótipo de Bug Locther para C com base na análise de efeitos colaterais e na verificação do modelo.
Por enquanto, você pode usá-lo para encontrar bugs de bloqueio duplo no kernel Linux, por exemplo:
git clone --depth=1 https://github.com/torvalds/linux.git
cd linux
make allyesconfig
scripts/eba-linux.sh drivers/net
O script encontrará todos os arquivos de origem C em drivers/ , ligue para o CPP neles e ligue para a EBA para encontrar possíveis bloqueios duplos. Seja paciente, isso pode levar várias horas.
Se a EBA encontrar algum bug potencial no path/to/file.c , ele escreverá os rastreamentos de bugs em _eba/path/to/file.warn :
find _eba/ -iname '*.warn'
Ele combina análise de efeito colateral e verificação de modelo, verifique o site para obter mais informações: http://www.iagoabal.eu/eba/
Sim, realmente, verifique o site para obter mais informações: http://www.iagoabal.eu/eba/
Veja as instruções de instalação.
Se você deseja executar os testes, precisará instalar o CRAM , por exemplo, usando PIP :
sudo apt-get install python-pip
sudo pip install cram
Você deve colocar a EBA em algum lugar no seu $ PATH :
cram test/*.t