Software

GitHub Page

We have released and maintain all our research tools on GitHub. For more detailed information, please visit the corresponding GitHub page.

PyRTFuzz is a two-level collaborative fuzzing framework for holistically testing Python runtimes including the language interpreter and its runtime libraries. It combines generationand mutation-based fuzzing at the compiler- and application-testing level, respectively, as enabled by static/dynamic analysis for extracting runtime API descriptions, a declarative, specification language for valid and diverse Python code generation, and a custom type-guided mutation strategy for format/structure-aware application input generation


PolyFuzz is a greybox fuzzer that holistically fuzzes a given multi-language system through cross-language coverage feedback and explicit modeling of the semantic relationships between inputs and branch predicates. PolyFuzz is extensible for supporting multilingual code using different language combinations and has been implemented for C/C++, Python, Java, and their combinations.


PolyCruise is a framework that enables holistic dynamic information flow analysis (DIFA) across heterogeneous languages hence security applications empowered by DIFA (e.g., vulnerability discovery) for multilingual software. PolyCruise combines a light language-specific analysis that computes symbolic dependencies in each language unit with a language-agnostic online data flow analysis guided by those dependencies, in a way that overcomes language heterogeneity.


PolyFax provides basic features, including repository crawler, commit classification, and language interaction categorization. Its precision and recall indicate the possibility of being applied for multiple purposes.


PCA is a well implemented data-dependence analyzer targeting c program, in which we applied our optimization such as partial call-path analysis and integer encoding in reaching-definition computation to improve efficiency and effectiveness. PCA-Mem is a case study for evaluation, our tool also supports many other data-dependence based applications such as taint analysis, bug detection and so on.