首页 > 最新文献

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

英文 中文
Run-Time Safety Monitoring Framework for AI-Based Systems: Automated Driving Cases 基于人工智能系统的运行时安全监测框架:自动驾驶案例
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00066
Mohd Hafeez Osman, Stefan Kugele, S. Shafaei
Intelligent systems based on artificial intelligence techniques are increasing and are recently being accepted in the automotive domain. In the competition of automobile makers to provide fully automated vehicles, it is perceived that artificial intelligence will profoundly influence the automotive electric and electronic architecture in the future. However, while such systems provide highly advanced functions, safety risk increases as AI-based systems may produce uncertain output and behaviour. In this paper, we devise a run-time safety monitoring framework for AI-based intelligence systems focusing on autonomous driving functions. In detail, this paper describes (i) the characteristics of a safety monitoring framework; (ii) the safety monitoring framework itself, and (iii) we develop a prototype and implement the framework for two critical driving functions: Lane detection and object detection. Through an implementation of the framework to a prototypic control environment, we show the possibility of this framework in the real context. Finally, we discuss the techniques used in developing the safety monitoring framework and describes the encountered challenges.
基于人工智能技术的智能系统正在增加,并且最近在汽车领域被接受。在汽车厂商提供全自动驾驶汽车的竞争中,人们认为人工智能将深刻影响未来汽车的电动和电子架构。然而,尽管这些系统提供了高度先进的功能,但由于基于人工智能的系统可能产生不确定的输出和行为,安全风险增加。在本文中,我们为专注于自动驾驶功能的基于人工智能的智能系统设计了一个运行时安全监测框架。具体来说,本文描述了(1)安全监测框架的特点;(ii)安全监测框架本身,以及(iii)我们开发了一个原型并实现了两个关键驾驶功能的框架:车道检测和物体检测。通过对原型控制环境的框架实现,我们展示了该框架在实际环境中的可能性。最后,我们讨论了开发安全监测框架所使用的技术,并描述了遇到的挑战。
{"title":"Run-Time Safety Monitoring Framework for AI-Based Systems: Automated Driving Cases","authors":"Mohd Hafeez Osman, Stefan Kugele, S. Shafaei","doi":"10.1109/APSEC48747.2019.00066","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00066","url":null,"abstract":"Intelligent systems based on artificial intelligence techniques are increasing and are recently being accepted in the automotive domain. In the competition of automobile makers to provide fully automated vehicles, it is perceived that artificial intelligence will profoundly influence the automotive electric and electronic architecture in the future. However, while such systems provide highly advanced functions, safety risk increases as AI-based systems may produce uncertain output and behaviour. In this paper, we devise a run-time safety monitoring framework for AI-based intelligence systems focusing on autonomous driving functions. In detail, this paper describes (i) the characteristics of a safety monitoring framework; (ii) the safety monitoring framework itself, and (iii) we develop a prototype and implement the framework for two critical driving functions: Lane detection and object detection. Through an implementation of the framework to a prototypic control environment, we show the possibility of this framework in the real context. Finally, we discuss the techniques used in developing the safety monitoring framework and describes the encountered challenges.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"38 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":"123811848","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
APSEC 2019 Program Committee APSEC 2019项目委员会
Pub Date : 2019-12-01 DOI: 10.1109/apsec48747.2019.00009
S. Sulaiman, S. Ghaisas, T. Ishio, Takashi Kobayashi, Cheng-Chung Chu, Xiaohong Chen
{"title":"APSEC 2019 Program Committee","authors":"S. Sulaiman, S. Ghaisas, T. Ishio, Takashi Kobayashi, Cheng-Chung Chu, Xiaohong Chen","doi":"10.1109/apsec48747.2019.00009","DOIUrl":"https://doi.org/10.1109/apsec48747.2019.00009","url":null,"abstract":"","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"161 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":"127301558","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
[Copyright notice] (版权)
Pub Date : 2019-12-01 DOI: 10.1109/apsec48747.2019.00003
{"title":"[Copyright notice]","authors":"","doi":"10.1109/apsec48747.2019.00003","DOIUrl":"https://doi.org/10.1109/apsec48747.2019.00003","url":null,"abstract":"","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"1 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":"131395103","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
A Domain Experts Centric Approach to Formal Requirements Modeling and V&V of Embedded Control Software 以领域专家为中心的嵌入式控制软件形式化需求建模与V&V方法
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00012
Weikai Miao, Q. Yan, Yihao Huang, Jincao Feng, Hanyue Zheng
Formal method is a promising solution for precise software requirements modeling and V&V (Validation and Verification). However, domain experts are suffering from using complex mathematics formal notations to precisely describe their domain specific software requirements. Meanwhile, the lack of systematic engineering methodologies that can effectively encompass precise requirements modeling and rigorous requirements V&V makes the application of formal methods in industry still a big challenge. To tackle this challenge, in this paper, we present a domain experts centric approach to the formal requirements modeling and V&V in the domain of embedded control software. The major advancements of the approach are: 1) a domain-specific and systematic engineering approach to the formal requirements specification construction and 2) scenario-based requirements validation and verification requirements technique. Specifically, the approach offers a domain-specific template for formal specification construction through a three-step specification evolution process. For formal requirements V&V, diagrams are derived from formal specification and domain experts' concerned scenarios can be checked based on the diagrams. These modeling and V&V technologies are coherently incorporated in the approach and fully automated by a supporting tool. We have applied the approach real software projects of our industrial partners. The experimental results show that it significantly facilitates the formal modeling and V&V in industry.
形式化方法对于精确的软件需求建模和V&V(验证和验证)是一种很有前途的解决方案。然而,领域专家在使用复杂的数学形式化符号来精确描述他们的领域特定的软件需求方面遇到了困难。同时,缺乏能够有效地包含精确的需求建模和严格的需求V&V的系统工程方法,使得形式化方法在工业中的应用仍然是一个很大的挑战。为了解决这一问题,本文提出了一种以领域专家为中心的嵌入式控制软件领域的形式化需求建模和V&V方法。该方法的主要进步是:1)用于正式需求规范构建的特定领域和系统工程方法,以及2)基于场景的需求确认和验证需求技术。具体来说,该方法通过三步规范演进过程为正式规范构建提供了特定于领域的模板。对于形式化需求V&V,图来源于形式化规范,领域专家所关注的场景可以根据图进行检查。这些建模和V&V技术被一致地整合到方法中,并通过支持工具完全自动化。我们已经将该方法应用到我们的工业合作伙伴的实际软件项目中。实验结果表明,该方法极大地促进了工业中的形式化建模和V&V。
{"title":"A Domain Experts Centric Approach to Formal Requirements Modeling and V&V of Embedded Control Software","authors":"Weikai Miao, Q. Yan, Yihao Huang, Jincao Feng, Hanyue Zheng","doi":"10.1109/APSEC48747.2019.00012","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00012","url":null,"abstract":"Formal method is a promising solution for precise software requirements modeling and V&V (Validation and Verification). However, domain experts are suffering from using complex mathematics formal notations to precisely describe their domain specific software requirements. Meanwhile, the lack of systematic engineering methodologies that can effectively encompass precise requirements modeling and rigorous requirements V&V makes the application of formal methods in industry still a big challenge. To tackle this challenge, in this paper, we present a domain experts centric approach to the formal requirements modeling and V&V in the domain of embedded control software. The major advancements of the approach are: 1) a domain-specific and systematic engineering approach to the formal requirements specification construction and 2) scenario-based requirements validation and verification requirements technique. Specifically, the approach offers a domain-specific template for formal specification construction through a three-step specification evolution process. For formal requirements V&V, diagrams are derived from formal specification and domain experts' concerned scenarios can be checked based on the diagrams. These modeling and V&V technologies are coherently incorporated in the approach and fully automated by a supporting tool. We have applied the approach real software projects of our industrial partners. The experimental results show that it significantly facilitates the formal modeling and V&V in industry.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"153 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":"115577299","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
SolAnalyser: A Framework for Analysing and Testing Smart Contracts SolAnalyser:一个分析和测试智能合约的框架
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00071
Sefa Akça, A. Rajan, Chao Peng
Executing, verifying and enforcing credible transactions on permissionless blockchains is done using smart contracts. A key challenge with smart contracts is ensuring their correctness and security. To address this challenge, we present a fully automated technique, SolAnalyser, for vulnerability detection over Solidity smart contracts that uses both static and dynamic analysis. Analysis techniques in the literature rely on static analysis with a high rate of false positives or lack support for vulnerabilities like out of gas, unchecked send, timestamp dependency. Our tool, SolAnalyser, supports automated detection of 8 different vulnerability types that currently lack wide support in existing tools, and can easily be extended to support other types. We also implemented a fault seeding tool that injects different types of vulnerabilities in smart contracts. We use the mutated contracts for assessing the effectiveness of different analysis tools. Our experiment uses 1838 real contracts from which we generate 12866 mutated contracts by artificially seeding 8 different vulnerability types. We evaluate the effectiveness of our technique in revealing the seeded vulnerabilities and compare against five existing popular analysis tools - Oyente, Securify, Maian, SmartCheck and Mythril. This is the first large scale evaluation of existing tools that compares their effectiveness by running them on a common set of contracts. We find that our technique outperforms all five existing tools in supporting detection of all 8 vulnerability types and in achieving higher precision and recall rate. SolAnalyser was also faster in analysing the different vulnerabilities than any of the existing tools in our experiment.
在无许可区块链上执行、验证和执行可信交易是使用智能合约完成的。智能合约的一个关键挑战是确保它们的正确性和安全性。为了应对这一挑战,我们提出了一种全自动技术,SolAnalyser,用于Solidity智能合约的漏洞检测,该技术使用静态和动态分析。文献中的分析技术依赖于静态分析,具有很高的误报率,或者缺乏对耗尽气体、未检查发送、时间戳依赖等漏洞的支持。我们的工具SolAnalyser支持自动检测目前在现有工具中缺乏广泛支持的8种不同的漏洞类型,并且可以很容易地扩展以支持其他类型。我们还实现了一个故障播种工具,在智能合约中注入不同类型的漏洞。我们使用突变契约来评估不同分析工具的有效性。我们的实验使用了1838个真实合约,通过人工播种8种不同的漏洞类型,我们从中生成了12866个变异合约。我们评估了我们的技术在揭示种子漏洞方面的有效性,并与五种现有的流行分析工具(Oyente、Securify、Maian、SmartCheck和Mythril)进行了比较。这是对现有工具的第一次大规模评估,通过在一组公共契约上运行它们来比较它们的有效性。我们发现我们的技术在支持所有8种漏洞类型的检测方面优于所有现有的五种工具,并且实现了更高的精度和召回率。SolAnalyser在分析不同漏洞方面也比我们实验中的任何现有工具都要快。
{"title":"SolAnalyser: A Framework for Analysing and Testing Smart Contracts","authors":"Sefa Akça, A. Rajan, Chao Peng","doi":"10.1109/APSEC48747.2019.00071","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00071","url":null,"abstract":"Executing, verifying and enforcing credible transactions on permissionless blockchains is done using smart contracts. A key challenge with smart contracts is ensuring their correctness and security. To address this challenge, we present a fully automated technique, SolAnalyser, for vulnerability detection over Solidity smart contracts that uses both static and dynamic analysis. Analysis techniques in the literature rely on static analysis with a high rate of false positives or lack support for vulnerabilities like out of gas, unchecked send, timestamp dependency. Our tool, SolAnalyser, supports automated detection of 8 different vulnerability types that currently lack wide support in existing tools, and can easily be extended to support other types. We also implemented a fault seeding tool that injects different types of vulnerabilities in smart contracts. We use the mutated contracts for assessing the effectiveness of different analysis tools. Our experiment uses 1838 real contracts from which we generate 12866 mutated contracts by artificially seeding 8 different vulnerability types. We evaluate the effectiveness of our technique in revealing the seeded vulnerabilities and compare against five existing popular analysis tools - Oyente, Securify, Maian, SmartCheck and Mythril. This is the first large scale evaluation of existing tools that compares their effectiveness by running them on a common set of contracts. We find that our technique outperforms all five existing tools in supporting detection of all 8 vulnerability types and in achieving higher precision and recall rate. SolAnalyser was also faster in analysing the different vulnerabilities than any of the existing tools in our experiment.","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":"122824676","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}
引用次数: 30
RBML: A Refined Behavior Modeling Language for Safety-Critical Hybrid Systems RBML:一种用于安全关键型混合系统的精细行为建模语言
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00053
Zhangtao Chen, Jing Liu, Xi Ding, Miaomiao Zhang
As a widely used modeling language, AADL (Architecture Analysis and Design Language) plays an important role in designing safety-critical systems. It provides abundant components for describing system architecture and supports the early prediction and repetitive analysis of performance-critical attributes. However, the approach used by AADL to describe the system behavior is based mainly on automata theory; thus, encountering the state space explosion problem when modeling and verifying large and complex systems is inevitable. Furthermore, due to the lack of means to describe the behavior details, it is also difficult for AADL to support the accurate analysis and verification of functional and non-functional requirements. In this paper, we propose a language called RBML that supports refined behavior modeling to compensate for the behavior modeling and verification deficiencies of AADL. This new language is based on AADL but extends the ability to detail various behaviors and allows SMT (Satisfiability Modulo Theories) solvers to verify the constructed refined behavior model, thus alleviating the state space explosion problem to some extent. Experiments on Baidu Apollo are presented to demonstrate the feasibility of our proposed approach.
作为一种广泛使用的建模语言,AADL (Architecture Analysis and Design language)在安全关键型系统的设计中发挥着重要作用。它为描述系统架构提供了丰富的组件,并支持对性能关键属性的早期预测和重复分析。然而,AADL用来描述系统行为的方法主要基于自动机理论;因此,在对大型复杂系统进行建模和验证时,遇到状态空间爆炸问题是不可避免的。此外,由于缺乏描述行为细节的手段,AADL也难以支持对功能和非功能需求的准确分析和验证。本文提出了一种支持精细行为建模的RBML语言,以弥补AADL在行为建模和验证方面的不足。这种新的语言基于AADL,但扩展了详细描述各种行为的能力,并允许SMT (Satisfiability Modulo Theories)求解器验证构造的精细行为模型,从而在一定程度上缓解了状态空间爆炸问题。在百度阿波罗上的实验证明了我们所提出的方法的可行性。
{"title":"RBML: A Refined Behavior Modeling Language for Safety-Critical Hybrid Systems","authors":"Zhangtao Chen, Jing Liu, Xi Ding, Miaomiao Zhang","doi":"10.1109/APSEC48747.2019.00053","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00053","url":null,"abstract":"As a widely used modeling language, AADL (Architecture Analysis and Design Language) plays an important role in designing safety-critical systems. It provides abundant components for describing system architecture and supports the early prediction and repetitive analysis of performance-critical attributes. However, the approach used by AADL to describe the system behavior is based mainly on automata theory; thus, encountering the state space explosion problem when modeling and verifying large and complex systems is inevitable. Furthermore, due to the lack of means to describe the behavior details, it is also difficult for AADL to support the accurate analysis and verification of functional and non-functional requirements. In this paper, we propose a language called RBML that supports refined behavior modeling to compensate for the behavior modeling and verification deficiencies of AADL. This new language is based on AADL but extends the ability to detail various behaviors and allows SMT (Satisfiability Modulo Theories) solvers to verify the constructed refined behavior model, thus alleviating the state space explosion problem to some extent. Experiments on Baidu Apollo are presented to demonstrate the feasibility of our proposed approach.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"23 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":"128969581","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
Achieving Abstract Machine Reachability with Learning-Based Model Fulfilment 用基于学习的模型实现实现抽象机器可达性
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00043
Chenghao Cai, Jing Sun, G. Dobbie, S. Lee
This paper proposes a probabilistic reachability repair solution that enables abstract machines to automatically evolve and satisfy desired requirements. The solution is a combination of the B-method, machine learning and program synthesis. The B-method is used to formally specify an abstract machine and analyse the reachability of the abstract machine. Machine learning models are used to approximate features hidden in the semantics of the abstract machine. When the abstract machine fails to reach a desired state, the machine learning models are used to discover missing transitions to the state. Inserting the discovered transitions into the original abstract machine will lead to a repaired abstract machine that is capable of achieving the state. To obtain the repaired abstract machine, a set of insertion repairs are synthesised from the discovered transitions and are simplified using context-free grammars. Experimental results reveal that the reachability repair solution is applicable to a wide range of abstract machines and can accurately discover transitions that satisfy the requirements of reachability. Moreover, the results demonstrate that random forests are efficient machine learning models on transition discovery tasks. Additionally, we argue that the automated reachability repair process can improve the efficiency of software development.
本文提出了一种概率可达性修复方案,使抽象机器能够自动进化并满足期望的需求。解决方案是b方法、机器学习和程序合成的结合。b方法用于形式化地指定抽象机,并分析抽象机的可达性。机器学习模型用于逼近隐藏在抽象机器语义中的特征。当抽象机器没有达到期望的状态时,机器学习模型被用来发现缺失的状态转换。将发现的转换插入到原始抽象机中,将导致修复的抽象机能够达到该状态。为了获得修复的抽象机器,从发现的转换中合成一组插入修复,并使用上下文无关语法进行简化。实验结果表明,可达性修复方案适用于广泛的抽象机器,能够准确地发现满足可达性要求的过渡。此外,结果表明,随机森林是有效的机器学习模型在转移发现任务。此外,我们认为自动化的可达性修复过程可以提高软件开发的效率。
{"title":"Achieving Abstract Machine Reachability with Learning-Based Model Fulfilment","authors":"Chenghao Cai, Jing Sun, G. Dobbie, S. Lee","doi":"10.1109/APSEC48747.2019.00043","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00043","url":null,"abstract":"This paper proposes a probabilistic reachability repair solution that enables abstract machines to automatically evolve and satisfy desired requirements. The solution is a combination of the B-method, machine learning and program synthesis. The B-method is used to formally specify an abstract machine and analyse the reachability of the abstract machine. Machine learning models are used to approximate features hidden in the semantics of the abstract machine. When the abstract machine fails to reach a desired state, the machine learning models are used to discover missing transitions to the state. Inserting the discovered transitions into the original abstract machine will lead to a repaired abstract machine that is capable of achieving the state. To obtain the repaired abstract machine, a set of insertion repairs are synthesised from the discovered transitions and are simplified using context-free grammars. Experimental results reveal that the reachability repair solution is applicable to a wide range of abstract machines and can accurately discover transitions that satisfy the requirements of reachability. Moreover, the results demonstrate that random forests are efficient machine learning models on transition discovery tasks. Additionally, we argue that the automated reachability repair process can improve the efficiency of software development.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"1 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":"127643592","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}
引用次数: 2
Decisions and Their Making in OSS Development: An Exploratory Study Using the Hibernate Developer Mailing List OSS开发中的决策及其制定:使用Hibernate开发者邮件列表的探索性研究
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00051
Xueying Li, Peng Liang, Tianqing Liu
Stakeholders make various decisions regarding requirements, architectural design, project management, etc. during the life cycle of software development. They have an interest in making high-quality and appropriate decisions that meet project objectives and maximize system benefits. However, decision-making in software development is not a trivial task and the decisions made are often not well documented. In this paper, we analyzed 9006 posts from the Hibernate developer mailing list, in order to explore (1) decision expression and (2) classification, (3) the rationale behind decision-making, (4) approaches employed in decision-making, (5) related software artifacts of decision-making, and (6) the trend of decision-making over time. The results show that (1) all decisions are expressed as Information Giving, Solution Proposal, and Feature Request; (2) the main categories of decisions are Design Decision and Requirement Decision; (3) the most common rationale behind decision-making is Non-functional Requirement; (4) the most commonly used decision-making approach is Problem Structuring; (5) the main categories of software artifacts related to decision-making are Design Document and Requirement Document; and (6) decision-making runs through the whole software development life cycle.
在软件开发的生命周期中,涉众对需求、架构设计、项目管理等做出各种各样的决策。他们对做出符合项目目标和最大化系统利益的高质量和适当的决策感兴趣。然而,软件开发中的决策并不是一项微不足道的任务,而且所做的决策通常没有很好的文档记录。在本文中,我们分析了来自Hibernate开发者邮件列表的9006篇文章,以探索(1)决策表达和(2)分类,(3)决策背后的基本原理,(4)决策中使用的方法,(5)决策相关的软件工件,以及(6)决策随时间的趋势。结果表明:(1)所有决策都被表示为信息给出、解决方案建议和特征请求;(2)决策的主要类别是设计决策和需求决策;(3)决策背后最常见的基本原理是非功能需求;(4)最常用的决策方法是问题结构;(5)与决策相关的软件工件的主要类别是设计文档和需求文档;(6)决策贯穿于整个软件开发生命周期。
{"title":"Decisions and Their Making in OSS Development: An Exploratory Study Using the Hibernate Developer Mailing List","authors":"Xueying Li, Peng Liang, Tianqing Liu","doi":"10.1109/APSEC48747.2019.00051","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00051","url":null,"abstract":"Stakeholders make various decisions regarding requirements, architectural design, project management, etc. during the life cycle of software development. They have an interest in making high-quality and appropriate decisions that meet project objectives and maximize system benefits. However, decision-making in software development is not a trivial task and the decisions made are often not well documented. In this paper, we analyzed 9006 posts from the Hibernate developer mailing list, in order to explore (1) decision expression and (2) classification, (3) the rationale behind decision-making, (4) approaches employed in decision-making, (5) related software artifacts of decision-making, and (6) the trend of decision-making over time. The results show that (1) all decisions are expressed as Information Giving, Solution Proposal, and Feature Request; (2) the main categories of decisions are Design Decision and Requirement Decision; (3) the most common rationale behind decision-making is Non-functional Requirement; (4) the most commonly used decision-making approach is Problem Structuring; (5) the main categories of software artifacts related to decision-making are Design Document and Requirement Document; and (6) decision-making runs through the whole software development life cycle.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"95 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":"117218099","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}
引用次数: 5
SIF: A Framework for Solidity Contract Instrumentation and Analysis SIF:一个稳定性合约仪器和分析的框架
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00069
Chao Peng, Sefa Akça, A. Rajan
Solidity is an object-oriented and high-level language for writing smart contracts that are used to execute, verify and enforce credible transactions on permissionless blockchains. In the last few years, analysis of smart contracts has raised considerable interest and numerous techniques have been proposed to check the presence of vulnerabilities in them. Current techniques lack traceability in source code and have widely differing work flows. There is no single unifying framework for analysis, instrumentation, optimisation and code generation of Solidity contracts at the source code level. In this paper, we present SIF, a comprehensive framework for Solidity contract analysis, query, instrumentation, and code generation. SIF provides support for Solidity contract developers and testers to build source level techniques for analysis, understanding, diagnostics, optimisations and code generation. We show feasibility and applicability of the framework by building practical tools on top of it and running them on 1838 real smart contracts deployed on the Ethereum network.
Solidity是一种面向对象的高级语言,用于编写智能合约,用于在无权限区块链上执行、验证和执行可信交易。在过去的几年中,对智能合约的分析引起了相当大的兴趣,并提出了许多技术来检查其中是否存在漏洞。当前的技术缺乏源代码的可追溯性,并且工作流程差异很大。在源代码级别,对于Solidity合约的分析、检测、优化和代码生成,没有一个统一的框架。在本文中,我们介绍了SIF,一个用于Solidity合约分析、查询、检测和代码生成的综合框架。SIF为Solidity合同开发人员和测试人员提供支持,以构建用于分析、理解、诊断、优化和代码生成的源代码级技术。我们通过在其上构建实用工具并在部署在以太坊网络上的1838个真实智能合约上运行它们来展示该框架的可行性和适用性。
{"title":"SIF: A Framework for Solidity Contract Instrumentation and Analysis","authors":"Chao Peng, Sefa Akça, A. Rajan","doi":"10.1109/APSEC48747.2019.00069","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00069","url":null,"abstract":"Solidity is an object-oriented and high-level language for writing smart contracts that are used to execute, verify and enforce credible transactions on permissionless blockchains. In the last few years, analysis of smart contracts has raised considerable interest and numerous techniques have been proposed to check the presence of vulnerabilities in them. Current techniques lack traceability in source code and have widely differing work flows. There is no single unifying framework for analysis, instrumentation, optimisation and code generation of Solidity contracts at the source code level. In this paper, we present SIF, a comprehensive framework for Solidity contract analysis, query, instrumentation, and code generation. SIF provides support for Solidity contract developers and testers to build source level techniques for analysis, understanding, diagnostics, optimisations and code generation. We show feasibility and applicability of the framework by building practical tools on top of it and running them on 1838 real smart contracts deployed on the Ethereum network.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"69 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":"127300417","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}
引用次数: 24
Teaching Software Process Models to Software Engineering Students: An Exploratory Study 软件工程专业学生软件过程模型教学的探索性研究
Pub Date : 2019-12-01 DOI: 10.1109/APSEC48747.2019.00049
S. Tiwari, S. Rathore
A software process model (SPM) provides an abstract description of the order in which related activities of software development will be undertaken. Many process models available that can be adapted for software development. However, the selection of the best suitable process model with reference to the problem definition, constraints, and stakeholder requirements is a challenging task. Typically, in a Software Engineering (SE) course, students gain knowledge about SPM and realize their usage via classroom lectures and course projects. It is felt that if the basic knowledge imparted, through the fundamental SE course, is supplemented with some focused sessions about the SPM, then it will not only enable students to think in terms of the SPM but will also motivate them to harness the best practices of software development. This paper presents a preliminary study highlighting our experience on SPM-oriented teaching to impart the concept of requirement elicitation and process modeling, by performing a play (drama skit) annotating real-world scenarios. The feedbacks of students have been collected to evaluate whether this exercise helped them in understanding the processes they have to undergo during software development. Additionally, we have compared the student's feedback and performance in the project and reported the finding of the study.
软件过程模型(SPM)提供了对相关软件开发活动将被执行的顺序的抽象描述。许多可用于软件开发的过程模型。然而,根据问题定义、约束和涉众需求选择最合适的流程模型是一项具有挑战性的任务。通常,在软件工程(SE)课程中,学生获得关于SPM的知识,并通过课堂讲座和课程项目实现它们的使用。我们认为,如果通过基础SE课程传授的基础知识,辅以一些关于SPM的重点课程,那么它不仅会使学生能够从SPM的角度思考,而且还会激励他们利用软件开发的最佳实践。本文提出了一个初步的研究,突出了我们在spm导向教学方面的经验,通过表演一个剧本(戏剧小品)来注释现实世界的场景,来传授需求引出和过程建模的概念。我们收集了学生的反馈,以评估这个练习是否有助于他们理解在软件开发过程中必须经历的过程。此外,我们比较了学生在项目中的反馈和表现,并报告了研究的发现。
{"title":"Teaching Software Process Models to Software Engineering Students: An Exploratory Study","authors":"S. Tiwari, S. Rathore","doi":"10.1109/APSEC48747.2019.00049","DOIUrl":"https://doi.org/10.1109/APSEC48747.2019.00049","url":null,"abstract":"A software process model (SPM) provides an abstract description of the order in which related activities of software development will be undertaken. Many process models available that can be adapted for software development. However, the selection of the best suitable process model with reference to the problem definition, constraints, and stakeholder requirements is a challenging task. Typically, in a Software Engineering (SE) course, students gain knowledge about SPM and realize their usage via classroom lectures and course projects. It is felt that if the basic knowledge imparted, through the fundamental SE course, is supplemented with some focused sessions about the SPM, then it will not only enable students to think in terms of the SPM but will also motivate them to harness the best practices of software development. This paper presents a preliminary study highlighting our experience on SPM-oriented teaching to impart the concept of requirement elicitation and process modeling, by performing a play (drama skit) annotating real-world scenarios. The feedbacks of students have been collected to evaluate whether this exercise helped them in understanding the processes they have to undergo during software development. Additionally, we have compared the student's feedback and performance in the project and reported the finding of the study.","PeriodicalId":325642,"journal":{"name":"2019 26th Asia-Pacific Software Engineering Conference (APSEC)","volume":"85 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":"121435692","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}
引用次数: 2
期刊
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