Sign In to Follow Application
View All Documents & Correspondence

A System And Method For Certifying Application Using A Certification Platform

Abstract: ABSTRACT The embodiments herein relate to certifying applications and, more particularly to automate application certifying process in a software environment. The system fetches and analyzes the metadata of the input application and categorizes the application based on the metadata analysis. Based on the category of the application and the metadata of the application, automated or manual test cases are executed in a test environment. Further, the test results are collated and are published on an interface. Based on the test results, the certification process stake-holders can configure the certification platform as required. FIG. 2

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
27 June 2013
Publication Number
29/2013
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
patent@brainleague.com
Parent Application

Applicants

HCL Technologies Limited
at HCL Technologies Ltd, 50-53 Greams Road, Chennai- 600006

Inventors

1. Bharath Balakrishnan
HCL Technologies Ltd. Sterling Technopolis, 4/293, Old Mahabalipuram Road, Kandanchavadi Chennai (Madras) - 600096 Tamil Nadu - India
2. Rajesh Venkatesan
HCL Technologies Ltd. Sterling Technopolis, 4/293, Old Mahabalipuram Road, Kandanchavadi Chennai (Madras) - 600096 Tamil Nadu - India
3. Madhava Venkatesh Raghavan
HCL Technologies Ltd. Sterling Technopolis, 4/293, Old Mahabalipuram Road, Kandanchavadi Chennai (Madras) - 600096 Tamil Nadu - India
4. Balamuralikrishna Vengateson
HCL Technologies Ltd. Sterling Technopolis, 4/293, Old Mahabalipuram Road, Kandanchavadi Chennai (Madras) - 600096 Tamil Nadu - India
5. Rajesh Muruguan
HCL Technologies Ltd. Sterling Technopolis, 4/293, Old Mahabalipuram Road, Kandanchavadi Chennai (Madras) - 600096 Tamil Nadu - India

Specification

CLIAMS:CLAIMS

1. A method of automating certification of an application in a software environment, said method comprises:
categorizing said application under a specific category;
identifying modules supported by Application Programming Interface (API) of said application and creating a check list;
selecting a plurality of test cases corresponding to said identified modules;
executing said selected test cases; and
verifying results of said executed test cases.
2. The method as in claim 1, wherein said categorizing said application under a specific category further comprises:
collecting meta data of said plurality of Application Programming Interface (API) associated with said application;
analyzing said collected meta data; and
identifying at least one category based on said collected meta data.
3. The method as in claim 2, wherein said analyzing collected meta data further comprises comparing said collected meta data with a data base, wherein said database possesses information on a plurality of meta data information and corresponding application category information.
4. The method as in claim 3, wherein said plurality of meta data information and corresponding application category information are pre-configured with said database.
5. The method as in claim 1, wherein said application is tested under a testing environment.
6. The method as in claim 1, wherein said test cases are executed automatically.
7. The method as in claim 1, wherein said test cases are executed based on manual inputs.
8. A system for automating certification of an application in a software environment, said system provided with means configured for:
categorizing said application under a specific category using a certification module;
identifying modules supported by Application Programming Interface (API) of said application and creating a check list using said certification module;
selecting a plurality of test cases corresponding to said identified modules using said certification module;
executing said selected test cases using said certification module; and
verifying results of said executed test cases using said certification module.
9. The system as in claim 8, wherein said categorizing said application under a specific category further comprises:
collecting meta data of said plurality of Application Programming Interface (API) associated with said application using an analyzer module;
analyzing said collected meta data using said analyzer module; and
identifying at least one category based on said collected meta data using said analyzer module.
10. The system as in claim 9, wherein said analyzer module is configured to analyze said collected meta data by comparing said collected meta data with a data base, wherein said database possesses information on a plurality of meta data information and corresponding application category information.
11. The system as in claim 10, wherein said certification module provides means for preconfiguring said plurality of meta data information and corresponding application category information with said database.
12. The system as in claim 8, wherein said certification module provides means for testing said application under a testing environment.
13. The system as in claim 8, wherein said certification module is configured to automatically execute said test cases automatically.
14. The system as in claim 8, wherein said certification module is configured to execute said test cases based on manual inputs.

Dated: 27th June, 2013

Signature:

Vikram Pratap Singh Thakur
(Patent Agent)
,TagSPECI:FORM 2
The Patent Act 1970
(39 of 1970)
&
The Patent Rules, 2005

COMPLETE SPECIFICATION
(SEE SECTION 10 AND RULE 13)

TITLE OF THE INVENTION

