-
1.
公开(公告)号:US12099822B2
公开(公告)日:2024-09-24
申请号:US17949390
申请日:2022-09-21
Applicant: Tata Consultancy Services Limited
Inventor: Anushri Jana , Ankita Shamrao Khadsare , Vaidehi Manoj Ghime , Ramanathan Venkatesh , Bharti Chimdyalwar , Shrawan Kumar
Abstract: This disclosure relates generally to method and system for identifying static analysis alarms based on semantics of changed source code. The disclosed technique is integrated in the proprietary static analysis tool that identifies semantics of the change and reports only impacted alarms. The method receives source code and a property over variables to be verified for identifying one or more impacted alarms. Further, an incremental analysis based on the one or more change program points are performed to mark one or more impacted functions in the current version of the source code and then generating a data flow analysis (DFA) and a program dependence graph (PDG) for the one or more impacted functions. Further, a change-based alarm identification technique is utilized for the one or more impacted static analysis alarms from the one or more impacted functions in the current version of source code based on semantics of change.
-
2.
公开(公告)号:US12050906B2
公开(公告)日:2024-07-30
申请号:US18060591
申请日:2022-12-01
Applicant: Tata Consultancy Services Limited
Inventor: Bharti Chimdyalwar , Anushri Jana , Shrawan Kumar
Abstract: Modern software verification tools are moving towards incremental verification of program properties to ensure safety of evolving software systems. However, not every change in the program impacts verification outcome of program properties. Moreover, analyzing these irrelevant changes adds to cost of incremental verification. A system and method have been provided for identifying relevant changes for incremental verification of evolving software. The disclosure provides a light-weight pre-analysis phase of identifying relevant changes that can lead to improvement in efficiency of all existing incremental verification techniques. To identify relevant changes, the system provides a relevant change identification technique (RCIT) with respect to program properties. The RCIT uses a variant of the strongly live variables (SLV) analysis to compute variables that are influencing the verification outcome of program properties. These variables are referred as value influencing variables (VIVs). The RCIT, then uses computed VIVs and changed statement information to identify relevant changes.
-
公开(公告)号:US11650907B2
公开(公告)日:2023-05-16
申请号:US17463622
申请日:2021-09-01
Applicant: Tata Consultancy Services Limited
Inventor: Bharti Chimdyalwar , Shrawan Kumar
CPC classification number: G06F11/3636 , G06F11/302 , G06F11/3075 , G06F11/3624
Abstract: Abstract interpretation based static analysis tools use relational/non-relational abstract domains to verify program properties. Precision and scalability of analysis vary basis usage of abstract domains. K-limited path-sensitive interval domain is an abstract domain that was conventionally proposed for analysis on industry strength programs. The domain maintains variables' intervals along a configurable K subsets of paths at each program point, which implicitly provides co-relation among variables. When the number of paths at the join point exceeds K, set of paths are partitioned into K subsets, arbitrarily, which results in loss of precision required to verify program properties. To address the above problem, embodiments of the present disclosure provide selective merging of paths in such a way that the intervals computed help verifying more properties. The selective path-sensitive method of the present disclosure is based on the knowledge of variables whose values influence the verification outcome of program properties.
-
公开(公告)号:US12112162B2
公开(公告)日:2024-10-08
申请号:US18146702
申请日:2022-12-27
Applicant: Tata Consultancy Services Limited
Inventor: Anushri Jana , Ankita Shamrao Khadsare , Vaidehi Manoj Ghime , Bharti Chimdyalwar
CPC classification number: G06F8/75
Abstract: For performing incremental analysis, analysis tools may reuse analysis information computed earlier for intermediate representation (IR) objects that remain unchanged between versions of program. But identification numbers (IDs) of unchanged IR objects change over versions due to changes with each run of incremental analysis, thereby making it difficult to reuse analysis information as tools require IDs of unchanged IR objects from previous versions. Present disclosure provides method and system for mapping IR objects for facilitating incremental analysis. The system first extracts attributes associated with each IR object present in previous version to create data structure for storing IR objects. The system then determines unchanged lines between versions to create line number map. Thereafter, system uses line number map to create ID-based IR mapping between ID of each unchanged IR object present in each unchanged line in current version and ID of each IR object stored in data structure.
-
公开(公告)号:US11275860B2
公开(公告)日:2022-03-15
申请号:US16814460
申请日:2020-03-10
Applicant: Tata Consultancy Services Limited
Inventor: Priyanka Darke , Bharti Chimdyalwar , Avriti Chauhan , Punit Shah , Shrawan Kumar , Mohammad Afzal , Venkatesh Ramanathan , Advaita Datar , Asia Akhtar , Tanha Shah
Abstract: A system and a method for verification of a source code are provided. There as many techniques available that can be used for verification of software codes, however, it is difficult to determine appropriate technique that can be utilized for verification of a given software code. In an embodiment, the system receives a source code encoded with one or more specifications to be verified. A static analysis of the source code is performed to identify program features of the source code. The program features may include, but are not limited to, multiple return paths, loops with an unstructured control flow, loops with arrays, short ranges and numerical loops. Based on the identification of the program features, verification techniques are applied to the source code for the verification. Each verification technique of the one or more verification techniques is applied for a predetermined period of time and in a predefined order.
-
-
-
-