  In model-driven development (MDD) software emerges by systematically
transforming abstract models to concrete source code. Ideally, performing those
transformations is to a large extent the task of code generators. One approach
for developing a new code generator is to write a reference implementation and
separate it into handwritten and generatable code. Typically, the generator
developer manually performs this separation a process that is often
time-consuming, labor-intensive, difficult to maintain and may produce more
code than necessary. Software categories provide a way for separating code into
designated parts with defined dependencies, for example, "Business Logic" code
that may not directly use "Technical" code. This paper presents an approach
that uses the concept of software categories to semi-automatically determine
candidates for generated code. The main idea is to iteratively derive the
categories for uncategorized code from the dependencies of categorized code.
The candidates for generated or handwritten code finally are code parts
belonging to specific (previously defined) categories. This approach helps the
generator developer in finding candidates for generated code more easily and
systematically than searching by hand and is a step towards tool-supported
development of generative software.
