# Planned Features for MokaPot ## JVM Elements - [ ] Generic signature. Currently the signatures of fields and methods (located in module `mokapot::types::signatures`) are aliased to `String`. We plan to extend it to structured ones (See `FieldType` and `MethodDescriptor`) to make it easier for type checking. ## Static Analysis - [ ] Fixed point analysis leveraging multiple CPU cores. The current implementation of fixed point analysis (See `mokapot::analysis::fixed_point::Analyzer`) uses only one CPU core. We plan to implement a `ParAnalyzer` to leverage multi-core CPUs for a faster analysis. ## Tests - [ ] Unit tests are needed to assure the correctness of MokaPot. See [Codecov](https://app.codecov.io/gh/henryhchchc/mokapot) for uncovered code. It would be nice if we can leverage [property-based tests](https://proptest-rs.github.io/proptest/) to exhaustively test the features. - [ ] [Doc tests](https://doc.rust-lang.org/rustdoc/write-documentation/documentation-tests.html) and example usage of APIs. ## CI - [ ] Run doc tests and include their coverage in the report. ## Modification of Byte Code - [ ] APIs for turning MokaPot data structures into JVM byte code. Such APIs enable the modification of JVM byte code in scenarios like instrumentation.