首页 > 最新文献

2019 26th Asia-Pacific Software Engineering Conference (APSEC)最新文献

英文 中文
Message from the APSEC 2019 Program Chairs APSEC 2019项目主席的讲话
Pub Date : 2019-12-01 DOI: 10.1109/apsec48747.2019.00006
{"title":"Message from the APSEC 2019 Program Chairs","authors":"","doi":"10.1109/apsec48747.2019.00006","DOIUrl":"https://doi.org/10.1109/apsec48747.2019.00006","url":null,"abstract":"","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"126 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128452772","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Automatic Identification of Assumptions from the Hibernate Developer Mailing List 自动识别Hibernate开发者邮件列表中的假设
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00060
Ruiyin Li, Peng Liang, Chen Yang, Georgios Digkas, A. Chatzigeorgiou, Zhuang Xiong
During the software development life cycle, assumptions are an important type of software development knowledge that can be extracted from textual artifacts. Analyzing assumptions can help to, for example, comprehend software design and further facilitate software maintenance. Manual identification of assumptions by stakeholders is rather time-consuming, especially when analyzing a large dataset of textual artifacts. To address this problem, one promising way is to use automatic techniques for assumption identification. In this study, we conducted an experiment to evaluate the performance of existing machine learning classification algorithms for automatic assumption identification, through a dataset extracted from the Hibernate developer mailing list. The dataset is composed of 400 "Assumption" sentences and 400 "Non-Assumption" sentences. Seven classifiers using different machine learning algorithms were selected and evaluated. The experiment results show that the SVM algorithm achieved the best performance (with a precision of 0.829, a recall of 0.812, and an F1-score of 0.819). Additionally, according to the ROC curves and related AUC values, the SVM-based classifier comparatively performed better than other classifiers for the binary classification of assumptions.
在软件开发生命周期中,假设是一种重要的软件开发知识类型,可以从文本工件中提取出来。例如,分析假设可以帮助理解软件设计并进一步促进软件维护。由涉众手动识别假设是相当耗时的,特别是在分析大量文本工件数据集时。为了解决这个问题,一个有希望的方法是使用自动假设识别技术。在这项研究中,我们通过从Hibernate开发者邮件列表中提取的数据集,进行了一项实验,以评估现有机器学习分类算法在自动假设识别方面的性能。该数据集由400个“假设”句子和400个“非假设”句子组成。选择并评估了使用不同机器学习算法的七个分类器。实验结果表明,SVM算法取得了最好的性能(准确率为0.829,召回率为0.812,f1得分为0.819)。此外,根据ROC曲线和相关AUC值,基于svm的分类器相对于其他分类器在假设二值分类方面表现更好。
{"title":"Automatic Identification of Assumptions from the Hibernate Developer Mailing List","authors":"Ruiyin Li, Peng Liang, Chen Yang, Georgios Digkas, A. Chatzigeorgiou, Zhuang Xiong","doi":"10.1109/APSEC48747.2019.00060","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00060","url":null,"abstract":"During the software development life cycle, assumptions are an important type of software development knowledge that can be extracted from textual artifacts. Analyzing assumptions can help to, for example, comprehend software design and further facilitate software maintenance. Manual identification of assumptions by stakeholders is rather time-consuming, especially when analyzing a large dataset of textual artifacts. To address this problem, one promising way is to use automatic techniques for assumption identification. In this study, we conducted an experiment to evaluate the performance of existing machine learning classification algorithms for automatic assumption identification, through a dataset extracted from the Hibernate developer mailing list. The dataset is composed of 400 \"Assumption\" sentences and 400 \"Non-Assumption\" sentences. Seven classifiers using different machine learning algorithms were selected and evaluated. The experiment results show that the SVM algorithm achieved the best performance (with a precision of 0.829, a recall of 0.812, and an F1-score of 0.819). Additionally, according to the ROC curves and related AUC values, the SVM-based classifier comparatively performed better than other classifiers for the binary classification of assumptions.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125276639","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
Reinforcement Learning of Code Search Sessions 代码搜索会话的强化学习
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00068
Wei Li, Shuhan Yan, Beijun Shen, Yuting Chen
Searching and reusing online code is a common activity in software development. Meanwhile, like many general-purposed searches, code search also faces the session search problem: in a code search session, the user needs to iteratively search for code snippets, exploring new code snippets that meet his/her needs and/or making some results highly ranked. This paper presents Cosoch, a reinforcement learning approach to session search of code documents (code snippets with textual explanations). Cosoch is aimed at generating a session that reveals user intentions, and correspondingly searching and reranking the resulting documents. More specifically, Cosoch casts a code search session into a Markov decision process, in which rewards measuring the relevances between the queries and the resulting code documents guide the whole session search. We have built a dataset, say CosoBe, from StackOverflow, containing 103 code search sessions with 378 pieces of user feedback. We have also evaluated Cosoch on CosoBe. The evaluation results show that Cosoch achieves an average NDCG@3 score of 0.7379, outperforming StackOverflow by 21.3%.
搜索和重用在线代码是软件开发中常见的活动。同时,与许多通用搜索一样,代码搜索也面临会话搜索问题:在一个代码搜索会话中,用户需要迭代地搜索代码片段,探索满足自己需求的新代码片段,或者使某些结果排名靠前。本文介绍了Cosoch,一种用于代码文档(带有文本解释的代码片段)会话搜索的强化学习方法。Cosoch旨在生成一个显示用户意图的会话,并相应地搜索和重新排序结果文档。更具体地说,Cosoch将代码搜索会话转换为马尔可夫决策过程,其中度量查询和结果代码文档之间的相关性的奖励指导整个会话搜索。我们已经从StackOverflow建立了一个数据集,比如CosoBe,其中包含103个代码搜索会话和378条用户反馈。我们还在CosoBe上对Cosoch进行了评估。评价结果表明,Cosoch的NDCG@3平均得分为0.7379,优于StackOverflow 21.3%。
{"title":"Reinforcement Learning of Code Search Sessions","authors":"Wei Li, Shuhan Yan, Beijun Shen, Yuting Chen","doi":"10.1109/APSEC48747.2019.00068","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00068","url":null,"abstract":"Searching and reusing online code is a common activity in software development. Meanwhile, like many general-purposed searches, code search also faces the session search problem: in a code search session, the user needs to iteratively search for code snippets, exploring new code snippets that meet his/her needs and/or making some results highly ranked. This paper presents Cosoch, a reinforcement learning approach to session search of code documents (code snippets with textual explanations). Cosoch is aimed at generating a session that reveals user intentions, and correspondingly searching and reranking the resulting documents. More specifically, Cosoch casts a code search session into a Markov decision process, in which rewards measuring the relevances between the queries and the resulting code documents guide the whole session search. We have built a dataset, say CosoBe, from StackOverflow, containing 103 code search sessions with 378 pieces of user feedback. We have also evaluated Cosoch on CosoBe. The evaluation results show that Cosoch achieves an average NDCG@3 score of 0.7379, outperforming StackOverflow by 21.3%.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128929333","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Towards a Formal Approach to Defining and Computing the Complexity of Component Based Software 基于组件的软件复杂性的形式化定义和计算方法
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00052
Yongxin Zhao, Xiujuan Zhang, Ling Shi, Gan Zeng, Feng Sheng, Shuang Liu
With the rapid development of software engineering and the widely adoption of software systems in various domains, the requirement for software systems is becoming more and more complex, which results in very complex software systems. Motivated by the principle of divide and conquer, component based software development is an effective way of managing the complexity in software development. In this paper, we propose a calculus to formally describe the functional and performance specification of component based software and provide formal semantics for the proposed calculus. Then we provide a method to measure the dynamic complexity of software compositions based on the proposed calculus. Finally, we define a set of algebraic laws to manifest the complexity relations between different functionally equivalent components. We conduct a case study with a real software system and the results show that our method is able to calculate the dynamic complexity of component based systems, and the complexity can be reduced based on our algebraic laws.
随着软件工程的迅速发展和软件系统在各个领域的广泛应用,对软件系统的需求越来越复杂,导致了非常复杂的软件系统。在分而治之原则的推动下,基于组件的软件开发是管理软件开发复杂性的有效方法。在本文中,我们提出了一个演算来形式化地描述基于组件的软件的功能和性能规范,并为所提出的演算提供了形式化的语义。在此基础上,提出了一种测量软件组合动态复杂性的方法。最后,我们定义了一组代数定律来表示不同功能等价分量之间的复杂性关系。以实际软件系统为例进行了算例研究,结果表明该方法能够计算基于组件的系统的动态复杂度,并且根据代数规律可以降低系统的动态复杂度。
{"title":"Towards a Formal Approach to Defining and Computing the Complexity of Component Based Software","authors":"Yongxin Zhao, Xiujuan Zhang, Ling Shi, Gan Zeng, Feng Sheng, Shuang Liu","doi":"10.1109/APSEC48747.2019.00052","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00052","url":null,"abstract":"With the rapid development of software engineering and the widely adoption of software systems in various domains, the requirement for software systems is becoming more and more complex, which results in very complex software systems. Motivated by the principle of divide and conquer, component based software development is an effective way of managing the complexity in software development. In this paper, we propose a calculus to formally describe the functional and performance specification of component based software and provide formal semantics for the proposed calculus. Then we provide a method to measure the dynamic complexity of software compositions based on the proposed calculus. Finally, we define a set of algebraic laws to manifest the complexity relations between different functionally equivalent components. We conduct a case study with a real software system and the results show that our method is able to calculate the dynamic complexity of component based systems, and the complexity can be reduced based on our algebraic laws.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"126 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125470669","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Towards Non-Invasive Recognition of Developers' Flow States with Computer Interaction Traces 基于计算机交互轨迹的开发人员流状态非侵入识别研究
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00048
Zhiwen Zheng, Liang Wang, Yue Cao, Yuqian Zhuang, Xianping Tao
Flow is a holistic description of people's optimal experiences during creative activities that can be characterized as being totally concentrated on, and actively involved in the task, enjoying the process of creation, and achieving a balance between one's skill and the task's challenge. Understanding software developers' flow states has attracted an increasing attention in both research and practice because of the strong link between being in flow and achieving good performance. In this paper, we study the problem of tracking and recognizing developers' flow states by tracing their computer interactions including activities of using the keyboard, mouse, IDE functions, and switching application windows. Compared to the traditional approaches that rely on self-reports or wearable sensors, a major advantage of the proposed approach is being non-invasive for not requiring any additional efforts from the developers after the training phase is completed, which is important because the developers' flow states can easily be interrupted by external interferences. Based on the captured interaction traces, we represent the developers' activities with extensive features, and propose to address the flow state recognition problem using machine learning technologies. And a hierarchical recognition model is built following the multi-dimensional construct of the flow concept, which is interpretable and effective. We develop a prototype system and conduct a 17-day field study in a medium-sized IT company in China to collect real-world data. The results show that our approach is effective by achieving the highest recognition accuracy of 92.6%, and efficient for performing real-time recognition.
心流是对人们在创造性活动中的最佳体验的整体描述,其特征是完全专注于并积极参与任务,享受创造过程,在技能和任务挑战之间取得平衡。了解软件开发人员的心流状态在研究和实践中都引起了越来越多的关注,因为处于心流状态和取得良好绩效之间存在着密切的联系。在本文中,我们通过跟踪开发人员的计算机交互,包括使用键盘、鼠标、IDE功能和切换应用程序窗口的活动,研究了跟踪和识别开发人员流状态的问题。与依赖自我报告或可穿戴传感器的传统方法相比,该方法的主要优点是非侵入性,在训练阶段完成后不需要开发人员进行任何额外的工作,这一点很重要,因为开发人员的心流状态很容易被外部干扰打断。基于捕获的交互轨迹,我们用广泛的特征来表示开发人员的活动,并提出使用机器学习技术来解决流状态识别问题。根据流概念的多维结构,建立了可解释、有效的分层识别模型。我们开发了一个原型系统,并在中国一家中型IT公司进行了为期17天的实地研究,以收集真实世界的数据。结果表明,该方法具有较高的识别准确率(92.6%),能够有效地进行实时识别。
{"title":"Towards Non-Invasive Recognition of Developers' Flow States with Computer Interaction Traces","authors":"Zhiwen Zheng, Liang Wang, Yue Cao, Yuqian Zhuang, Xianping Tao","doi":"10.1109/APSEC48747.2019.00048","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00048","url":null,"abstract":"Flow is a holistic description of people's optimal experiences during creative activities that can be characterized as being totally concentrated on, and actively involved in the task, enjoying the process of creation, and achieving a balance between one's skill and the task's challenge. Understanding software developers' flow states has attracted an increasing attention in both research and practice because of the strong link between being in flow and achieving good performance. In this paper, we study the problem of tracking and recognizing developers' flow states by tracing their computer interactions including activities of using the keyboard, mouse, IDE functions, and switching application windows. Compared to the traditional approaches that rely on self-reports or wearable sensors, a major advantage of the proposed approach is being non-invasive for not requiring any additional efforts from the developers after the training phase is completed, which is important because the developers' flow states can easily be interrupted by external interferences. Based on the captured interaction traces, we represent the developers' activities with extensive features, and propose to address the flow state recognition problem using machine learning technologies. And a hierarchical recognition model is built following the multi-dimensional construct of the flow concept, which is interpretable and effective. We develop a prototype system and conduct a 17-day field study in a medium-sized IT company in China to collect real-world data. The results show that our approach is effective by achieving the highest recognition accuracy of 92.6%, and efficient for performing real-time recognition.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131946943","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Class Name Recommendation Based on Graph Embedding of Program Elements 基于程序元素图嵌入的类名推荐
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00073
Shintaro Kurimoto, Yasuhiro Hayase, Hiroshi Yonai, Hiroyoshi Ito, H. Kitagawa
In software development, the quality of identifier names is important because it greatly affects program comprehension for developers. However, naming identifiers that appropriately represent the nature or behavior of program elements such as classes and methods is a difficult task requiring rich development experience and software domain knowledge. Although several studies proposed techniques for recommending identifier names, there are few studies targeting class names and they have limited availability. This paper proposes a novel class name recommendation approach widely available in software development. The key idea is to represent quantitatively the nature or behavior of classes by leveraging embedding technology for heterogeneous graphs. This makes it possible to recommend class names even where a previous approach cannot work. Experimental results suggest that the proposed approach can produce more accurate class name recommendation regardless of whether classes are used. In addition, a further experiment reveals a situation where the proposed approach is particularly effective.
在软件开发中,标识符名称的质量很重要,因为它极大地影响了开发人员对程序的理解。然而,命名适当地表示程序元素(如类和方法)的性质或行为的标识符是一项困难的任务,需要丰富的开发经验和软件领域知识。尽管有一些研究提出了推荐标识符名称的技术,但针对类名称的研究很少,而且它们的可用性有限。本文提出了一种在软件开发中广泛应用的类名推荐方法。关键思想是通过利用异构图的嵌入技术来定量地表示类的性质或行为。这使得即使在以前的方法不起作用的地方也可以推荐类名。实验结果表明,无论是否使用类,该方法都能产生更准确的类名推荐。此外,进一步的实验揭示了所提出的方法特别有效的情况。
{"title":"Class Name Recommendation Based on Graph Embedding of Program Elements","authors":"Shintaro Kurimoto, Yasuhiro Hayase, Hiroshi Yonai, Hiroyoshi Ito, H. Kitagawa","doi":"10.1109/APSEC48747.2019.00073","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00073","url":null,"abstract":"In software development, the quality of identifier names is important because it greatly affects program comprehension for developers. However, naming identifiers that appropriately represent the nature or behavior of program elements such as classes and methods is a difficult task requiring rich development experience and software domain knowledge. Although several studies proposed techniques for recommending identifier names, there are few studies targeting class names and they have limited availability. This paper proposes a novel class name recommendation approach widely available in software development. The key idea is to represent quantitatively the nature or behavior of classes by leveraging embedding technology for heterogeneous graphs. This makes it possible to recommend class names even where a previous approach cannot work. Experimental results suggest that the proposed approach can produce more accurate class name recommendation regardless of whether classes are used. In addition, a further experiment reveals a situation where the proposed approach is particularly effective.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":" 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132125381","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Detecting Duplicate Questions in Stack Overflow via Deep Learning Approaches 利用深度学习方法检测堆栈溢出中的重复问题
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00074
Liting Wang, Li Zhang, Jing Jiang
Stack Overflow is a popular question and answer website based on the software programming. Different users often ask the same questions in different ways, resulting in a large number of duplicate questions in Stack Overflow. Generally, the users with high reputation manually analyze and mark duplicate questions, which is time consuming and low efficiency. Therefore, the automatic duplicate question detection approach is demanded. We first investigate the application of deep learning models to software engineering task. Then, three deep learning models (i.e., CNN, RNN and LSTM) are applied to demonstrate whether they are effective to duplicate question detection task in Stack Overflow. In this paper, we explore three deep learning approaches DQ-CNN, DQ-RNN and DQ-LSTM based on CNN, RNN and LSTM to detect duplicate questions. The effectiveness of DQ-CNN, DQ-RNN and DQ-LSTM is evaluated by six different question groups. The experimental results show that DQ-LSTM outperforms DupPredictor, Dupe, DupePredictorRep-T and DupeRep in terms of recall-rate@5, recall-rate@10 and recall-rate@20 except for Ruby question group.
Stack Overflow是一个基于软件编程的热门问答网站。不同的用户经常以不同的方式提出相同的问题,导致Stack Overflow中出现大量重复的问题。一般来说,高信誉用户手工分析和标记重复问题,耗时长,效率低。因此,需要一种自动的重复问题检测方法。我们首先研究了深度学习模型在软件工程任务中的应用。然后,应用CNN、RNN和LSTM三种深度学习模型来验证它们在Stack Overflow中的重复问题检测任务中是否有效。本文在CNN、RNN和LSTM的基础上,探讨了DQ-CNN、DQ-RNN和DQ-LSTM三种深度学习方法来检测重复问题。DQ-CNN、DQ-RNN和DQ-LSTM的有效性通过六个不同的问题组进行评估。实验结果表明,除了Ruby问题组,DQ-LSTM在recall-rate@5、recall-rate@10和recall-rate@20三个方面都优于DupPredictor、Dupe、DupePredictorRep-T和DupeRep。
{"title":"Detecting Duplicate Questions in Stack Overflow via Deep Learning Approaches","authors":"Liting Wang, Li Zhang, Jing Jiang","doi":"10.1109/APSEC48747.2019.00074","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00074","url":null,"abstract":"Stack Overflow is a popular question and answer website based on the software programming. Different users often ask the same questions in different ways, resulting in a large number of duplicate questions in Stack Overflow. Generally, the users with high reputation manually analyze and mark duplicate questions, which is time consuming and low efficiency. Therefore, the automatic duplicate question detection approach is demanded. We first investigate the application of deep learning models to software engineering task. Then, three deep learning models (i.e., CNN, RNN and LSTM) are applied to demonstrate whether they are effective to duplicate question detection task in Stack Overflow. In this paper, we explore three deep learning approaches DQ-CNN, DQ-RNN and DQ-LSTM based on CNN, RNN and LSTM to detect duplicate questions. The effectiveness of DQ-CNN, DQ-RNN and DQ-LSTM is evaluated by six different question groups. The experimental results show that DQ-LSTM outperforms DupPredictor, Dupe, DupePredictorRep-T and DupeRep in terms of recall-rate@5, recall-rate@10 and recall-rate@20 except for Ruby question group.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"584 2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113982288","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 13
An Algebraic Approach to Modeling and Verifying Policy-Driven Smart Devices in IoT Systems 物联网系统中策略驱动智能设备建模和验证的代数方法
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00034
X. Chi, Min Zhang, X. Xu
Internet of Things (IoT) is being widely adopted to facilitate living environments such as cities and homes to become smart. Devices in IoT systems are capable of automatically adjusting their behaviors according to the change of environments. The capability is usually driven by the policies which are predefined inside devices. Policies can be customized by end users. Inconsistencies or conflicts among policies may cause malfunction of systems and therefore must be eliminated before deployment. In this paper, we propose a novel algebraic approach to modeling and verifying policy-driven smart devices in IoT systems on the basis of a domain-specific modeling language called PobSAM (Policy-based Self-Adaptive Model) and an efficient rewriting system called Maude. We formalize the operational semantics of PobSAM using Maude, which is an executable specification as well as a formal verification tool. The Maude formalization can be used to verify smart devices that are specified in PobSAM. We conduct a case study on a smart home setting to evaluate the effectiveness and efficiency of our approach.
物联网(IoT)正在被广泛应用,以促进城市和家庭等生活环境的智能化。物联网系统中的设备能够根据环境的变化自动调整自己的行为。该功能通常由设备内部预定义的策略驱动。最终用户可以自定义策略。策略之间的不一致或冲突可能会导致系统故障,因此在部署前必须消除。在本文中,我们提出了一种新的代数方法来建模和验证物联网系统中策略驱动的智能设备,该方法基于一种称为PobSAM(基于策略的自适应模型)的领域特定建模语言和一种称为Maude的高效重写系统。我们使用Maude形式化PobSAM的操作语义,Maude是一个可执行的规范,也是一个形式化的验证工具。Maude形式化可用于验证PobSAM中指定的智能设备。我们对智能家居设置进行了案例研究,以评估我们方法的有效性和效率。
{"title":"An Algebraic Approach to Modeling and Verifying Policy-Driven Smart Devices in IoT Systems","authors":"X. Chi, Min Zhang, X. Xu","doi":"10.1109/APSEC48747.2019.00034","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00034","url":null,"abstract":"Internet of Things (IoT) is being widely adopted to facilitate living environments such as cities and homes to become smart. Devices in IoT systems are capable of automatically adjusting their behaviors according to the change of environments. The capability is usually driven by the policies which are predefined inside devices. Policies can be customized by end users. Inconsistencies or conflicts among policies may cause malfunction of systems and therefore must be eliminated before deployment. In this paper, we propose a novel algebraic approach to modeling and verifying policy-driven smart devices in IoT systems on the basis of a domain-specific modeling language called PobSAM (Policy-based Self-Adaptive Model) and an efficient rewriting system called Maude. We formalize the operational semantics of PobSAM using Maude, which is an executable specification as well as a formal verification tool. The Maude formalization can be used to verify smart devices that are specified in PobSAM. We conduct a case study on a smart home setting to evaluate the effectiveness and efficiency of our approach.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114075647","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Multiple Program Analysis Techniques Enable Precise Check for SEI CERT C Coding Standard 多种程序分析技术使精确检查SEI CERT C编码标准
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00019
Thu-Trang Nguyen, Toshiaki Aoki, Takashi Tomita, Iori Yamada
Static analysis tools have demonstrated their ability to find non-compliant code of coding standards. However, for industrial-sized systems, static analysis tools frequently report a large number of warnings, which contain both true positives and false positives. In this research, to enable precise check for SEI CERT C Coding Standard, we combine static analysis with three different techniques. Firstly, a static analysis tool is used to detect non-compliant code, which are positions that may violate a SEI CERT C rule or recommendation. Each detected position is called a warning. Secondly, deductive verification, model checking, and pattern matching are used to verify whether each warning is a true positive or a false positive. Our experiments with two automotive applications show that this approach can help to improve the accuracy to check for SEI CERT C Coding Standard. We verify nearly 60% warnings of Rosecheckers, a static analysis tool. In these verified warnings, 97% of them are automatically detected to be true positives or false positives by our approach.
静态分析工具已经证明了它们发现不符合编码标准的代码的能力。然而,对于工业规模的系统,静态分析工具经常报告大量的警告,其中包括真阳性和假阳性。在本研究中,为了能够精确检查SEI CERT C编码标准,我们将静态分析与三种不同的技术相结合。首先,使用静态分析工具来检测不兼容的代码,这些代码可能违反SEI CERT C规则或建议。每个检测到的位置都被称为一个警告。其次,使用演绎验证、模型检查和模式匹配来验证每个警告是真阳性还是假阳性。我们对两个汽车应用程序的实验表明,该方法有助于提高检测SEI CERT C编码标准的准确性。我们验证了近60%的静态分析工具Rosecheckers的警告。在这些经过验证的警告中,97%的警告被我们的方法自动检测为真阳性或假阳性。
{"title":"Multiple Program Analysis Techniques Enable Precise Check for SEI CERT C Coding Standard","authors":"Thu-Trang Nguyen, Toshiaki Aoki, Takashi Tomita, Iori Yamada","doi":"10.1109/APSEC48747.2019.00019","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00019","url":null,"abstract":"Static analysis tools have demonstrated their ability to find non-compliant code of coding standards. However, for industrial-sized systems, static analysis tools frequently report a large number of warnings, which contain both true positives and false positives. In this research, to enable precise check for SEI CERT C Coding Standard, we combine static analysis with three different techniques. Firstly, a static analysis tool is used to detect non-compliant code, which are positions that may violate a SEI CERT C rule or recommendation. Each detected position is called a warning. Secondly, deductive verification, model checking, and pattern matching are used to verify whether each warning is a true positive or a false positive. Our experiments with two automotive applications show that this approach can help to improve the accuracy to check for SEI CERT C Coding Standard. We verify nearly 60% warnings of Rosecheckers, a static analysis tool. In these verified warnings, 97% of them are automatically detected to be true positives or false positives by our approach.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"98 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122408126","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
[Title page i] [标题页i]
Pub Date : 2019-12-01 DOI: 10.1109/apsec48747.2019.00001
{"title":"[Title page i]","authors":"","doi":"10.1109/apsec48747.2019.00001","DOIUrl":"https://doi.org/10.1109/apsec48747.2019.00001","url":null,"abstract":"","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115393250","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
2019 26th Asia-Pacific Software Engineering Conference (APSEC)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1