Real-time analysis of application programming interfaces

US2016335168A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016335168-A1
Application numberUS-201514714014-A
CountryUS
Kind codeA1
Filing dateMay 15, 2015
Priority dateMay 15, 2015
Publication dateNov 17, 2016
Grant date

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.

Systems and methods disclosed herein may include real-time analysis of application programming interfaces (APIs). The method may include detecting that the programming code input is associated with at least a portion of an application programming interface (API). At least one coding error associated with the API may be detected based on static analysis of the code. The static analysis may include receiving an indication of a browser version, and comparing the received code with programming code for the API verified for the browser version, to detect the at least one coding error. Information identifying at least a first remediation action for correcting the at least one coding error may be received based at least in part on the at least one browser version. The at least a first remediation action may be provided for display to a user of the computing device.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computing device, comprising: a processing unit; memory; and a display; the computing device configured to perform operations for real-time analysis of application programming interfaces (APIs), the operations comprising: receiving a selection of at least one browser version from a plurality of browser versions available in an integrated development environment (IDE); receiving programming code input; detecting at least a portion of the programming code input is associated with an application programming interface (API); determining compatibility of the API with the at least one browser version; and providing an indication of the determined compatibility of the API. 2 . The computing device of claim 1 , wherein the operations further comprise: detecting the at least one browser version from the received programming code input. 3 . The computing device of claim 1 , wherein the operations further comprise: retrieving verified programming code for the API; and comparing the received programming code input with the verified programming code. 4 . The computing device of claim 3 , wherein the operations further comprise: detecting at least one coding error based on the comparing. 5 . The computing device of claim 4 , wherein the operations further comprise: determining at least one remediation action based on the detected at least one coding error; and while receiving at least a portion of the programming code input, providing the at least one remediation action for display by the computing device. 6 . The computing device of claim 1 , wherein the operations further comprise: communicating the at least one browser version and the at least a portion of the programming code input identifying the API to a remote server computer; and receiving from the remote server computer API analysis information, wherein the determining of the compatibility is based on the API analysis information. 7 . The computing device of claim 6 , wherein the API analysis information comprises at least one of the following: information identifying one or more browsers compatible with the API; information identifying at least another version of the API, the at least another version compatible with the at least one browser version; or at least one library for inclusion with the API, wherein the API using the at least one library is compatible with the at least one browser version. 8 . A method, implemented at least in part by a computing device, for real-time analysis of application programming interfaces (APIs), the method comprising: in response to at least receiving programming code input: detecting the programming code input is associated with at least a portion of an application programming interface (API); detecting at least one coding error associated with the API based on static analysis of the received programming code input, wherein the static analysis comprises: receiving an indication of at least one browser version for a browser associated with implementing the programming code; and comparing the received programming code with programming code for the API verified for the at least one browser version, to detect the at least one coding error; receiving based at least in part on the at least one browser version, information identifying at least a first remediation action for correcting the at least one coding error; and providing the at least a first remediation action for display to a user of the computing device. 9 . The method according to claim 8 , further comprising: receiving access to a plurality of APIs compatible with the at least one browser version; and comparing the at least a portion of the API with the plurality of APIs. 10 . The method according to claim 9 , further comprising: receiving programming code for at least one new API compatible with the at least one browser version; and updating the plurality of APIs with the at least one new API. 11 . The method according to claim 9 , further comprising: determining incompatibility of the API associated with the programming code input with the at least one browser version for the browser based on the comparison of the at least a portion of the API with the plurality of APIs. 12 . The method according to claim 11 , wherein determining the incompatibility of the API with the at least one browser version is further based at least in part on the at least one coding error. 13 . The method according to claim 11 , further comprising: determining at least a second remediation action for remediating the incompatibility. 14 . The method according to claim 13 , wherein the second remediation action comprises at least one of the following: a recommendation not to use the API; a recommendation to use an alternative API from the plurality of APIs; a recommendation comprising at least one change to the received programming code input, the at least one change resulting in compatibility of the API with the at least one browser version; and a recommendation to use at least one library with the API, wherein a combination of the API with the at least one library is compatible with the at least one browser version. 15 . The method according to claim 13 , further comprising: providing in real-time, the at least a second remediation action for display to the user of the computing device. 16 . A computer-readable storage medium storing computer-executable instructions for causing a computing device to perform a method for analysis of application programming interfaces (APIs), the stored instructions comprising: instructions to receive a selection of a browser version for a browser used in an integrated development environment (IDE); instructions to detect at least a portion of programming code input is associated with an application programming interface (API); instructions to use a static analysis engine at the computing device, performing static analysis of the programming code input to detect at least one coding error associated with the API; instructions to receive from a compatibility analysis engine, compatibility data indicating whether the programming code input associated with the API is compatible with the browser version; and while displaying at least a portion of the programming code input: providing for display, a first indication of the at least one coding error; and providing for display, a second indication of the compatibility data. 17 . The computer-readable storage medium according to claim 16 , wherein at least a portion of the compatibility analysis engine is implemented in a second computing device communicatively coupled to the computing device. 18 . The computer-readable storage medium according to claim 17 , the stored instructions further comprising instructions to communicate all of the following information to the compatibility analysis engine at the second computing device: the detected at least one coding error; information identifying the API; and the browser version. 19 . The computer-readable storage medium according to claim 16 , wherein the first indication comprises highlighting the at least one coding error, and the stored instructions further comprise: instructions to provide for display with the first indication, a notification of at least one remediation action for remediating the at least one coding error. 20 . The computer-readable storage medium according to claim 17 , the stored instructions further comprising

Assignees

Inventors

Classifications

  • G06F8/436Primary

    Semantic checking · CPC title

  • Analysis of software for verifying properties of programs (testing of software G06F11/3668) · 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 US2016335168A1 cover?
Systems and methods disclosed herein may include real-time analysis of application programming interfaces (APIs). The method may include detecting that the programming code input is associated with at least a portion of an application programming interface (API). At least one coding error associated with the API may be detected based on static analysis of the code. The static analysis may inclu…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F8/436. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Nov 17 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).