Authors:
Advaita Datar
;
Amey Zare
;
Venkatesh R
and
Asia A
Affiliation:
TCS Research, Tata Research Development and Design Centre (TRDDC), Pune, India
Keyword(s):
Program Synthesis, Programming by Examples, Formal Specifications.
Abstract:
Banking, Financial Services, and Insurance (BFSI) software are calculation intensive. In general, these cal- culations are formally specified in spreadsheets, known as Calculation Specification (CS) sheets. CS sheets describe the calculation inputs and the business logic applied on these inputs to compute calculation output(s). Additionally, an illustration of the calculation is provided with at least one valid value for each calculation in- put. However, manual implementation of code corresponding to such CS sheets remains to be effort-intensive and tedious. This includes writing database queries to retrieve values for calculation inputs from the enterprise database and converting these queries and corresponding business logic to code. We propose a novel idea to synthesize code corresponding to CS sheets that will i) automatically identify the calculation inputs ii) formu- late a Programming By Example (PBE) specification for each calculation input where, PBE input is the textual de
scription of the calculation input, PBE output is the valid value provided in the calculation’s illustration, iii) then for each PBE specification a) synthesize a set of possible database queries, b) manually review them and mark the intended query, and finally iv) generate code, in desired target language, for all intended queries and the business logic specified in CS sheets.
(More)