“A System and Method for Certifying Application using a Certification Platform”

APPLICANTS:
Name : HCL Technologies Limited
Nationality : Indian
Address : HCL Technologies Ltd., 50-53 Greams
Road,Chennai – 600006, Tamil Nadu, India

The following Specification particularly describes and ascertains the nature of this invention and the manner in which it is to be performed:
FIELD OF INVENTION
[001] The embodiments herein relate to certifying applications and, more particularly to automate application certifying process in a software environment.

BACKGROUND
[002] In the Software industry, many applications are developed in a business environment using Software Development Kit (SDK) Application Programming Interfaces (APIs). The software applications developed using the APIs must be compatible with the platform and with other applications available on the platform.
[003] As the number of applications developed using the SDK on the platform is increasing, it becomes crucial for the stakeholders to ensure that the applications are reliable and are of high quality that impacts the system’s availability. Additionally, the software applications available on the platform must co-exist and interoperate with each other and with different versions of the applications. To check and validate the compatibility and interoperability aspects of the software applications available on the platform, the applications are certified prior to its deployment or usage.
[004] In another existing method of certifying the software applications, a software package, which comprises of supplemental information of the software including a software version, is automatically created. Based on the supplemental information available for the software application, a user or an administrator may use various policies to determine the updates required on the platform.
[005] In another existing method of certifying the software applications, the method allows software vendor tools to detect misused or unused data for a software application. Based on this information, the certifying authority can issue certificate of reliability for software products.
[006] In the light of the above discussion, the current existing methods fail to automate the software application certification process and to provide a faster, reliable and generic certification process.

SUMMARY
[007] In view of the foregoing, an embodiment herein provides a method of automating certification of an application in a software environment, the method comprises categorizing the application under a specific category; identifying modules supported by Application Programming Interface (API) of the application and creating a check list; selecting a plurality of test cases corresponding to the identified modules; executing the selected test cases; and verifying results of the executed test cases.
[008] Embodiments further disclose a system for automating certification of an application in a software environment, the system provided with means configured for categorizing the application under a specific category using a certification module; identifying modules supported by Application Programming Interface (API) of the application and creating a check list using the certification module; selecting a plurality of test cases corresponding to the identified modules using the certification module; executing the selected test cases using the certification module; and verifying results of the executed test cases using the certification module.
[009] These and other aspects of the embodiments herein will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings.

BRIEF DESCRIPTION OF THE FIGURES
[0010] The embodiments herein will be better understood from the following detailed description with reference to the drawings, in which:
[0011] FIG. 1 illustrates a block diagram of automated application certification system, according to embodiments as disclosed herein;
[0012] FIG. 2 illustrates deployment of certification platform in a software environment, according to embodiments as disclosed herein;
[0013] FIG. 3 illustrates a flow diagram that shows various steps involved in the process of automating the application certification process using the automated application certification system, according to embodiments as disclosed herein; and
[0014] FIG. 4 illustrates a computing environment implementing the application certification process, according to embodiments as disclosed herein.

DETAILED DESCRIPTION OF INVENTION
[0015] The embodiments herein and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the embodiments herein. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
[0016] The embodiments herein disclose a system and method to automate the application certification process by analyzing and categorizing applications based on the metadata of the SDK APIs used for developing the application. Referring now to the drawings, and more particularly to FIGS. 1 through 4, where similar reference characters denote corresponding features consistently throughout the figures, there are shown embodiments.
[0017] FIG. 1 illustrates a block diagram of automated application certification system, according to embodiments as disclosed herein. As depicted in the figure 1, the automated application certification system comprises of data collection module 102 to automatically collect and analyze metadata of the SDK APIs used for developing applications on a platform, a certification infrastructure module 103 which provisions an environment to execute the test cases, a testing module 104 to execute the automated / manual test cases, and a reporting module 105 to report the certification result to the certification process stake-holder.
[0018] In an embodiment, an application is developed using the SDK APIs supported on a specific platform. Hence, the application is dependent on the SDK APIs specific to a platform. For any specific release of the application, the application comprises of various SDK API modules. A checklist is maintained for each of these modules to test the functionality of the modules.

