Skip to content
Gleb Zakharov edited this page Jan 20, 2019 · 4 revisions

Welcome to the apeman wiki!

Architecture

Work of the plugin may be described in terms of pipes and filters.

Basically, plugin make the following steps:

Filter 1. Generate candidates of the given analysis scope (with CandidatesOfScope). For every method we choose some candidates and check if they are valid.

Pipe 1. Return candidates for extraction.

Filter 2. Calculate features of every candidate with Features.

Pipe 2. Return candidates with ready features.

Filter 3. Predict probability for every candidate with ModelProvider.

Pipe 3. Return candidates with features and probabilities

Filter 4. Group all candidates and remain top-k of them.

Pipe 4. Return best candidates with features and probabilities.

Later we may add caching for candidates that don't change during code session. So all candidates from project will be calculating for once.

Launcher class control all this pipes and create interface for UI and other stuff.

Clone this wiki locally