\begin{itemize}
\item \textbf{Global configuration file}: Some of the preface attributes remain more or less constant across generated scripts, such as author and url. Furthermore, there are some hardcoded values in the program that should be configurable, such as the default values for rulenames, position names, and error messages.\newline
It could be useful to have some kind of configuration file that collects these values and reuses them each time a script is generated.
\item \textbf{Test framework}: There are currently no tests for the tool. It should be possible to use the \texttt{Coccinelle} test framework. Tests could be something like checking if the generated scripts are syntactically correct, ie. parsable. It is however not easy to test correctness of e.g. the positions and stars since there is more than one way to do that correctly.
\item \textbf{Generic rule splitting}: The disjunction rule generation implementation currently doesn't lend itself very well to possible expansion. For instance, if there was another case where we would like to expand a rule into several rules, how could we do this in a generalised way? How should this work with several split rules?\newline
Example: any construct where the patch rule changes something other than itself, e.g. function declarations; if the declared function has a prototype, the prototype is changed as well in \texttt{patch} mode, but this has to be done explicitly with two rules in \texttt{context} mode.
\item \textbf{Stars and braces}: If a braced statement is starred, it would be nicer if the braces were not on the same lines as the stars.
\item \textbf{Character limit}: Ensuring character limit in the generated rule. This is currently implemented for the preface, but not for rule headers and script rules.
\end{itemize}
