В поисках опытного программиста Java
Гарантия возврата денег, если товар не подойдёт
Описание
Интересуют только значения int программ, которые мы анализируем. Это означает, что анализируемые программы могут содержать произвольный код, но мы рассуждаем только о значениях int. Мы строим абстракцию потенциальных значений для нашего анализа; эти значения являются значениями знака, каждое число может иметь один из ( − , 0 , + ). Мы используем решетку для представления этих абстрактных значений и их взаимосвязей.
Мы предоставляем вам основной класс и интерфейсы для решетки и отношения передачи, которые должны стать основой вашей реализации. Функциональность должна быть реализована вами. Прежде чем начать, прочтите раздел 8.2 руководства ASM о том, как можно реализовать собственный анализ потоков данных с помощью ASM.
Вам необходимо реализовать семантику этих операций с точки зрения нашего абстрактного домена (знака числа) в вашей реализации интерфейса TransferRelation. Единственная дополнительная унарная операция, которую мы хотим поддерживать, — это отрицание знака для целых чисел.
Анализ должен быть внутрипроцедурным, то есть он не следует за вызовами каких-либо методов. Их возвращаемое значение может быть любым, т. е. ⊤.
Обращайтесь за дополнительной информацией.
Опыт разработки на языке Java
Глубокое понимание принципов объектно-ориентированного программирования
Знание структур данных и алгоритмов