Surveyor - Extracting Specifications from Legacy Software with Elixir

Speaker:
Chris Beck


Abstract:

Legacy software can quickly become a team’s nemesis. A codebase earns the ‘legacy’ label the moment its maintainers lose confidence - and motivation - in it. During the onboarding process, you sometimes hear, ‘And then there’s this legacy system…’. This is shorthand for a part of the architecture that the team no longer believes can meet modern expectations of technology, structure or style.

Replacing legacy software is especially challenging if it was created ad hoc; in an agile, manner but undocumented. Without specifications. Estimating the effort required for a rewrite becomes little more than an educated guess, and nobody can be sure that every critical function has been accounted for.

Tools such as Cursor, Deepwiki and Claude can analyse code bases and assist with onboarding and documentation. But how do they work?

Can we create our own toolset and include game changing tools like Tidewave?

This talk will explore how commercial AI agents analyse code and demonstrate how these tools can be implemented in Elixir and on-premise.

Finally, we will introduce Surveyor: a toolkit that brings together these tools to generate documentation and specifications from a codebase.

Key Takeaways:

  • Show the techniques commercial tools use
  • Demonstrate how Elixir can be used to extract specifications from running software
  • Introduce Surveyor, a toolkit to create documentation and specifications

Target Audience:

  • Developers interested in Code Intelligence
  • Teams that would like to replace legacy software
  • Open source maintainers

Level: Intermediate

Tags: code-intelligence-requirements-engineering-documentation