Как опустить программные точки в инвариантном детекторе Daikon?
Я использую Daikon
(вероятный программный детектор инвариантов) для генерации инвариантов для простого Java-класса различными методами. Я хотел опустить несколько методов из этого класса, которые я достиг с помощью следующей команды:
java daikon.Chicory '--ppt-omit-pattern=C0.printRangeFail()|C0.printRangePass()|C0.main()|C0.failureDomain()' C0
Инструмент также предоставляет возможность пропустить инварианты в определенных точках, таких как ENTER, EXIT и т. Д. Теперь я хочу пропустить точку EXIT метода. Я добавил следующий текст к команде, но не повезло.
checkFirstAndLastValue():::EXIT
Можете ли вы помочь мне, как опустить следующий метод из вывода Daikons.
C0.checkFirstAndLastValue(int, int):::EXIT
Благодарю.
1 ответ
Как объяснено в руководстве Daikon, аргумент аргумента командной строки --ppt-omit-pattern является регулярным выражением. В регулярном выражении "()" ничего не соответствует. Если вы хотите сопоставить скобки, вы должны заключить их в регулярное выражение.
Я подозреваю, что что-то вроде этого будет работать лучше:
java daikon.Chicory '--ppt-omit-pattern=C0\.printRangeFail\(\)|C0\.printRangePass\(\)|C0\.main\(\)|C0\.failureDomain\(\)|C0\.checkFirstAndLastValue\(\):::EXIT' C0