Flowistry is an IDE plugin for Rust that analyzes information flow to help developers focus on relevant code.
The tool solves the problem of navigating large functions by determining which pieces of code can influence or be influenced by a selected variable or expression. When you click on a target in the editor, Flowistry fades out all unrelated code, leaving only the portions that have a data dependency relationship with your selection. This approach is grounded in a formal algorithm for modular information flow analysis through ownership, published at PLDI 2022.
Flowistry suits developers reading unfamiliar Rust code, particularly when trying to understand the role of a specific variable or argument within a complex function. The tool integrates directly into VSCode as an extension, making it accessible without additional setup beyond installation from the marketplace. You should be aware of several limitations: the tool does not fully handle interior mutability, focus regions may sometimes include more code than expected, not all code is selectable, and nested functions including closures and async blocks cannot be analyzed together.
Development activity shows consistent engagement with the codebase through regular commits addressing both bug fixes and feature improvements. The project maintains responsiveness to user-reported issues and incorporates feedback into updates. Documentation is thorough, with a detailed FAQ section addressing common questions and known limitations, indicating active communication with users about the tool's capabilities and constraints.