Programming environment augment with automated dialog system assistance

US10776082B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10776082-B2
Application numberUS-201816202759-A
CountryUS
Kind codeB2
Filing dateNov 28, 2018
Priority dateNov 28, 2018
Publication dateSep 15, 2020
Grant dateSep 15, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods, systems and computer program products for augmenting a programming environment for developing software code using an automated dialog system are provided herein. A computer-implemented method includes monitoring actions taken in the programming environment, determining intent of the actions taken, and generating a natural language dialog in a graphical user interface of the automated dialog system. The natural language dialog comprises suggested additional actions to be taken based at least in part on the determined intent, where the suggested additional actions affect code files in the programming environment. The computer-implemented method also includes providing, in the graphical user interface, user-activatable interface features for selecting respective ones of the suggested additional actions, and modifying one or more of the code files in the programming environment in accordance with a given suggested additional action, responsive to detecting selection of a given user-activatable interface feature corresponding to the given suggested additional action.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising steps of: monitoring one or more actions taken in a programming environment for developing software code; determining intent of the one or more actions taken in the programming environment, wherein said determining comprises analyzing a plurality of elements in the programming environment to determine the intent, wherein the plurality of elements comprise one or more program constructs, wherein the one or more program constructs comprise at least one of (i) file names, (ii) project names, (iii) function names, (iv) function parameter names, and (v) variable names, and wherein said analyzing the plurality of elements comprises, for a given one of the program constructs: determining word boundaries in the given program construct using at least one of: changes in case and special characters; dividing the given program construct into one or more words based at least in part on the determined word boundaries; obtaining a set of dictionary terms for the one or more words; performing alignment with one or more external documents for each of the obtained set of dictionary terms; and utilizing the aligned external documents to determine the intent; generating a natural language dialog in a graphical user interface of an automated dialog system associated with the programming environment, the natural language dialog comprising one or more suggested additional actions to be taken in the programming environment based at least in part on the determined intent, wherein the one or more suggested additional actions comprise one or more actions that affect code of one or more code files in the programming environment; providing, in the graphical user interface, one or more user-activatable interface features for selecting respective ones of the one or more suggested additional actions; and modifying one or more of the code files in the programming environment in accordance with a given one of the one or more suggested additional actions, responsive to detecting selection of a given one of the user-activatable interface features corresponding to the given suggested additional action; wherein the steps are carried out by at least one processing device. 2. The computer-implemented method of claim 1 , wherein the one or more program constructs comprise at least one of: comments in the code; code inputs; code outputs; and code objectives. 3. The computer-implemented method of claim 1 , wherein said obtaining the set of dictionary terms for the one or more words comprises, for a given word not having an associated term in the dictionary: selecting a set of surrounding dictionary terms for the given word; and for each term in the set of surrounding dictionary terms, checking for sequential alphabet containment match to derive a corresponding dictionary term for the given word. 4. The computer-implemented method of claim 1 , wherein said performing the alignment comprises keyword matching respective ones of the obtained set of dictionary terms with words in the external documents. 5. The computer-implemented method of claim 1 , wherein the external documents comprise at least one of: code snippets from a code snippet repository; alternative libraries from an alternative library repository; code from a trusted code repository; and web sources from a trusted web sources repository. 6. The computer-implemented method of claim 1 , wherein said generating the natural language dialog comprises utilizing a natural language model adapted to a domain of the programming environment to wrap natural language phrases around a core response. 7. The computer-implemented method of claim 6 , wherein the core response comprises a snippet extracted from an external document, the snippet comprising at least one of a web quote, a library documentation snippet, a code snippet, a programming practice manual snippet, and an integrated development environment documentation snippet. 8. The computer-implemented method of claim 1 , wherein the given suggested additional action comprises insertion of code into a given one of the code files in the programming environment. 9. The computer-implemented method of claim 1 , wherein the given suggested additional action comprises upgrading one or more libraries utilized in a given one of the code files in the programming environment. 10. The computer-implemented method of claim 1 , wherein the given suggested additional action comprises tracing a code anomaly in a given one of the code files in the programming environment. 11. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by at least one computing device to cause the at least one computing device to perform steps of: monitoring one or more actions taken in a programming environment for developing software code; determining intent of the one or more actions taken in the programming environment wherein said determining comprises analyzing a plurality of elements in the programming environment to determine the intent, wherein the plurality of elements comprise one or more program constructs, wherein the one or more program constructs comprise at least one of (i) file names, (ii) project names, (iii) function names, (iv) function parameter names, and (v) variable names, and wherein said analyzing the plurality of elements comprises, for a given one of the program constructs: determining word boundaries in the given program construct using at least one of: changes in case and special characters; dividing the given program construct into one or more words based at least in part on the determined word boundaries; obtaining a set of dictionary terms for the one or more words; performing alignment with one or more external documents for each of the obtained set of dictionary terms; and utilizing the aligned external documents to determine the intent; generating a natural language dialog in a graphical user interface of an automated dialog system associated with the programming environment, the natural language dialog comprising one or more suggested additional actions to be taken in the programming environment based at least in part on the determined intent, wherein the one or more suggested additional actions comprise one or more actions that affect code of one or more code files in the programming environment; providing, in the graphical user interface, one or more user-activatable interface features for selecting respective ones of the one or more suggested additional actions; and modifying one or more of the code files in the programming environment in accordance with a given one of the one or more suggested additional actions, responsive to detecting selection of a given one of the user-activatable interface features corresponding to the given suggested additional action. 12. A system comprising: a memory; and at least one processor coupled to the memory and configured for: monitoring one or more actions taken in a programming environment for developing software code; determining intent of the one or more actions taken in the programming environment, wherein said determining comprises analyzing a plurality of elements in the programming environment to determine the intent, wherein the plurality of elements comprise one or more program constructs, wherein the one or more program constructs comprise at least one of (i) file names, (ii) project names, (iii) function names, (iv) function parameter names, and (v) variable names, and wherein said analyzing the plurality of elements comprises, for a given one of the progra

Assignees

Inventors

Classifications

  • Help systems · CPC title

  • using statistical methods · CPC title

  • G06F3/0482Primary

    Interaction with lists of selectable items, e.g. menus · CPC title

  • Discourse or dialogue representation · CPC title

  • Dictionaries · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10776082B2 cover?
Methods, systems and computer program products for augmenting a programming environment for developing software code using an automated dialog system are provided herein. A computer-implemented method includes monitoring actions taken in the programming environment, determining intent of the actions taken, and generating a natural language dialog in a graphical user interface of the automated d…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F3/0482. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 15 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).