本仓库的使命已完成,请移步官方Tai-e教程:
仓库:https://github.com/pascal-lab/Tai-e-assignments
官方网站:http://tai-e.pascal-lab.net
知乎帖子:https://zhuanlan.zhihu.com/p/488957195
本仓库是早期作业的参考实现...
Добро пожаловать, чтобы добавить группу разработки инструментов анализа программы (истекает QR -код, см. В выпуске № 4)
https://canliture.github.io/imgs/group.jpg
Это неофициальная реализация экспериментальной домашней работы по курсу анализа программного обеспечения Университета Нанкин
Примечание: Бамбук не является открытым исходным кодом для курсовой работы в Университете Нанкин, так почему же у него есть этот склад?
- Я дал PDF -курс для домашней работы, и API также был дан; Согласно API, я мог бы в основном сделать это на основе моего собственного понимания.
Текущий статус
- Еще не прошел много тестирования (по крайней мере, примеры в лекции в порядке)
- Пятое задание-это короткое время, чтобы заполнить пробелы последнего кода, чувствительного к OBJ/Тип
- Надеюсь поднять ошибку/выпуск
最近挺忙的,先停更1/2个月吧.相信这份代码仍然能够给人一些帮助.(2021-11-08)
среда
- Java 8
- Сажа 4.2.1
- INTELLIJ IDEA
- Maven Build/Junit Test
документ
- Docs/org - это оригинальная тема курса университета Наняна.
- Документы/сажа - это справочный материал
- src/main/java/com/canliture/soot/задания в каждом подкаталоге имеют чтение как простое описание работы
Код
- com.canliture.soot.ass1
- Реализация кода для первой работы
- Постоянное распространение
- com.canliture.soot.ass2
- Реализация кода для второй работы
- Постоянное распространение + обнаружение активности применяется к устранению мертвого кода
- com.canliture.soot.ass3
- Реализация кода для третьей работы
- CHA используется для построения графиков вызовов
- com.canliture.soot.ass4
- Внедрение кода четвертой работы
- Проточный нечувствительный анализ указателя
- com.canliture.soot.ass5
- Внедрение кода пятой работы
- Анализ чувствительного к потоку
тест
Код для запуска модульных тестов: SRC/Test/Java/Directory
- com.canliture.soot.ass {n}
Протестированный код: src/test/testcodes/ass/*
Отладка и бег
При использовании INTELLIJ IDEA, отметьте Directory SRC/Test/TestCodes/ASS в качестве Test sources root
- Это автоматически составит проверенный код в каталог целевых/тестовых классов во время отладки/запуска, что облегчает тестирование
Возьмите отладку/бегущий тест отладки ASS1
- Найдите класс com.canliture.soot.ass1.intraconstantpropagationtest и запустите тест JUNIT
- Каждый тестовый класс имеет метод getTransformer (), а метод InternalTransform возвращаемого трансформатора - это вход к анализу.
Как запустить весь тест, вы можете проверить межбасетистые и внутрибазовые классы, здесь инкапсулируют небольшую тестовую структуру
- @Be, прежде чем настроить сажи перед тестированием
- @Test выполнить тестовый код
- @After выходы Jimple ir в каталог Sootoutput
