The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Mar. 19, 2024
Filed:
Dec. 07, 2021
Microsoft Technology Licensing, Llc, Redmond, WA (US);
Kiarash Rahmani, West Lafayette, IN (US);
Mohammad Raza, Redmond, WA (US);
Sumit Gulwani, Sammamish, WA (US);
Vu Minh Le, Redmond, WA (US);
Daniel James Morris, Seattle, WA (US);
Arjun Radhakrishna, Seattle, WA (US);
Gustavo Araujo Soares, Seattle, WA (US);
Ashish Tiwari, Sammamish, WA (US);
Microsoft Technology Licensing, LLC, Redmond, WA (US);
Abstract
Embodiments use a multi-modal approach to generate software programs that match a solution program description. The solution program description may include natural language, input-output examples, partial source code, desired operators, or other hints. Some embodiments use optimized prompts to a pre-trained language model to obtain initial candidate programs. Maximal program components are extracted and then recombined variously using component-based synthesis. Beam search reduces a solution program search space by discarding some candidates from a given synthesis iteration. Relevance metrics, string similarity metrics, operator frequency distributions, token rareness scores, and other optimizations may be employed. By virtue of optimizations and the multi-modal approach, a solution program may be obtained after fewer iterations than by use of a language model alone. The multi-modal approach is domain agnostic, as illustrated by examples using regular expression and cascading style sheet selector domain specific languages.