The software is a collection of single files or many files which contain source code. The advances in Machine Learning algorithms and methods have inspired investigators to use these technical advancements for software program code assessment for software development work like software testing or defect prediction. This paper aims to pre-process the source code and apply machine learning strategies to do software program code analysis to extricate software program code features using AST and use these features of software program code for software engineering work. In the analysis, we analyse the Cyclomatic complexity of software program code and Halsted measures. Extricated sampled features are Max_cc: Maximum McCabe’s cyclomatic complexity, Moa: Measure, of Aggregation, Dam: Data Access Metric, Loc: Lines of Code, Lcom: Lack of cohesion in methods, Npm: Number of Public Methods, Cc: McCabe’s cyclomatic complexity, Ce: Efferent Couplings, Noc: Number of Children, Ca: Afferent couplings, Rfc: Response for a Class.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Source Code Pre-processing and Analysis to Extricate Features Using Abstract Syntax Tree

  • Rahul Kapse,
  • Bharati Harsoor

摘要

The software is a collection of single files or many files which contain source code. The advances in Machine Learning algorithms and methods have inspired investigators to use these technical advancements for software program code assessment for software development work like software testing or defect prediction. This paper aims to pre-process the source code and apply machine learning strategies to do software program code analysis to extricate software program code features using AST and use these features of software program code for software engineering work. In the analysis, we analyse the Cyclomatic complexity of software program code and Halsted measures. Extricated sampled features are Max_cc: Maximum McCabe’s cyclomatic complexity, Moa: Measure, of Aggregation, Dam: Data Access Metric, Loc: Lines of Code, Lcom: Lack of cohesion in methods, Npm: Number of Public Methods, Cc: McCabe’s cyclomatic complexity, Ce: Efferent Couplings, Noc: Number of Children, Ca: Afferent couplings, Rfc: Response for a Class.