Industrial Consultancy & Sponsored Research (IC&SR) , IIT Madras

A System and Method for Bug Identification and Fault Localization Through Domain-ontology

Technology Category/Market

Category – Information & Communication Technology (ICT), Software Debugging.

Applications – Software engineering, software validation, software testing, software debugging. 

Market –  Debugging software market size was valued at around USD 638 Million in 2021 and is projected to reach USD 2022 Million by 2030, growing at a CAGR of 13.66% from 2023 to 2030.

Image

Targeted Industries

Watermarking IP design,

Electronic circuits

Problem Statement

  • Debugging is a major component that ensures proper functioning of the program. The existing debuggers and fault localization systems are restricted only to programs and do not consider any knowledge apart from the programs.
  • Applications are usually developed in a programming language and are to be operated in a particular domain. Typically, debuggers find it difficult to efficiently consider the corresponding domain-knowledge. Additionally, standardized procedures for instrumenting programs and generating execution-traces are challenges faced while performing a validation task.
  • Further, the thoughts of a programmer, and the reason and explanations for the code written by the developers are not documented in existing debugging methods. There are separate formal representations available to the programs, execution of the programs and the domain-knowledge. However, these representations are not inter-operative with each other.
  • Thus, there is need for a system and method that automatically identifying bugs and generating explanations of the identified bugs.

Technology

The present invention provides a method for automatically identifying bugs and a portion of a code responsible for bugs in a program.

  1. The method integrates domain-trace and domain-ontology to identify bugs. A domain-ontology-based Program Assertion (DOPA) framework (Fig.1) is configured to integrate formal representations available to the program, execution of the program, and domain-knowledge, thereby making these representations inter-operative to identify bugs.

  2. The DOPA framework instruments a program provided by a user, wherein execution-trace file from the instrumented program is computed and stored during run-time using a Resource Description Framework (RDF). Fig. 2.
  3. The domain-ontology (Fig.4) is created by the user and subsequently, a domain-trace is generated. Further, the domain-trace and the domain-ontology are integrated and fed inside a reasoner to identify the bugs in the program.
  4. Subsequently, the bugs and individuals of the bugs are identified. Thereafter, explanations of the identified bugs are generated using items of execution-trace and domain-ontology. (Fig. 3)
  5. Subsequently, the identified bugs and the identified explanations related to the bugs are presented to the user. (refer Fig.5)

Key Features/Value Proposition

  1. Automatic debugging using machine-processable domain-ontology, wherein portions of the code responsible for the bugs are automatically identified.
  2. Ontology is developed as a one-time job and can be used for all the programs developed for a domain.
  3. The invention works with the programs developed in any imperative languages and the ontology useful in documentation plays a key role to identify bugs in the programs.
  4. Can be used in any applications developed in Java, C#, Scala, or other programming languages.
Questions about this Technology?

Contact for Licensing

Research Lab​

Prof. Rupesh Nasre

Prof. P. Sreenivasa Kumar,

Dept. of Computer Science & Engineering

Intellectual Property

  • IITM IDF Ref. 2137
  • IN 202141027824
  • PCT/IN2022/050562

Technology Readiness Level

TRL – 4,

Technology validated in lab.

error: Content is protected !!