Automated table transformations from examples
AssigneeMicrosoft Technology Licensing, LLC
InventorsSumit Gulwani, William Robert Harris
Life of this patent
Estimating the term…
Abstract
Described herein are mechanisms for automatically generating a computer-executable program that transforms a first table in a first format to a second table in a second format by way of user-provided examples. A user provides an exemplary input table of a first format, where the input table may be a portion of the first table. The user also provides an exemplary output table of a second format, wherein contents of the output table correspond to contents of the input table. Based upon these user-provided examples, a table transform program is automatically generated, wherein the table transform program, when executed over the first table generates the second table.
Claims20
A method executed by a processor of a computing device, the method comprising:
- receiving, at the computing device, an input table that comprises a first cell having a first value assigned thereto;
- receiving, at the computing device, an output table that comprises a second cell having a second value assigned thereto;
- inferring, based upon the first value and the second value, a computer-executable program that causes the first value to be transformed to the second value;
- receiving a first table, wherein the input table is a portion of the first table;
- and
- executing the computer-executable program over the first table to transform the first table into a second table, the output table being a portion of the second table.
A computer-readable data storage device comprising instructions that, when executed by a processor, cause the processor to perform acts comprising:
- receiving an input table from a user, the input table comprising a first plurality of cells having first respective values assigned thereto, the input table being a portion of a first table;
- receiving an output table from the user, the output table comprising a second plurality of cells having second respective values assigned thereto, the first respective values being different from the second respective values;
- automatically inferring an algorithm that, when executed over the input table, causes the input table to be transformed to the output table;
- and
- executing the algorithm over the first table to generate a second table, wherein the output table is a portion of the second table.
A system comprising:
- at least one processor;
- and
- memory comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform acts comprising:
- receiving an input table that comprises a first cell having a first value assigned thereto;
- receiving an output table that comprises a second cell having a second value assigned thereto;
- inferring, based upon the first value and the second value, a computer-executable program that causes the first value to be transformed to the second value;
- receiving a first table, wherein the input table is a portion of the first table;
- and
- executing the computer-executable program over the first table to transform the first table into a second table, the output table being a portion of the second table.
Dependencies are inferred from the claim text.