Program Synthesis Without Full Specifications for Novel Applications