Table. 1
[0019] For example, the above table includes release name and version number of the platform on which the applications are developed along with the relevant modules. Further, each of these modules is categorized.
[0020] The checklist can be prepared automatically by analyzing the metadata of the application, or manually by editing the entries in the checklist.
[0021] For example, the well-known Android platform provides Android developers SDK tool kit that enables a developer to develop applications for Android platform. A checklist is prepared to certify the applications developed on the platform.
[0022] An application 101 to be certified by the certification process platform is fetched and analyzed by the Data collection module 102. The Data collection module 102 collects the metadata of the SDK APIs used to develop the application and analyzes the metadata of the application. In an embodiment, a metadata of the application that may be considered by the system may be SDK API dependencies of the application developed for each platform, version of the SDK API the application and so on. Further, based on the analysis of the metadata of the application, the application is categorized and a checklist is prepared for testing the SDK API modules for the application category.
[0023] The Certification Infrastructure module 103 ensures that the testing platform for the certification process is deployed as required for the test cases to be executed either automatically or manually. The Testing module 104 executes the test cases either manually or automatically based on the checklist available for testing the SDK APIs of the application. A collated report is generated after executing the manual and automated test cases. Further, the Reporting module 105 publishes the collated test report to the certification process stake-holder. Based on this report, the certification process stake-holders can take appropriate decision regarding the application certification process.
[0024] In an embodiment, the certification process stake-holder can be a platform owner, a certification engineer, an application developer, or a test engineer. The certification process stake-holders are assigned with different privileges to configure the certification platform. The certification platform authorizes the certification process stake-holders for appropriate privileges to configure the platform. For example, a test engineer is authorized to provide test cases to the Test Environment 202. A certification engineer is authorized to configure the certification platform 201. In a preferred embodiment, the privileges may be assigned and invoked based on information being configured by the user and/or type of account being chosen by the user during an initial registration process.
[0025] FIG. 2 illustrates deployment of certification platform in a software environment, according to embodiments as disclosed herein. As depicted in the figure, the certification platform comprises of a Test Environment 202 for executing manual and automated test cases and a Certification Portal 203 that notifies the process stake-holders with test results and acts as an interface to provide inputs to the Test Environment 202.
[0026] The Test Environment 202 comprises of an Application Analyzer 202.a, a Certification Lab Provisioning 202.b, an Automated Certification Test Execution 202.c, a Certification Result Collator 202.d, and a Certification Test Bed Instrumentor 202.e.
[0027] The Application Analyzer 202.a receives the application 101 for certification through the Certification Platform 201 deployed in a software environment. The Application Analyzer 202.a automatically collects the metadata of the application and analyzes the metadata. This collection is established by various suitable mechanisms that are specific to the language runtime that the platform and application are built on. For example, in languages like java and .NET the collection mechanism API’s can be used to understand the dependency of the application on specific API’s of the platform. The metadata of the application comprises information about the platform dependency which includes but is not limited to the modules of the platform, the exact API’s, the sequencing of the calls to the API’s, the version of the SDK API’s the application uses as well as any other code pattern that is required to understand dependency and audit the application. A Code Pattern is a pattern that identifies the application category encountered while performing pattern analysis or identifies a specific checklist that needs to be included while testing the application. This pattern can be a text based pattern or a specific sequence of instruction set that is encountered while performing a pattern analysis on the target application. As an example, a loop without boundary conditions initiates the analyzer to identify a security checklist. Further, the checklist configures the Test Environment to include tests to check if the application enters into an infinite loop during specific scenarios. Further, based on the metadata analysis the application is categorized. The analysis uniquely identifies and maps platform characteristics to different categories of the application. The application analyzer is configured categorize applications. For example, the use of the security API’s can directly map to a set of checklist to verify the application.. Similarly, use of deprecated API’s can trigger another checklist to be included to verify the deprecated API’s in the application. The Certification Lab Provisioning 202.b component is configured based on the application category and the metadata to create the required environment with all platform dependencies to test the application.
[0028] The Certification Lab Provisioning 202.b component provides a test environment (that includes both hardware and software requirements) for certifying the application. The test environment is decided based on the application metadata collected by the Analyzer 202.a, and the checklist used to validate the application SDK API modules specific to an application release. Further, the Automated Certification Test Execution 202.c includes the test scripts that are executed automatically. Further, manual test cases are executed within the Test Environment 202 along with the automated test cases. The Certification Test Bed Instrumentor 202.e verifies if the APIs used in the application employs API calls in an expected sequence along with the required set of parameters and with appropriate data types for the parameters. Further, the Certification Result Collator 202.d is used to collate the manual and automated test results.
[0029] In addition to the Test Environment 202, the Certification Platform 201 supports the Certification Portal 203 component. The Certification Portal 203 component is an interface for the users to configure the Test Environment 202. Configuration of the Test Environment 202 comprises of providing a work-flow, a checklist, a test-script, modifying the hard or software components within the Test Environment or the like. For example, a test engineer can provide additional test scripts for validating the modules of the application, or a certification engineer can include additional checklist entries for an application category. All the components deployed in the Test Environment 202 interact with the Certification Portal 203 component and displays the individual component activity result. Based on the test results, the Test Environment 202 components can be configured as required by the certification process stake-holders.
[0030] FIG. 3 illustrates a flow diagram that shows various steps involved in the process of automating the application certification process using the automated application certification system, according to embodiments as disclosed herein. As depicted in the flow-chart 300, initially the developer submits (301) the application to the automated certification process platform. The application analyzer collects (302) the metadata of the SDK APIs used for developing the application, and further based on the metadata analysis the application is categorized (303). A checklist is used to validate the modules supported by the SDK APIs. Based on the application metadata and the checklist, the test cases are executed (304) in the Test Environment. Further, if the test cases are executed (305) as expected, the certification process publishes (306) the result to the certification process stake-holders using the certification portal. Otherwise, the certification process stake-holders need to configure (307) the certification infrastructure as required. The various actions in method 300 may be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some actions listed in FIG. 3 may be omitted.
[0031] FIG. 4 illustrates a computing environment implementing the automation of application certification process, according to embodiments as disclosed herein. As depicted the computing environment 401 comprises at least one processing unit 404 that is equipped with a control unit 402 and an Arithmetic Logic Unit (ALU) 403, a memory 405, a storage unit 406, plurality of networking devices 408 and a plurality Input output (I/O) devices 407. The processing unit 404 is responsible for processing the instructions of the algorithm. The processing unit 404 receives commands from the control unit in order to perform its processing. Further, any logical and arithmetic operations involved in the execution of the instructions are computed with the help of the ALU 403.
[0032] The overall computing environment 401 can be composed of multiple homogeneous and/or heterogeneous cores, multiple CPUs of different kinds, special media and other accelerators. The processing unit 404 is responsible for processing the instructions of the algorithm. Further, the plurality of processing units 404 may be located on a single chip or over multiple chips.
[0033] The algorithm comprising of instructions and codes required for the implementation are stored in either the memory unit 405 or the storage 406 or both. At the time of execution, the instructions may be fetched from the corresponding memory 405 and/or storage 406, and executed by the processing unit 404.
[0034] In case of any hardware implementations various networking devices 408 or external I/O devices 407 may be connected to the computing environment to support the implementation through the networking unit and the I/O device unit.
[0035] The embodiments disclosed herein can be implemented through at least one software program running on at least one hardware device and performing network management functions to control the network elements. The network elements shown in Fig. 1 through 4 include blocks which can be at least one of a hardware device, or a combination of hardware device and software module.
[0036] The embodiment disclosed herein specifies a system for automating the application certification process. The mechanism allows metadata collection of the SDK APIs followed by executing and collating the automated test case report using the certification infrastructure and providing a system thereof. Therefore, it is understood that the scope of the protection is extended to such a program and in addition to a computer readable means having a message therein, such computer readable storage means contain program code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device.
[0037] The foregoing description of the specific embodiments will so fully reveal the general nature of the embodiments herein that others can, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments herein have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments herein can be practiced with modification within the spirit and scope of the claims as described herein.

Documents

Application Documents

# Name Date
1 2828-CHE-2013 FORM-9 27-06-2013.pdf 2013-06-27
1 2828-CHE-2013-AbandonedLetter.pdf 2020-02-17
2 2828-CHE-2013 FORM-18 27-06-2013.pdf 2013-06-27
2 2828-CHE-2013-FER.pdf 2019-08-13
3 abstract2828-CHE-2013.jpg 2013-07-11
3 Form 5.pdf 2013-07-01
4 Drawings.pdf 2013-07-01
4 FORM 3.pdf 2013-07-01
5 FORM 2.pdf 2013-07-01
6 Drawings.pdf 2013-07-01
6 FORM 3.pdf 2013-07-01
7 abstract2828-CHE-2013.jpg 2013-07-11
7 Form 5.pdf 2013-07-01
8 2828-CHE-2013 FORM-18 27-06-2013.pdf 2013-06-27
8 2828-CHE-2013-FER.pdf 2019-08-13
9 2828-CHE-2013 FORM-9 27-06-2013.pdf 2013-06-27
9 2828-CHE-2013-AbandonedLetter.pdf 2020-02-17

Search Strategy

1 Searchstrategy_2828che2013_09-08-2019.pdf