DatabaseGroup / tree-similarity

Library for tree similarity algorithms and queries.
MIT License
75 stars 14 forks source link

apted implementitaion bug?? #9

Closed qiaohang closed 5 years ago

qiaohang commented 5 years ago

Hi

I confused with the apted_impl.h on line #124: the vector preL_tonode size is 0. no value will be stored

mateuszpawlik commented 5 years ago

Thanks for pointing that out. I agree, that this is a potential bug. However, I can't reproduce it on my system - this is the reason it's there. Please write the steps to reproduce from your side and the operating system and compiler that you use.

Eventually, this implementation will be deprecated once I'm done with the new ones on tree-indexer branch. This problem is not present there.

qiaohang commented 5 years ago

I test the code on Ubuntu 16 and Windows 7 system. On windows the code will throw an exception, but no exception on Ubuntu.

On Ubuntu I set breakpoint in apted_impl.h on line #124, and run the APTED_TED_TEST_DRIVER project. The breakpoint will hit and step out the code, then check the vector, nothing be stored.

I suggest to run the code on Window, then expception will be thrown. I use the Visual Stuido 2015 compile the code and run the test case

mateuszpawlik commented 5 years ago

I'm currently working on Debian 9 exclusively and can't test on other environments. I guess it worked by accident. I'd appreciate if you could test my fix on branch apted-bugs-fixing.

mateuszpawlik commented 5 years ago

I've tried to build and execute the tests under Windows 10. I've failed.

I've tried Visual Studio 2019 with support of CMake. I got some weird 'class not a template' errors. It did build but, while running, reported incorrect TED results, similarly to your initial output.

Then, I've tried command-line cmake with ninja and clang. But didn't even make it build. I can list the command I've used, if it makes any sense.

It would be really nice if someone could help me to build and execute it on Windows.

mateuszpawlik commented 5 years ago

There was another bug, that I've fixed.

I've just build and tested apted_ted_test_driver target under Debian 9 using CMake and Clang, and under Windows 10 Pro using Visual Studio 2019 and Clang. It compiles and correctness tests pass.

qiaohang commented 5 years ago

I test the branch apted-bugs-fixing code on my windows 7 system. It works find, no exceptions.

mateuszpawlik commented 5 years ago

Thanks for reporting it and trying out the fix.