Patent attributes
Software for a computer system may be automatically generated to reduce costs. Software may be automatically generated using a set of software components where each component may have one or more input properties and one or more output properties. A property may correspond to a type of data (e.g., a customer ID) used by the computer system. A graph may be created from the components where the graph includes component nodes for the components and property nodes for the input and output properties. To automatically generate software for a task, a task specification may be received that includes a task input property and a task output property. A path on the graph may be determined from the task input property and the task output property, and software for accomplishing the task may be generated using components on the path. The software may then be executed or stored for later execution.