VSharp-team / VSharp

Symbolic execution engine for .NET Core
Apache License 2.0
50 stars 32 forks source link

New single assembly loader #226

Closed m-sedl closed 1 year ago

m-sedl commented 1 year ago

214

Выкладываю текущую версию загрузчика на общее обсуждение. Нейминг и местоположение тех или иных методов можно обсудить

Интеграционные тесты работают. Бенчмарки смотрели с @MchKosticyn -- вроде всё хорошо

m-sedl commented 1 year ago

Добавил юнит тесты

m-sedl commented 1 year ago

Есть предложение избавиться от глобального AssemblyManager, сделать его объектным -- заменить на экземпляр VSharpLoadContext'а, который будет создаваться при старте анализа или запуска тестов. Это сильно удобнее и безопаснее для тестирования (тесты не влияют друг на друга).

Для Veritas было бы удобнее использовать объектный подход без глобальных переменных. Но протаскивать экземпляр контекста во все F# функции довольно больно и может получиться некрасиво.

@dvvrd, @MchKosticyn, что скажете?

mxprshn commented 1 year ago

Нам нужно будет синхронизироваться с моим пр-ом https://github.com/VSharp-team/VSharp/pull/216, там тоже затрагивал AssemblyLoader