[vc_empty_space][vc_empty_space]
Feature identification of program source code using regular expression
Tampubolon A.P.a, Hendradjaya B.a, Sunindyo W.D.a
a School of Electrical and Informatics, Institut Teknologi Bandung, Indonesia
[vc_row][vc_column][vc_row_inner][vc_column_inner][vc_separator css=”.vc_custom_1624529070653{padding-top: 30px !important;padding-bottom: 30px !important;}”][/vc_column_inner][/vc_row_inner][vc_row_inner layout=”boxed”][vc_column_inner width=”3/4″ css=”.vc_custom_1624695412187{border-right-width: 1px !important;border-right-color: #dddddd !important;border-right-style: solid !important;border-radius: 1px !important;}”][vc_empty_space][megatron_heading title=”Abstract” size=”size-sm” text_align=”text-left”][vc_column_text]© 2016 IEEE.A software application is a collection of various features that are developed to meet the need of particular purposes. To reduce time to develop and to increase software quality, developers reuse similar features from another software. Before reusing the features, developers need to know what are features in the software. The lack or absence of complete documentation may hinder the process of understanding the features. However the application usually comes with the source code. Reading the source code maybe the only option if the documentation is not found. In this paper, we propose a model to reverse engineering a source code to find information about features in software and its dependency. To find features in the source code, we use regular expressions (regex) to find important elements and their dependencies. A call graph is then generated to help understanding these elements. The model has been implemented and have been validated to several case studies. Finding the features in source code depends entirely on the language of the source code. Our research confirms that customizing the pattern in regex easier than scanning and parsing the language syntax to get the features.[/vc_column_text][vc_empty_space][vc_separator css=”.vc_custom_1624528584150{padding-top: 25px !important;padding-bottom: 25px !important;}”][vc_empty_space][megatron_heading title=”Author keywords” size=”size-sm” text_align=”text-left”][vc_column_text]Call graphs,Feature identification,Feature location,Language syntax,Program source codes,Regular expressions,Software applications,Software Quality[/vc_column_text][vc_empty_space][vc_separator css=”.vc_custom_1624528584150{padding-top: 25px !important;padding-bottom: 25px !important;}”][vc_empty_space][megatron_heading title=”Indexed keywords” size=”size-sm” text_align=”text-left”][vc_column_text]Call graph,Feature location,Regular expression,Reverse engineering[/vc_column_text][vc_empty_space][vc_separator css=”.vc_custom_1624528584150{padding-top: 25px !important;padding-bottom: 25px !important;}”][vc_empty_space][megatron_heading title=”Funding details” size=”size-sm” text_align=”text-left”][vc_column_text][/vc_column_text][vc_empty_space][vc_separator css=”.vc_custom_1624528584150{padding-top: 25px !important;padding-bottom: 25px !important;}”][vc_empty_space][megatron_heading title=”DOI” size=”size-sm” text_align=”text-left”][vc_column_text]https://doi.org/10.1109/ICODSE.2016.7936133[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/4″][vc_column_text]Widget Plumx[/vc_column_text][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row][vc_row][vc_column][vc_separator css=”.vc_custom_1624528584150{padding-top: 25px !important;padding-bottom: 25px !important;}”][/vc_column][/vc_row]