Как опустить программные точки в инвариантном детекторе 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
Другие вопросы по тегам