Pub Date : 2022-12-14DOI: 10.1142/s021819402250070x
Chunguang Zhang, Bixin Li, Lulu Wang, Haixin Xu, Tao Shao
With the emergence of mixed source software, the existing quality models are not able to better assess the community quality and autonomy controllability of mixed source software. To fill this gap, we propose a hierarchical model in this paper for quality assessment of mixed source software. In our model, the new attributes are proposed to meet the quality requirements of mixed source software based on the ISO/IEC 25010 standards, and a set of metrics are designed for the new attributes. The model evaluates the quality of mixed source software through quality attributes that have been quantified by the metrics. Applying our quality model to some mixed source software and comparing the model results with the actual situation, we verify whether our proposed two quality attributes, community intensity and autonomy controllability, can effectively assess the quality of mixed source software. The results of the experiments show that our model is indeed effective in assessing the quality of mixed source software. An important feature of our model is that the model has good flexibility, and the set of quality attributes and metrics can be adjusted freely, which provides a flexible and feasible way for various software quality assessment requirements.
{"title":"A Hierarchical Model for Quality Evaluation of Mixed Source Software Based on ISO/IEC 25010","authors":"Chunguang Zhang, Bixin Li, Lulu Wang, Haixin Xu, Tao Shao","doi":"10.1142/s021819402250070x","DOIUrl":"https://doi.org/10.1142/s021819402250070x","url":null,"abstract":"With the emergence of mixed source software, the existing quality models are not able to better assess the community quality and autonomy controllability of mixed source software. To fill this gap, we propose a hierarchical model in this paper for quality assessment of mixed source software. In our model, the new attributes are proposed to meet the quality requirements of mixed source software based on the ISO/IEC 25010 standards, and a set of metrics are designed for the new attributes. The model evaluates the quality of mixed source software through quality attributes that have been quantified by the metrics. Applying our quality model to some mixed source software and comparing the model results with the actual situation, we verify whether our proposed two quality attributes, community intensity and autonomy controllability, can effectively assess the quality of mixed source software. The results of the experiments show that our model is indeed effective in assessing the quality of mixed source software. An important feature of our model is that the model has good flexibility, and the set of quality attributes and metrics can be adjusted freely, which provides a flexible and feasible way for various software quality assessment requirements.","PeriodicalId":50288,"journal":{"name":"International Journal of Software Engineering and Knowledge Engineering","volume":"62 1","pages":"181-205"},"PeriodicalIF":0.9,"publicationDate":"2022-12-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76184327","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2022-12-10DOI: 10.1142/s0218194022500711
Taeyoung Kim, Suntae Kim, Duksan Ryu, Jaehyuk Cho
In Version Control System (VCS), a developer frequently uploads multiple tasks such as adding features, code refactoring, and fixing bugs, into a single commit and crumbles each task’s summary when writing a commit message. It causes code readers to feel challenged in understanding the developer’s past tasks within the commit history. To resolve this issue, we propose an automatic approach to generating a task summary to help comprehend multiple mixed tasks in a commit and developed tool support named Task summary Generator (TsGen). In our approach, we use the commit with a single task as input and identify the task to sort its elements sequentially. Then we generate feature vectors from each sorted element to train the Neural Machine Translation (NMT) model. Based on the trained NMT model, we generate the feature vector from each task of a commit with multiple tasks and put each of them into the model to provide the task summary. In evaluation, we compared the performance of TsGen with two existing methods for nine open-source projects. As a result, TsGen outperformed CoDiSum and Jiang’s NMT by 52.08% and 28.07% in BiLingual Evaluation Understudy (BLEU) scores. In addition, the human evaluation was carried out to demonstrate that TsGen helps understand mixed tasks in a commit and gained a 0.27 higher preference than the actual commit message.
{"title":"Deep Tasks Summarization for Comprehending Mixed Tasks in a Commit","authors":"Taeyoung Kim, Suntae Kim, Duksan Ryu, Jaehyuk Cho","doi":"10.1142/s0218194022500711","DOIUrl":"https://doi.org/10.1142/s0218194022500711","url":null,"abstract":"In Version Control System (VCS), a developer frequently uploads multiple tasks such as adding features, code refactoring, and fixing bugs, into a single commit and crumbles each task’s summary when writing a commit message. It causes code readers to feel challenged in understanding the developer’s past tasks within the commit history. To resolve this issue, we propose an automatic approach to generating a task summary to help comprehend multiple mixed tasks in a commit and developed tool support named Task summary Generator (TsGen). In our approach, we use the commit with a single task as input and identify the task to sort its elements sequentially. Then we generate feature vectors from each sorted element to train the Neural Machine Translation (NMT) model. Based on the trained NMT model, we generate the feature vector from each task of a commit with multiple tasks and put each of them into the model to provide the task summary. In evaluation, we compared the performance of TsGen with two existing methods for nine open-source projects. As a result, TsGen outperformed CoDiSum and Jiang’s NMT by 52.08% and 28.07% in BiLingual Evaluation Understudy (BLEU) scores. In addition, the human evaluation was carried out to demonstrate that TsGen helps understand mixed tasks in a commit and gained a 0.27 higher preference than the actual commit message.","PeriodicalId":50288,"journal":{"name":"International Journal of Software Engineering and Knowledge Engineering","volume":"7 1","pages":"207-229"},"PeriodicalIF":0.9,"publicationDate":"2022-12-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75870702","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2022-12-07DOI: 10.1142/s0218194022500723
Yichen Li, An Liu, Lei Zhao, Xiaofang Zhang
Code smell is an indicator of potential problems in a software design that have a negative impact on readability and maintainability. Hence, detecting code smells in a timely and effective manner can provide guides for developers in refactoring. Fortunately, many approaches like metric-based, heuristic-based, machine-learning-based and deep-learning-based have been proposed to detect code smells. However, existing methods, using the simple code representation to describe different code smells unilaterally, cannot efficiently extract enough rich information from source code. In addition, one code snippet often has several code smells at the same time and there is a lack of multi-label code smell detection based on deep learning. In this paper, we present a large-scale dataset for the multi-label code smell detection task since there is still no publicly sufficient dataset for this task. The release of this dataset would push forward the research in this field. Based on it, we propose a hybrid model with multi-level code representation to further optimize the code smell detection. First, we parse the code into the abstract syntax tree (AST) with control and data flow edges and the graph convolution network is applied to get the prediction at the syntactic and semantic level. Then we use the bidirectional long-short term memory network with attention mechanism to analyze the code tokens at the token-level in the meanwhile. Finally, we get the fusion prediction result of the models. Experimental results illustrate that our proposed model outperforms the state-of-the-art methods not only in single code smell detection but also in multi-label code smell detection.
{"title":"Hybrid Model with Multi-Level Code Representation for Multi-Label Code Smell Detection (077)","authors":"Yichen Li, An Liu, Lei Zhao, Xiaofang Zhang","doi":"10.1142/s0218194022500723","DOIUrl":"https://doi.org/10.1142/s0218194022500723","url":null,"abstract":"Code smell is an indicator of potential problems in a software design that have a negative impact on readability and maintainability. Hence, detecting code smells in a timely and effective manner can provide guides for developers in refactoring. Fortunately, many approaches like metric-based, heuristic-based, machine-learning-based and deep-learning-based have been proposed to detect code smells. However, existing methods, using the simple code representation to describe different code smells unilaterally, cannot efficiently extract enough rich information from source code. In addition, one code snippet often has several code smells at the same time and there is a lack of multi-label code smell detection based on deep learning. In this paper, we present a large-scale dataset for the multi-label code smell detection task since there is still no publicly sufficient dataset for this task. The release of this dataset would push forward the research in this field. Based on it, we propose a hybrid model with multi-level code representation to further optimize the code smell detection. First, we parse the code into the abstract syntax tree (AST) with control and data flow edges and the graph convolution network is applied to get the prediction at the syntactic and semantic level. Then we use the bidirectional long-short term memory network with attention mechanism to analyze the code tokens at the token-level in the meanwhile. Finally, we get the fusion prediction result of the models. Experimental results illustrate that our proposed model outperforms the state-of-the-art methods not only in single code smell detection but also in multi-label code smell detection.","PeriodicalId":50288,"journal":{"name":"International Journal of Software Engineering and Knowledge Engineering","volume":"84 1","pages":"1643-1666"},"PeriodicalIF":0.9,"publicationDate":"2022-12-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80675056","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2022-11-18DOI: 10.1142/s0218194022500656
Qing Mi, Luo Wang, Lisha Hu, Liwei Ou, Yang Yu
Being a critical factor affecting the maintainability and reusability of the software, code readability is growing crucial in modern software development, where a metric for classifying code readability levels is both applicable and desired. However, most prior research has treated code readability classification as a binary classification task due to the lack of labeled data. To support the training of multi-class code readability classification models, we propose an enhanced data augmentation approach that could be used to generate sufficient readability data and well train a multi-class code readability model. The approach includes the use of domain-specific data transformation and GAN-based data augmentation. We conduct a series of experiments to verify our augmentation approach and gain a state-of-the-art multi-class code readability classification performance with 69.5% Micro-F1, 54.0% Macro-F1 and 67.7% Macro-AUC. Compared to the results where no augmented data is used, the improvements on Micro-F1, Macro-F1 and Macro-AUC are significant with 6.9%, 11.3% and 11.2%, respectively. As an innovative work of proposing multi-class code readability classification and an enhanced code readability data augmentation approach, our method is proved to be effective.
{"title":"Improving Multi-Class Code Readability Classification with An Enhanced Data Augmentation Approach (130)","authors":"Qing Mi, Luo Wang, Lisha Hu, Liwei Ou, Yang Yu","doi":"10.1142/s0218194022500656","DOIUrl":"https://doi.org/10.1142/s0218194022500656","url":null,"abstract":"Being a critical factor affecting the maintainability and reusability of the software, code readability is growing crucial in modern software development, where a metric for classifying code readability levels is both applicable and desired. However, most prior research has treated code readability classification as a binary classification task due to the lack of labeled data. To support the training of multi-class code readability classification models, we propose an enhanced data augmentation approach that could be used to generate sufficient readability data and well train a multi-class code readability model. The approach includes the use of domain-specific data transformation and GAN-based data augmentation. We conduct a series of experiments to verify our augmentation approach and gain a state-of-the-art multi-class code readability classification performance with 69.5% Micro-F1, 54.0% Macro-F1 and 67.7% Macro-AUC. Compared to the results where no augmented data is used, the improvements on Micro-F1, Macro-F1 and Macro-AUC are significant with 6.9%, 11.3% and 11.2%, respectively. As an innovative work of proposing multi-class code readability classification and an enhanced code readability data augmentation approach, our method is proved to be effective.","PeriodicalId":50288,"journal":{"name":"International Journal of Software Engineering and Knowledge Engineering","volume":"20 1","pages":"1709-1731"},"PeriodicalIF":0.9,"publicationDate":"2022-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91222320","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2022-11-16DOI: 10.1142/s0218194022500760
Hussein Baalbaki, Hussein Hazimeh, Hassan Harb, Rafael Angarita
{"title":"KEMA++: A Full Representative Knowledge-Graph Embedding Model (036)","authors":"Hussein Baalbaki, Hussein Hazimeh, Hassan Harb, Rafael Angarita","doi":"10.1142/s0218194022500760","DOIUrl":"https://doi.org/10.1142/s0218194022500760","url":null,"abstract":"","PeriodicalId":50288,"journal":{"name":"International Journal of Software Engineering and Knowledge Engineering","volume":"17 14 1","pages":"1619-1641"},"PeriodicalIF":0.9,"publicationDate":"2022-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75398305","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2022-11-16DOI: 10.1142/s0218194022500644
Don Pathirage, Michael Shin, Dongsoo Jang
Security services can keep a system from security breaches for a while, but they are ultimately compromised as the system is deployed and used. This paper describes the modeling of security fault-tolerant (SFT) requirements, which can tolerate the failures of security services for systems. SFT requirements are specified together with the security services requirements so that they tolerate breaches of the security services. This paper addresses an approach for specifying and analyzing SFT requirements using a meta-model. Threats to systems are identified in the requirements specification and analysis phases, and SFT measures against the threats are described with security services. An electronic commerce system is selected to illustrate the approach.
{"title":"Modeling of Security Fault-Tolerant Requirements for Secure Systems","authors":"Don Pathirage, Michael Shin, Dongsoo Jang","doi":"10.1142/s0218194022500644","DOIUrl":"https://doi.org/10.1142/s0218194022500644","url":null,"abstract":"Security services can keep a system from security breaches for a while, but they are ultimately compromised as the system is deployed and used. This paper describes the modeling of security fault-tolerant (SFT) requirements, which can tolerate the failures of security services for systems. SFT requirements are specified together with the security services requirements so that they tolerate breaches of the security services. This paper addresses an approach for specifying and analyzing SFT requirements using a meta-model. Threats to systems are identified in the requirements specification and analysis phases, and SFT measures against the threats are described with security services. An electronic commerce system is selected to illustrate the approach.","PeriodicalId":50288,"journal":{"name":"International Journal of Software Engineering and Knowledge Engineering","volume":" ","pages":""},"PeriodicalIF":0.9,"publicationDate":"2022-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"47425752","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2022-11-04DOI: 10.1142/s0218194022500693
Yuan Meng, Tie Bao, Dawei Lin
{"title":"From SATD Recognition to an Interpretation Method Based on the Dataset","authors":"Yuan Meng, Tie Bao, Dawei Lin","doi":"10.1142/s0218194022500693","DOIUrl":"https://doi.org/10.1142/s0218194022500693","url":null,"abstract":"","PeriodicalId":50288,"journal":{"name":"International Journal of Software Engineering and Knowledge Engineering","volume":"184 1","pages":"157-180"},"PeriodicalIF":0.9,"publicationDate":"2022-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72472872","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2022-10-28DOI: 10.1142/s0218194022500681
Xiaoming Zhang, Shan Liu, Huiyong Wang
{"title":"Personalized Learning Path Recommendation for E-Learning Based on Knowledge Graph and Graph Convolutional Network","authors":"Xiaoming Zhang, Shan Liu, Huiyong Wang","doi":"10.1142/s0218194022500681","DOIUrl":"https://doi.org/10.1142/s0218194022500681","url":null,"abstract":"","PeriodicalId":50288,"journal":{"name":"International Journal of Software Engineering and Knowledge Engineering","volume":"70 1 1","pages":"109-131"},"PeriodicalIF":0.9,"publicationDate":"2022-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79614038","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}