首页 > 最新文献

2015 24th Australasian Software Engineering Conference最新文献

英文 中文
Simplification and Verification of Software and Data Structure Models in the Engineering Domain 工程领域软件和数据结构模型的简化与验证
Pub Date : 2015-09-28 DOI: 10.1109/ASWEC.2015.25
Muzaffar Igamberdiev, G. Grossmann, M. Stumptner
During the past decade, much effort has been invested in developing standards to overcome data and software interoperability barriers in the oil and gas industry. Whereas syntactical integration is no longer problem, semantic integration still remains an open challenge. To overcome this problem, standards provide more and more complex structures to capture the semantics of different domains. As standards become more expressive, they may become too complex so that their adaptation is inherently difficult, which may even lead to inconsistencies in specifications. This paper addresses these issues by simplification and verification of correctness properties on an interoperability standard. While the simplification has been achieved by means of multi-level modeling, the accuracy of an industry model has been addressed by verifying the correctness properties using the object-oriented rule-based system Flora-2. Transformation and verification rules were evaluated and their performance has been enhanced by applying algorithmic improvements. The outcomes show that the approach reduces complexity of specifications and supports the verification from a software engineering point of view to simplify the adoption of standards.
在过去的十年中,油气行业在开发标准方面投入了大量精力,以克服数据和软件互操作性障碍。虽然语法集成不再是问题,但语义集成仍然是一个开放的挑战。为了克服这个问题,标准提供了越来越复杂的结构来捕获不同领域的语义。随着标准变得更具表现力,它们可能变得过于复杂,以至于它们的适应本身就很困难,这甚至可能导致规范的不一致。本文通过简化和验证互操作性标准上的正确性属性来解决这些问题。虽然通过多级建模实现了简化,但通过使用面向对象的基于规则的系统Flora-2验证正确性属性,解决了行业模型的准确性问题。对转换规则和验证规则进行了评估,并通过应用算法改进提高了它们的性能。结果表明,该方法降低了规范的复杂性,并从软件工程的角度支持验证,以简化标准的采用。
{"title":"Simplification and Verification of Software and Data Structure Models in the Engineering Domain","authors":"Muzaffar Igamberdiev, G. Grossmann, M. Stumptner","doi":"10.1109/ASWEC.2015.25","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.25","url":null,"abstract":"During the past decade, much effort has been invested in developing standards to overcome data and software interoperability barriers in the oil and gas industry. Whereas syntactical integration is no longer problem, semantic integration still remains an open challenge. To overcome this problem, standards provide more and more complex structures to capture the semantics of different domains. As standards become more expressive, they may become too complex so that their adaptation is inherently difficult, which may even lead to inconsistencies in specifications. This paper addresses these issues by simplification and verification of correctness properties on an interoperability standard. While the simplification has been achieved by means of multi-level modeling, the accuracy of an industry model has been addressed by verifying the correctness properties using the object-oriented rule-based system Flora-2. Transformation and verification rules were evaluated and their performance has been enhanced by applying algorithmic improvements. The outcomes show that the approach reduces complexity of specifications and supports the verification from a software engineering point of view to simplify the adoption of standards.","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117164994","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 Test Harness for Networked Mobile Applications and Middleware 网络移动应用和中间件的测试工具
Pub Date : 2015-09-28 DOI: 10.1109/ASWEC.2015.11
A. Meads, H. Naderi, I. Warren
Ensuring that mobile device applications are free from bugs is difficult. The difficulty stems, in part, from the unpredictability inherent in the use of multiple mobile networks. Testers typically design and run tests to discover bugs, modify the software and then re-run the test to demonstrate the bug's absence. However, when using wireless networks, it is difficult to recreate the original operating conditions to re-run the test. Other challenges associated with testing software for mobile applications include determining the effects of adding concurrent devices to a system, and the need to manage user interaction during testing. In this paper, we introduce the Odin Test Harness, which is a tool that facilitates a simulated and controlled execution environment for testing middleware and application software involving mobile devices. In particular, the tool provides for fine-grained control over network characteristics including bandwidth, packet loss rates, latency and network interface availability. Moreover the test harness allows mobile apps to be programmatically manipulated, simulating user input, during test execution. Furthermore, the test harness enables testers to simulate load on the system and to help determine its scalability. We have evaluated the test harness' on our middleware platform for hosting mobile services and a healthcare monitoring application. The test harness has been found to be useful in finding bugs that would otherwise remain elusive. In particular, the tool's support for repeatable tests, tests that involve multiple devices, and tests that require user interaction has readied the healthcare application for use in a clinical trial.
确保移动设备应用程序没有漏洞是很困难的。这种困难部分源于使用多种移动网络所固有的不可预测性。测试人员通常设计和运行测试来发现缺陷,修改软件,然后重新运行测试来证明缺陷的存在。然而,当使用无线网络时,很难重现原始的操作条件来重新运行测试。与测试移动应用软件相关的其他挑战包括确定将并发设备添加到系统中的效果,以及在测试期间管理用户交互的需要。在本文中,我们介绍了Odin Test Harness,它是一个工具,为测试涉及移动设备的中间件和应用软件提供了一个模拟和控制的执行环境。特别是,该工具提供了对网络特征的细粒度控制,包括带宽、丢包率、延迟和网络接口可用性。此外,测试工具允许在测试执行期间以编程方式操纵移动应用程序,模拟用户输入。此外,测试工具使测试人员能够模拟系统上的负载并帮助确定其可扩展性。我们已经在中间件平台上评估了用于托管移动服务和医疗监控应用程序的测试工具。人们发现,测试工具在发现bug方面非常有用,否则这些bug将难以捉摸。特别是,该工具支持可重复测试、涉及多个设备的测试以及需要用户交互的测试,这使医疗保健应用程序为临床试验做好了准备。
{"title":"A Test Harness for Networked Mobile Applications and Middleware","authors":"A. Meads, H. Naderi, I. Warren","doi":"10.1109/ASWEC.2015.11","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.11","url":null,"abstract":"Ensuring that mobile device applications are free from bugs is difficult. The difficulty stems, in part, from the unpredictability inherent in the use of multiple mobile networks. Testers typically design and run tests to discover bugs, modify the software and then re-run the test to demonstrate the bug's absence. However, when using wireless networks, it is difficult to recreate the original operating conditions to re-run the test. Other challenges associated with testing software for mobile applications include determining the effects of adding concurrent devices to a system, and the need to manage user interaction during testing. In this paper, we introduce the Odin Test Harness, which is a tool that facilitates a simulated and controlled execution environment for testing middleware and application software involving mobile devices. In particular, the tool provides for fine-grained control over network characteristics including bandwidth, packet loss rates, latency and network interface availability. Moreover the test harness allows mobile apps to be programmatically manipulated, simulating user input, during test execution. Furthermore, the test harness enables testers to simulate load on the system and to help determine its scalability. We have evaluated the test harness' on our middleware platform for hosting mobile services and a healthcare monitoring application. The test harness has been found to be useful in finding bugs that would otherwise remain elusive. In particular, the tool's support for repeatable tests, tests that involve multiple devices, and tests that require user interaction has readied the healthcare application for use in a clinical trial.","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115247458","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
Compositional Symbolic Execution Using Fine-Grained Summaries 使用细粒度摘要的组合符号执行
Pub Date : 2015-09-28 DOI: 10.1109/ASWEC.2015.32
Yude Lin, Tim Miller, H. Søndergaard
Compositional symbolic execution has been proposed as a way to increase the efficiency of symbolic execution. Essentially, when a function is symbolically executed, a summary of the path that was executed is stored. This summary records the precondition and post condition of the path, and on subsequent calls that satisfy that precondition, the corresponding post condition can be returned instead of executing the function again. However, using functions as the unit of summarisation leaves the symbolic execution tool at the mercy of a program designer, essentially resulting in an arbitrary summarisation strategy. In this paper, we explore the use of fine-grained summaries, in which blocks within functions are summarised. We propose three types of summarisation and demonstrate how to generate these. At such a fine-grained level, symbolic execution of a path effectively becomes the concatenation of the summaries along that path. Using a prototype symbolic execution tool, we perform a preliminary experimental evaluation of our summary approaches, demonstrating that they can improve the speed of symbolic execution by reducing the number of calls sent to the underlying constraint solver.
组合符号执行是提高符号执行效率的一种方法。从本质上讲,当一个函数被象征性地执行时,将存储执行路径的摘要。此摘要记录路径的前提条件和post条件,在满足该前提条件的后续调用中,可以返回相应的post条件,而不必再次执行该函数。然而,使用函数作为总结单元使符号执行工具任由程序设计者摆布,本质上导致了任意的总结策略。在本文中,我们探讨了细粒度摘要的使用,其中对函数中的块进行了摘要。我们提出了三种类型的摘要,并演示了如何生成这些摘要。在如此细粒度的级别上,路径的符号执行有效地变成了沿着该路径的汇总的连接。使用原型符号执行工具,我们对我们的摘要方法进行了初步的实验评估,证明它们可以通过减少发送到底层约束求解器的调用数量来提高符号执行的速度。
{"title":"Compositional Symbolic Execution Using Fine-Grained Summaries","authors":"Yude Lin, Tim Miller, H. Søndergaard","doi":"10.1109/ASWEC.2015.32","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.32","url":null,"abstract":"Compositional symbolic execution has been proposed as a way to increase the efficiency of symbolic execution. Essentially, when a function is symbolically executed, a summary of the path that was executed is stored. This summary records the precondition and post condition of the path, and on subsequent calls that satisfy that precondition, the corresponding post condition can be returned instead of executing the function again. However, using functions as the unit of summarisation leaves the symbolic execution tool at the mercy of a program designer, essentially resulting in an arbitrary summarisation strategy. In this paper, we explore the use of fine-grained summaries, in which blocks within functions are summarised. We propose three types of summarisation and demonstrate how to generate these. At such a fine-grained level, symbolic execution of a path effectively becomes the concatenation of the summaries along that path. Using a prototype symbolic execution tool, we perform a preliminary experimental evaluation of our summary approaches, demonstrating that they can improve the speed of symbolic execution by reducing the number of calls sent to the underlying constraint solver.","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134061175","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
Generalized Suffix Tree Based Multiple Sequence Alignment for Service Virtualization 基于广义后缀树的服务虚拟化多序列对齐
Pub Date : 2015-09-28 DOI: 10.1109/ASWEC.2015.13
Jean-Guy Schneider, Peter Mandile, Steven Versteeg
Assuring quality of contemporary software systems is a very challenging task due to the often large complexity of the deployment environments in which they will operate. Service virtualization is an approach to this challenge where services within the deployment environment are emulated by synthesising service response messages from models or by recording and then replaying service interaction messages with the system. Record-and-replay techniques require an approach where (i) message prototypes can be derived from recorded system interactions (i.e. Request-response sequences), (ii) a scheme to match incoming request messages against message prototypes, and (iii) the synthesis of response messages based on similarities between incoming messages and the recorded system interactions. Previous approaches in service virtualization have required a multiple sequence alignment (MSA) algorithm as a means of finding common patterns of similarities and differences between messages required by all three steps. In this paper, we present a novel MSA algorithm based on Generalized Suffix Trees (GSTs). We evaluated the accuracy and efficiency of the proposed algorithm against six enterprise service message trace datasets, with the proposed algorithm performing up to 50 times faster than standard MSA approaches. Furthermore, the algorithm has applicability to other domains beyond service virtualization.
保证当代软件系统的质量是一项非常具有挑战性的任务,因为它们将在其中运行的部署环境通常非常复杂。服务虚拟化是应对这一挑战的一种方法,其中通过综合来自模型的服务响应消息或通过记录然后与系统重放服务交互消息来模拟部署环境中的服务。记录和重放技术需要一种方法,其中(i)消息原型可以从记录的系统交互(即请求-响应序列)中导出,(ii)将传入请求消息与消息原型匹配的方案,以及(iii)基于传入消息与记录的系统交互之间的相似性来合成响应消息。以前的服务虚拟化方法需要多序列对齐(multiple sequence alignment, MSA)算法,作为在所有三个步骤所需的消息之间查找相同和不同的公共模式的方法。本文提出了一种基于广义后缀树(GSTs)的MSA算法。我们针对六个企业服务消息跟踪数据集评估了所提出算法的准确性和效率,所提出算法的执行速度比标准MSA方法快50倍。此外,该算法还适用于服务虚拟化以外的其他领域。
{"title":"Generalized Suffix Tree Based Multiple Sequence Alignment for Service Virtualization","authors":"Jean-Guy Schneider, Peter Mandile, Steven Versteeg","doi":"10.1109/ASWEC.2015.13","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.13","url":null,"abstract":"Assuring quality of contemporary software systems is a very challenging task due to the often large complexity of the deployment environments in which they will operate. Service virtualization is an approach to this challenge where services within the deployment environment are emulated by synthesising service response messages from models or by recording and then replaying service interaction messages with the system. Record-and-replay techniques require an approach where (i) message prototypes can be derived from recorded system interactions (i.e. Request-response sequences), (ii) a scheme to match incoming request messages against message prototypes, and (iii) the synthesis of response messages based on similarities between incoming messages and the recorded system interactions. Previous approaches in service virtualization have required a multiple sequence alignment (MSA) algorithm as a means of finding common patterns of similarities and differences between messages required by all three steps. In this paper, we present a novel MSA algorithm based on Generalized Suffix Trees (GSTs). We evaluated the accuracy and efficiency of the proposed algorithm against six enterprise service message trace datasets, with the proposed algorithm performing up to 50 times faster than standard MSA approaches. Furthermore, the algorithm has applicability to other domains beyond service virtualization.","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"134 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126864754","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}
引用次数: 6
The Next Level of User Experience of Cloud Storage Services: Supporting Collaboration with Social Features 云存储服务用户体验的新层次:支持协作与社交功能
Pub Date : 2015-09-28 DOI: 10.1109/ASWEC.2015.31
J. Palviainen, Parisa Pour Rezaei
Nowadays, individuals' personal data is at their disposal real-time from any device through cloud storage services (CSS). Such services enable new kinds of collaboration between individuals and have fundamental impact on how we organize and share our data. Nevertheless, only a few studies have been made on the user experience (UX) of such services. This paper reports the user experience of different CSSs (focusing on Drop box, Google Drive, One Drive, and iCloud) based on 19 interviews and 65 survey responses. The results include reasons for the most positive and negative experiences and descriptions of current habits and motivations of the CSS users. As the current use of CSSs is still mostly individual we investigate the potential of taking the UX of CSSs to the next level by integrating different social features to current CSSs. We conclude the paper by explaining the importance of different Cloud UX aspects in CSS context and suggesting design implications improving UX for CSSs.
如今,个人的个人数据可以通过云存储服务(CSS)从任何设备实时处理。这些服务使个人之间的新型协作成为可能,并对我们如何组织和共享数据产生了根本性的影响。然而,对此类服务的用户体验(UX)进行的研究很少。本文基于19个访谈和65个调查回复,报告了不同css(重点是Drop box、谷歌Drive、One Drive和iCloud)的用户体验。结果包括最积极和最消极体验的原因,以及CSS用户当前习惯和动机的描述。由于目前css的使用仍然主要是个人的,我们研究了通过将不同的社交功能集成到当前的css中,将css的用户体验提升到一个新的水平的潜力。最后,我们解释了云用户体验在CSS环境中的重要性,并提出了改进CSS用户体验的设计建议。
{"title":"The Next Level of User Experience of Cloud Storage Services: Supporting Collaboration with Social Features","authors":"J. Palviainen, Parisa Pour Rezaei","doi":"10.1109/ASWEC.2015.31","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.31","url":null,"abstract":"Nowadays, individuals' personal data is at their disposal real-time from any device through cloud storage services (CSS). Such services enable new kinds of collaboration between individuals and have fundamental impact on how we organize and share our data. Nevertheless, only a few studies have been made on the user experience (UX) of such services. This paper reports the user experience of different CSSs (focusing on Drop box, Google Drive, One Drive, and iCloud) based on 19 interviews and 65 survey responses. The results include reasons for the most positive and negative experiences and descriptions of current habits and motivations of the CSS users. As the current use of CSSs is still mostly individual we investigate the potential of taking the UX of CSSs to the next level by integrating different social features to current CSSs. We conclude the paper by explaining the importance of different Cloud UX aspects in CSS context and suggesting design implications improving UX for CSSs.","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"1360 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126996585","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
An Empirical Evaluation of Capture-Recapture Estimators in Software Inspection 软件检测中捕获-再捕获估计器的经验评价
Pub Date : 2015-09-28 DOI: 10.1109/ASWEC.2015.17
Qi Shan, Guoping Rong, He Zhang, Gaoxuan Liu, Dong Shao
Context: Capture-recapture approach has been adopted in software inspection for decades for estimating remaining defects and supporting post-inspection decisions. A number of capture-recapture models and estimators have been borrowed from other disciplines (e.g., Biology and social sciences) and applied in software inspections. These models and estimators were created with different assumptions and the violation to these assumptions may lead to invalid application. Most of the reported empirical evaluations of the capture-recapture models and estimators used relatively small data sets (i.e., Small number of inspectors and/or defects), which leads varying conclusions. Objective: The research reported in this paper aims to better understand this approach for software inspection, and the efficacy of the models and estimators in particular, with large data sets. Method: We carried out an empirical study that evaluated several typical capture-recapture estimators (i.e., M0-ML, Mt-ML, Mt-CH, Mh-CH and Mh-JK). The study employed 57 student inspectors in reviewing software requirement specification and formed 1000 virtual teams at each team size in the post statistic testing. Results: The data analysis indicates that: 1) M0-ML and Mt-ML could not generate accurate estimates even with many inspectors. 2) All estimators suffer high level of failure rate with few inspectors. 3) For a small team, estimator Mh-CH performs the best, while with many inspectors, Mt-CH and Mh-JK perform better regarding the accuracy and the failure rate. Conclusion: Our work reveals that no estimator was superior to others under all situations. With an increased team size, estimates generated by estimator Mt-CH and Mh-JK turn to be more accurate than others. While, M0-ML and Mt-ML are able to offer reference value to support post-inspection because of their convergent underestimates.
背景:捕获-再捕获方法已经在软件检查中被采用了几十年,用于评估剩余的缺陷并支持检查后的决策。从其他学科(例如,生物学和社会科学)借鉴了许多捕获-再捕获模型和估计器,并应用于软件检查。这些模型和估计器是用不同的假设创建的,违反这些假设可能导致无效的应用。大多数报告的捕获-再捕获模型和评估器的经验评估使用了相对较小的数据集(即,少量的检查人员和/或缺陷),这导致了不同的结论。目的:本文报道的研究旨在更好地理解这种方法用于软件检查,特别是在大数据集的情况下,模型和估计器的有效性。方法:对几种典型的捕获-再捕获估计器(M0-ML、Mt-ML、Mt-CH、Mh-CH和Mh-JK)进行了实证研究。该研究雇佣了57名学生检验员来审查软件需求规范,并在后期统计测试中按每个团队的规模组成了1000个虚拟团队。结果:数据分析表明:1)M0-ML和Mt-ML即使有很多检查员也不能产生准确的估计。2)所有的评估员都有很高的不良率,而检查员却很少。3)对于一个小团队,估计器Mh-CH表现最好,而对于许多检查员,Mt-CH和Mh-JK在准确性和失败率方面表现更好。结论:我们的工作表明,在所有情况下,没有一个评估人员比其他评估人员更优越。随着团队规模的增加,由估算员Mt-CH和Mh-JK生成的估算会变得比其他人更准确。而M0-ML和Mt-ML由于其收敛性低估,能够为支持后检提供参考价值。
{"title":"An Empirical Evaluation of Capture-Recapture Estimators in Software Inspection","authors":"Qi Shan, Guoping Rong, He Zhang, Gaoxuan Liu, Dong Shao","doi":"10.1109/ASWEC.2015.17","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.17","url":null,"abstract":"Context: Capture-recapture approach has been adopted in software inspection for decades for estimating remaining defects and supporting post-inspection decisions. A number of capture-recapture models and estimators have been borrowed from other disciplines (e.g., Biology and social sciences) and applied in software inspections. These models and estimators were created with different assumptions and the violation to these assumptions may lead to invalid application. Most of the reported empirical evaluations of the capture-recapture models and estimators used relatively small data sets (i.e., Small number of inspectors and/or defects), which leads varying conclusions. Objective: The research reported in this paper aims to better understand this approach for software inspection, and the efficacy of the models and estimators in particular, with large data sets. Method: We carried out an empirical study that evaluated several typical capture-recapture estimators (i.e., M0-ML, Mt-ML, Mt-CH, Mh-CH and Mh-JK). The study employed 57 student inspectors in reviewing software requirement specification and formed 1000 virtual teams at each team size in the post statistic testing. Results: The data analysis indicates that: 1) M0-ML and Mt-ML could not generate accurate estimates even with many inspectors. 2) All estimators suffer high level of failure rate with few inspectors. 3) For a small team, estimator Mh-CH performs the best, while with many inspectors, Mt-CH and Mh-JK perform better regarding the accuracy and the failure rate. Conclusion: Our work reveals that no estimator was superior to others under all situations. With an increased team size, estimates generated by estimator Mt-CH and Mh-JK turn to be more accurate than others. While, M0-ML and Mt-ML are able to offer reference value to support post-inspection because of their convergent underestimates.","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115727694","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
The Impact of Hierarchies on the Architecture-Level Software Understandability - A Controlled Experiment 层次结构对体系结构级软件可理解性的影响——一个控制实验
Pub Date : 2015-09-28 DOI: 10.1109/ASWEC.2015.21
S. Stevanetic, M. Javed, Uwe Zdun
Architectural component models represent high level designs and are frequently used as a central view of architectural descriptions of software systems. They play a crucial role in the whole development process and in achieving the desired software qualities. This paper presents an empirical study that examines the impact of hierarchies on the architecture-level software understand ability. In particular we have studied three different architectural representations of a large-size software system, one with a hierarchical representation where architectural components at all abstraction levels in the hierarchy are shown, and two that do not contain hierarchical abstractions but concentrate only on the lowest level or on the highest level components in the hierarchy. We conducted a controlled experiment in which participants of three groups received one of the three architecture documentations plus the source code of the system and had to answer understand ability related questions. Our results show that using the hierarchical architecture leads to: 1) higher quantity of correctly retrieved elements, 2) lower quantity of incorrectly retrieved elements, and 3) higher overall quality of retrieved elements. The obtained results provide empirical evidence that hierarchies play an important role in the context of architectural component models from the viewpoint of the architecture-level software understandability.
体系结构组件模型表示高级设计,并且经常用作软件系统体系结构描述的中心视图。它们在整个开发过程和实现所需的软件质量方面起着至关重要的作用。本文提出了一项实证研究,考察了层次结构对架构级软件理解能力的影响。特别是,我们研究了大型软件系统的三种不同的体系结构表示,一种是层次结构表示,其中显示了层次结构中所有抽象级别的体系结构组件,另两种不包含层次抽象,但只关注层次结构中最低级别或最高级别的组件。我们进行了一个控制实验,在这个实验中,三组参与者收到了三个架构文档中的一个以及系统的源代码,并且必须回答与理解能力相关的问题。我们的研究结果表明,使用层次结构导致:1)正确检索元素的数量增加,2)错误检索元素的数量减少,3)检索元素的整体质量提高。所得结果从体系结构级软件可理解性的角度提供了层次结构在体系结构组件模型环境中发挥重要作用的经验证据。
{"title":"The Impact of Hierarchies on the Architecture-Level Software Understandability - A Controlled Experiment","authors":"S. Stevanetic, M. Javed, Uwe Zdun","doi":"10.1109/ASWEC.2015.21","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.21","url":null,"abstract":"Architectural component models represent high level designs and are frequently used as a central view of architectural descriptions of software systems. They play a crucial role in the whole development process and in achieving the desired software qualities. This paper presents an empirical study that examines the impact of hierarchies on the architecture-level software understand ability. In particular we have studied three different architectural representations of a large-size software system, one with a hierarchical representation where architectural components at all abstraction levels in the hierarchy are shown, and two that do not contain hierarchical abstractions but concentrate only on the lowest level or on the highest level components in the hierarchy. We conducted a controlled experiment in which participants of three groups received one of the three architecture documentations plus the source code of the system and had to answer understand ability related questions. Our results show that using the hierarchical architecture leads to: 1) higher quantity of correctly retrieved elements, 2) lower quantity of incorrectly retrieved elements, and 3) higher overall quality of retrieved elements. The obtained results provide empirical evidence that hierarchies play an important role in the context of architectural component models from the viewpoint of the architecture-level software understandability.","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"67 9","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132026773","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
Scalable Rollback for Cloud Operations Using AI Planning 使用AI规划的云操作可伸缩回滚
Pub Date : 2015-09-28 DOI: 10.1109/ASWEC.2015.34
S. Satyal, I. Weber, L. Bass, Min Fu
Human-induced faults play a large role in systems reliability. In cloud platforms, system administrators may inadvertently make catastrophic mistakes, like deleting a virtual disk with important data. Providing rollback for cloud operations can reduce the severity and impact of such mistakes by allowing to revert back to a known, good state. In this paper, we present a scalable approach to rollback operations that change state of a system on proprietary cloud platforms. In our previous work, we provided a system that augments cloud APIs and provides roll-back operation using an AI planner. However, the previous system eventually suffers from the exponential complexity inherent to AI planning tasks. In this paper, we divide and parallelize rollback plan generation, based on characteristics unique to the rollback scenario. Through experimental evaluation, we show that this approach scales better than the previous, naive approach, and effectively avoids the exponential behavior.
人为故障是影响系统可靠性的重要因素。在云平台中,系统管理员可能会在不经意间犯下灾难性的错误,比如删除包含重要数据的虚拟磁盘。通过允许恢复到已知的良好状态,为云操作提供回滚可以降低此类错误的严重性和影响。在本文中,我们提出了一种可伸缩的回滚操作方法,这种回滚操作可以改变专有云平台上系统的状态。在我们之前的工作中,我们提供了一个系统,该系统可以增强云api,并使用AI规划器提供回滚操作。然而,之前的系统最终会受到人工智能规划任务固有的指数级复杂性的影响。在本文中,我们根据回滚场景的独特特征划分并并行生成回滚计划。通过实验评估,我们表明该方法比以前的朴素方法具有更好的可扩展性,并且有效地避免了指数行为。
{"title":"Scalable Rollback for Cloud Operations Using AI Planning","authors":"S. Satyal, I. Weber, L. Bass, Min Fu","doi":"10.1109/ASWEC.2015.34","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.34","url":null,"abstract":"Human-induced faults play a large role in systems reliability. In cloud platforms, system administrators may inadvertently make catastrophic mistakes, like deleting a virtual disk with important data. Providing rollback for cloud operations can reduce the severity and impact of such mistakes by allowing to revert back to a known, good state. In this paper, we present a scalable approach to rollback operations that change state of a system on proprietary cloud platforms. In our previous work, we provided a system that augments cloud APIs and provides roll-back operation using an AI planner. However, the previous system eventually suffers from the exponential complexity inherent to AI planning tasks. In this paper, we divide and parallelize rollback plan generation, based on characteristics unique to the rollback scenario. Through experimental evaluation, we show that this approach scales better than the previous, naive approach, and effectively avoids the exponential behavior.","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130430319","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}
引用次数: 1
Multiple Bug Spectral Fault Localization Using Genetic Programming 基于遗传规划的多Bug谱故障定位
Pub Date : 2015-09-28 DOI: 10.1109/ASWEC.2015.12
L. Naish, Neelofar, K. Ramamohanarao
Debugging is crucial for producing reliable software. One of the effective bug localization techniques is Spectral-Based Fault Localization (SBFL). It locates a buggy statement by applying an evaluation metric to program spectra and ranking program components on the basis of the score it computes. Recently, genetic programming has been proposed as a way to find good metrics. We have found that the huge search space for metrics can cause this approach to be slow and unreliable, even for relatively simple data sets. Here we propose a restricted class of "hyperbolic" metrics, with a small number of numeric parameters. This class of functions is based on past theoretical and empirical results. We show that genetic programming can reliably discover effective metrics over a wide range of data sets of program spectra. We evaluate the performance for both real programs and model programs with single bugs, multiple bugs, "deterministic" bugs and nondeterministic bugs.
调试对于生成可靠的软件至关重要。基于频谱的故障定位(SBFL)是一种有效的故障定位技术。它通过将评估指标应用于程序谱并根据其计算的分数对程序组件进行排名来定位错误语句。最近,遗传规划被提出作为一种寻找好的度量的方法。我们发现,对于参数的巨大搜索空间可能导致这种方法缓慢且不可靠,即使对于相对简单的数据集也是如此。在这里,我们提出了一类具有少量数值参数的受限“双曲”度量。这类函数是基于过去的理论和实证结果。我们证明了遗传规划可以在广泛的程序谱数据集上可靠地发现有效的度量。我们评估了真实程序和模型程序的性能,包括单个错误、多个错误、“确定性”错误和非确定性错误。
{"title":"Multiple Bug Spectral Fault Localization Using Genetic Programming","authors":"L. Naish, Neelofar, K. Ramamohanarao","doi":"10.1109/ASWEC.2015.12","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.12","url":null,"abstract":"Debugging is crucial for producing reliable software. One of the effective bug localization techniques is Spectral-Based Fault Localization (SBFL). It locates a buggy statement by applying an evaluation metric to program spectra and ranking program components on the basis of the score it computes. Recently, genetic programming has been proposed as a way to find good metrics. We have found that the huge search space for metrics can cause this approach to be slow and unreliable, even for relatively simple data sets. Here we propose a restricted class of \"hyperbolic\" metrics, with a small number of numeric parameters. This class of functions is based on past theoretical and empirical results. We show that genetic programming can reliably discover effective metrics over a wide range of data sets of program spectra. We evaluate the performance for both real programs and model programs with single bugs, multiple bugs, \"deterministic\" bugs and nondeterministic bugs.","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124198894","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}
引用次数: 16
Performance Regression Testing on the Java Virtual Machine Using Statistical Test Oracles 在Java虚拟机上使用统计测试oracle进行性能回归测试
Pub Date : 2015-09-28 DOI: 10.1109/ASWEC.2015.14
Fergus Hewson, Jens Dietrich, S. Marsland
Engineering performance-critical systems often requires manual, expensive fine-tuning of critical application parts such as start-up routines, authentication sequences and transactions. It is highly desirable to protect this investment by regression tests that indicate when performance characteristics such as memory usage or thread allocation change. While traditional testing techniques can be used, they are often too coarse, as systems are tested against static thresholds, and therefore important changes that can result in declining system performance will not be detected. To address these limitations, we propose a novel approach to performance regression testing based on automatically generated statistical test oracles. Machine learning methods are used to detect deviations from the profiles shown in these oracles. We present Buto, a proof-of-concept tool tightly integrated into the JUnit testing framework that can be used to test applications executed on the Java virtual machine (JVM). Buto uses data obtained by transparently monitoring applications through Java Management Extensions (JMX). In this paper we describe the Buto framework and demonstrate how to calibrate the tool using an evaluation based on a set of benchmarking examples.
工程性能关键型系统通常需要对关键应用程序部分(如启动例程、身份验证序列和事务)进行手动、昂贵的微调。我们非常希望通过回归测试来保护这种投资,回归测试可以指示诸如内存使用或线程分配等性能特征何时发生变化。虽然可以使用传统的测试技术,但它们通常过于粗糙,因为系统是针对静态阈值进行测试的,因此无法检测到可能导致系统性能下降的重要更改。为了解决这些限制,我们提出了一种基于自动生成的统计测试oracle的性能回归测试的新方法。机器学习方法用于检测这些预言中显示的配置文件的偏差。我们介绍了Buto,这是一个与JUnit测试框架紧密集成的概念验证工具,可用于测试在Java虚拟机(JVM)上执行的应用程序。Buto使用通过Java管理扩展(JMX)透明地监视应用程序获得的数据。在本文中,我们描述了Buto框架,并演示了如何使用基于一组基准示例的评估来校准该工具。
{"title":"Performance Regression Testing on the Java Virtual Machine Using Statistical Test Oracles","authors":"Fergus Hewson, Jens Dietrich, S. Marsland","doi":"10.1109/ASWEC.2015.14","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.14","url":null,"abstract":"Engineering performance-critical systems often requires manual, expensive fine-tuning of critical application parts such as start-up routines, authentication sequences and transactions. It is highly desirable to protect this investment by regression tests that indicate when performance characteristics such as memory usage or thread allocation change. While traditional testing techniques can be used, they are often too coarse, as systems are tested against static thresholds, and therefore important changes that can result in declining system performance will not be detected. To address these limitations, we propose a novel approach to performance regression testing based on automatically generated statistical test oracles. Machine learning methods are used to detect deviations from the profiles shown in these oracles. We present Buto, a proof-of-concept tool tightly integrated into the JUnit testing framework that can be used to test applications executed on the Java virtual machine (JVM). Buto uses data obtained by transparently monitoring applications through Java Management Extensions (JMX). In this paper we describe the Buto framework and demonstrate how to calibrate the tool using an evaluation based on a set of benchmarking examples.","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123951667","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
期刊
2015 24th Australasian Software Engineering Conference
全部 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