Since understanding code is typically secondary to the main developer task, and experts have recommended user-centered-design when building tools to represent large amounts of information, Relo has had a deep focus on usability. Some key problems that we expect to be solved by Relo’s approach:
Traditionally understanding code is difficult because of delocalized plans – code elements related to the current task being in separate place on separate files. Relo brings them together in a single view.
Non-graphical tools for supporting understanding only focus on representing the code elements that matter for the current task, as opposed to also showing the relationships between the code elements – tools that have shown relationships in tree views have had limitations in being misleading to users trying to understand code. Relo brings these code elements and relationships in a single graphical view.
Traditional graphical reverse engineering tools provide no support for discovering which code elements are important, and are often faulted for showing too much information that the user needs to filter one-by-one. Relo therefore has built-in support to start small and then, using handles, to allow users to easily add and remove items.