Charles Explorer logo
🇬🇧

AskTheCode

Publication

Abstract

A common way to search for causes of program errors is to manually explore the code or to use a debugger. It is often a tedious process, especially if the code base is large and complicated.

AskTheCode wants to change that, being a Microsoft Visual Studio extension for C# to enable developers to gather crucial information about the code semantics. Its main idea is pretty simple - the user selects an assertion in the code and AskTheCode attempts to find any inputs to the program that can break it.

The user can then see all the inputs violating the assertion and replay the particular error trace to see how it happened. Due to the high complexity of the problem, it is not guaranteed to find the complete results every time.

Nevertheless, even partial information can save the user a lot of time (by not having to manually inspect the call sites that are "safe").