M. Reddy, Swaroop Bhat, Nandana Chandrashekar, Sethupathy Venkatraman, P. Kanwal
{"title":"Language Agnostic Program Conformance Analysis","authors":"M. Reddy, Swaroop Bhat, Nandana Chandrashekar, Sethupathy Venkatraman, P. Kanwal","doi":"10.1109/INCET57972.2023.10170698","DOIUrl":null,"url":null,"abstract":"Conformance analysis is a crucial part of software development that is used for the verification of software systems. Most of the prominent techniques for testing are based on dynamic analysis. Although dynamic analysis handles run-time integration, it does not address the quality of the code and hence the maintainability of the software. Static analysis, which is the analysis of code without execution, can be used to mitigate these issues. Using this technique, the adherence of code to a coding standard can be ascertained. The use of a specific standard improves readability and code maintainability. Traditional methods used for this purpose have been language-specific, and support for user-specified guidelines has been poor.This paper presents a tool that checks the conformance of the source code with user-curated guidelines. A simple, intuitive, and concise manner to specify guidelines is introduced. These guidelines are language-agnostic, thus allowing a uniform style to express them for multiple languages. A library of predefined guidelines has been provided to facilitate rapid development, and methods to add new guidelines are also expounded. Additionally, these guidelines can be used to verify if certain programming constructs have been used. Thus, it brings the codebase closer to the requirement specification document, allowing the programmer to effortlessly implement the code without worrying about its conformance. Lastly, an universal coding metric and benchmarking tool named LAPCA Score is provided which quantifies the extent of guideline violations that can be used to measure the degree of code compliance.","PeriodicalId":403008,"journal":{"name":"2023 4th International Conference for Emerging Technology (INCET)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 4th International Conference for Emerging Technology (INCET)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/INCET57972.2023.10170698","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Conformance analysis is a crucial part of software development that is used for the verification of software systems. Most of the prominent techniques for testing are based on dynamic analysis. Although dynamic analysis handles run-time integration, it does not address the quality of the code and hence the maintainability of the software. Static analysis, which is the analysis of code without execution, can be used to mitigate these issues. Using this technique, the adherence of code to a coding standard can be ascertained. The use of a specific standard improves readability and code maintainability. Traditional methods used for this purpose have been language-specific, and support for user-specified guidelines has been poor.This paper presents a tool that checks the conformance of the source code with user-curated guidelines. A simple, intuitive, and concise manner to specify guidelines is introduced. These guidelines are language-agnostic, thus allowing a uniform style to express them for multiple languages. A library of predefined guidelines has been provided to facilitate rapid development, and methods to add new guidelines are also expounded. Additionally, these guidelines can be used to verify if certain programming constructs have been used. Thus, it brings the codebase closer to the requirement specification document, allowing the programmer to effortlessly implement the code without worrying about its conformance. Lastly, an universal coding metric and benchmarking tool named LAPCA Score is provided which quantifies the extent of guideline violations that can be used to measure the degree of code compliance.