首页 > 最新文献

2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)最新文献

英文 中文
Generating Qualifiable Avionics Software: An Experience Report (E) 生成合格的航空电子软件:经验报告(E)
A. Wölfl, Norbert Siegmund, S. Apel, H. Kosch, Johann Krautlager, Guillermo Weber-Urbina
We report on our experience with enhancing the data-management component in the avionics software of the NH90 helicopter at Airbus Helicopters. We describe challenges regarding the evolution of avionics software by means of real-world evolution scenarios that arise in industrial practice. A key role plays a legally-binding certification process, called qualification, which is responsible for most of the development effort and cost. To reduce effort and cost, we propose a novel generative approach to develop qualifiable avionics software by combining model-based and product-line technology. Using this approach, we have already generated code that is running on the NH90 helicopter and that is in the process of replacing the current system code. Based on an interview with two professional developers at Airbus and an analysis of the software repository of the NH90, we systematically compare our approach with established development approaches in the avionics domain, in terms of implementation and qualification effort.
我们报告了我们在空中客车直升机NH90直升机航空电子软件中增强数据管理组件的经验。我们通过工业实践中出现的真实世界的发展场景来描述有关航空电子软件发展的挑战。一个关键的角色是具有法律约束力的认证过程,称为资格认证,它负责大部分的开发工作和成本。为了减少工作量和成本,我们提出了一种新的生成方法,将基于模型的技术与生产线技术相结合来开发合格的航空电子软件。使用这种方法,我们已经生成了在NH90直升机上运行的代码,并且正在替换当前的系统代码。基于对空中客车公司两位专业开发人员的采访和对NH90软件库的分析,我们系统地比较了我们的方法与航空电子领域现有的开发方法,在实施和认证方面的努力。
{"title":"Generating Qualifiable Avionics Software: An Experience Report (E)","authors":"A. Wölfl, Norbert Siegmund, S. Apel, H. Kosch, Johann Krautlager, Guillermo Weber-Urbina","doi":"10.1109/ASE.2015.35","DOIUrl":"https://doi.org/10.1109/ASE.2015.35","url":null,"abstract":"We report on our experience with enhancing the data-management component in the avionics software of the NH90 helicopter at Airbus Helicopters. We describe challenges regarding the evolution of avionics software by means of real-world evolution scenarios that arise in industrial practice. A key role plays a legally-binding certification process, called qualification, which is responsible for most of the development effort and cost. To reduce effort and cost, we propose a novel generative approach to develop qualifiable avionics software by combining model-based and product-line technology. Using this approach, we have already generated code that is running on the NH90 helicopter and that is in the process of replacing the current system code. Based on an interview with two professional developers at Airbus and an analysis of the software repository of the NH90, we systematically compare our approach with established development approaches in the avionics domain, in terms of implementation and qualification effort.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"42 1","pages":"726-736"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84620081","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
Fuzzing the Rust Typechecker Using CLP (T) 使用CLP (T)模糊Rust类型检查器
Kyle Dewey, Jared Roesch, B. Hardekopf
Language fuzzing is a bug-finding technique for testing compilers and interpreters, its effectiveness depends upon the ability to automatically generate valid programs in the language under test. Despite the proven success of language fuzzing, there is a severe lack of tool support for fuzzing statically-typed languages with advanced type systems because existing fuzzing techniques cannot effectively and automatically generate well-typed programs that use sophisticated types. In this work we describe how to automatically generate well-typed programs that use sophisticated type systems by phrasing the problem of well-typed program generation in terms of Constraint Logic Programming (CLP). In addition, we describe how to specifically target the typechecker implementation for testing, unlike all existing work which ignores the typechecker. We focus on typechecker precision bugs, soundness bugs, and consistency bugs. We apply our techniques to Rust, a complex, industrial-strength language with a sophisticated type system.
语言模糊测试是一种用于测试编译器和解释器的bug发现技术,其有效性取决于在被测语言中自动生成有效程序的能力。尽管语言模糊测试已被证明是成功的,但由于现有的模糊测试技术不能有效地自动生成使用复杂类型的类型良好的程序,因此严重缺乏使用高级类型系统对静态类型语言进行模糊测试的工具支持。在这项工作中,我们描述了如何自动生成使用复杂类型系统的良好类型程序,方法是根据约束逻辑编程(CLP)来描述良好类型程序生成的问题。此外,我们还描述了如何专门针对类型检查器实现进行测试,这与所有忽略类型检查器的现有工作不同。我们主要关注类型检查器精度错误、可靠性错误和一致性错误。我们将我们的技术应用于Rust,这是一种复杂的、工业强度的语言,具有复杂的类型系统。
{"title":"Fuzzing the Rust Typechecker Using CLP (T)","authors":"Kyle Dewey, Jared Roesch, B. Hardekopf","doi":"10.1109/ASE.2015.65","DOIUrl":"https://doi.org/10.1109/ASE.2015.65","url":null,"abstract":"Language fuzzing is a bug-finding technique for testing compilers and interpreters, its effectiveness depends upon the ability to automatically generate valid programs in the language under test. Despite the proven success of language fuzzing, there is a severe lack of tool support for fuzzing statically-typed languages with advanced type systems because existing fuzzing techniques cannot effectively and automatically generate well-typed programs that use sophisticated types. In this work we describe how to automatically generate well-typed programs that use sophisticated type systems by phrasing the problem of well-typed program generation in terms of Constraint Logic Programming (CLP). In addition, we describe how to specifically target the typechecker implementation for testing, unlike all existing work which ignores the typechecker. We focus on typechecker precision bugs, soundness bugs, and consistency bugs. We apply our techniques to Rust, a complex, industrial-strength language with a sophisticated type system.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"61 1","pages":"482-493"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80587377","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}
引用次数: 39
Stability of Self-Adaptive Software Architectures 自适应软件架构的稳定性
M. Salama
Stakeholders and organisations are increasingly looking for long-lived software. As architectures have a profound effect on the operational life-time of the software and the quality of the service provision, architectural stability could be considered a primary criterion towards achieving the long-livety of the software. Architectural stability is envisioned as the next step in quality attributes, combining many inter-related qualities. This research suggests the notion of behavioural stability as a primary criterion for evaluating whether the architecture maintains achieving the expected quality attributes, maintaining architecture robustness, and evaluating how well the architecture accommodates run-time evolutionary changes. The research investigates the notion of architecture stability at run-time in the context of self-adaptive software architectures. We expect to define, characterise and analyse this intuitive concept, as well as identify the consequent trade-offs to be dynamically managed and enhance the self-adaptation process for a long-lived software.
利益相关者和组织越来越多地寻求长期使用的软件。由于体系结构对软件的运行寿命和服务提供的质量有深远的影响,因此体系结构的稳定性可以被认为是实现软件长期寿命的主要标准。架构稳定性被设想为质量属性的下一个步骤,结合了许多相互关联的质量。这项研究建议将行为稳定性的概念作为评估体系结构是否保持实现预期质量属性、保持体系结构健壮性以及评估体系结构如何很好地适应运行时演化变化的主要标准。在自适应软件体系结构的背景下,研究了运行时体系结构稳定性的概念。我们期望定义、描述和分析这个直观的概念,以及确定要动态管理的相应权衡,并增强长期软件的自适应过程。
{"title":"Stability of Self-Adaptive Software Architectures","authors":"M. Salama","doi":"10.1109/ASE.2015.93","DOIUrl":"https://doi.org/10.1109/ASE.2015.93","url":null,"abstract":"Stakeholders and organisations are increasingly looking for long-lived software. As architectures have a profound effect on the operational life-time of the software and the quality of the service provision, architectural stability could be considered a primary criterion towards achieving the long-livety of the software. Architectural stability is envisioned as the next step in quality attributes, combining many inter-related qualities. This research suggests the notion of behavioural stability as a primary criterion for evaluating whether the architecture maintains achieving the expected quality attributes, maintaining architecture robustness, and evaluating how well the architecture accommodates run-time evolutionary changes. The research investigates the notion of architecture stability at run-time in the context of self-adaptive software architectures. We expect to define, characterise and analyse this intuitive concept, as well as identify the consequent trade-offs to be dynamically managed and enhance the self-adaptation process for a long-lived software.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"27 1","pages":"886-889"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83221268","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
Generating Fixtures for JavaScript Unit Testing (T) 为JavaScript单元测试生成fixture (T)
A. M. Fard, A. Mesbah, Eric Wohlstadter
In today's web applications, JavaScript code interacts with the Document Object Model (DOM) at runtime. This runtime interaction between JavaScript and the DOM is error-prone and challenging to test. In order to unit test a JavaScript function that has read/write DOM operations, a DOM instance has to be provided as a test fixture. This DOM fixture needs to be in the exact structure expected by the function under test. Otherwise, the test case can terminate prematurely due to a null exception. Generating these fixtures is challenging due to the dynamic nature of JavaScript and the hierarchical structure of the DOM. We present an automated technique, based on dynamic symbolic execution, which generates test fixtures for unit testing JavaScript functions. Our approach is implemented in a tool called ConFix. Our empirical evaluation shows that ConFix can effectively generate tests that cover DOM-dependent paths. We also find that ConFix yields considerably higher coverage compared to an existing JavaScript input generation technique.
在今天的web应用程序中,JavaScript代码在运行时与文档对象模型(DOM)交互。JavaScript和DOM之间的这种运行时交互很容易出错,而且很难测试。为了对具有读/写DOM操作的JavaScript函数进行单元测试,必须提供一个DOM实例作为测试装置。这个DOM fixture需要与被测函数所期望的结构完全一致。否则,测试用例可能由于空异常而过早终止。由于JavaScript的动态特性和DOM的层次结构,生成这些固定装置具有挑战性。我们提出了一种基于动态符号执行的自动化技术,它为单元测试JavaScript函数生成测试fixture。我们的方法在一个名为ConFix的工具中实现。我们的经验评估表明,ConFix可以有效地生成覆盖dom相关路径的测试。我们还发现,与现有的JavaScript输入生成技术相比,ConFix的覆盖率要高得多。
{"title":"Generating Fixtures for JavaScript Unit Testing (T)","authors":"A. M. Fard, A. Mesbah, Eric Wohlstadter","doi":"10.1109/ASE.2015.26","DOIUrl":"https://doi.org/10.1109/ASE.2015.26","url":null,"abstract":"In today's web applications, JavaScript code interacts with the Document Object Model (DOM) at runtime. This runtime interaction between JavaScript and the DOM is error-prone and challenging to test. In order to unit test a JavaScript function that has read/write DOM operations, a DOM instance has to be provided as a test fixture. This DOM fixture needs to be in the exact structure expected by the function under test. Otherwise, the test case can terminate prematurely due to a null exception. Generating these fixtures is challenging due to the dynamic nature of JavaScript and the hierarchical structure of the DOM. We present an automated technique, based on dynamic symbolic execution, which generates test fixtures for unit testing JavaScript functions. Our approach is implemented in a tool called ConFix. Our empirical evaluation shows that ConFix can effectively generate tests that cover DOM-dependent paths. We also find that ConFix yields considerably higher coverage compared to an existing JavaScript input generation technique.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"21 1","pages":"190-200"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"85113352","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}
引用次数: 15
Lazy-CSeq: A Context-Bounded Model Checking Tool for Multi-threaded C-Programs Lazy-CSeq:一个多线程c程序的上下文边界模型检查工具
Omar Inverso, Truc L. Nguyen, B. Fischer, S. L. Torre, G. Parlato
Lazy-CSeq is a context-bounded verification tool for sequentially consistent C programs using POSIX threads. It first translates a multi-threaded C program into a bounded nondeterministic sequential C program that preserves bounded reachability for all round-robin schedules up to a given number of rounds. It then reuses existing high-performance bounded model checkers as sequential verification backends. Lazy-CSeq handles the full C language and the main parts of the POSIX thread API, such as dynamic thread creation and deletion, and synchronization via thread join, locks, and condition variables. It supports assertion checking and deadlock detection, and returns counterexamples in case of errors. Lazy-CSeq outperforms other concurrency verification tools and has won the concurrency category of the last two SV-COMP verification competitions.
Lazy-CSeq是一个上下文绑定的验证工具,用于使用POSIX线程的顺序一致的C程序。它首先将多线程C程序转换为有界的不确定性顺序C程序,该程序在给定的轮数内为所有循环调度保留有界的可达性。然后重用现有的高性能有界模型检查器作为顺序验证后端。Lazy-CSeq处理完整的C语言和POSIX线程API的主要部分,例如动态线程创建和删除,以及通过线程连接、锁和条件变量进行同步。它支持断言检查和死锁检测,并在出现错误时返回反例。Lazy-CSeq优于其他并发验证工具,并在最近两届SV-COMP验证竞赛的并发类别中获胜。
{"title":"Lazy-CSeq: A Context-Bounded Model Checking Tool for Multi-threaded C-Programs","authors":"Omar Inverso, Truc L. Nguyen, B. Fischer, S. L. Torre, G. Parlato","doi":"10.1109/ASE.2015.108","DOIUrl":"https://doi.org/10.1109/ASE.2015.108","url":null,"abstract":"Lazy-CSeq is a context-bounded verification tool for sequentially consistent C programs using POSIX threads. It first translates a multi-threaded C program into a bounded nondeterministic sequential C program that preserves bounded reachability for all round-robin schedules up to a given number of rounds. It then reuses existing high-performance bounded model checkers as sequential verification backends. Lazy-CSeq handles the full C language and the main parts of the POSIX thread API, such as dynamic thread creation and deletion, and synchronization via thread join, locks, and condition variables. It supports assertion checking and deadlock detection, and returns counterexamples in case of errors. Lazy-CSeq outperforms other concurrency verification tools and has won the concurrency category of the last two SV-COMP verification competitions.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"1 1","pages":"807-812"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"87362129","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}
引用次数: 50
Optimistic Shared Memory Dependence Tracing (T) 乐观共享内存依赖跟踪(T)
Yanyan Jiang, Du Li, Chang Xu, Xiaoxing Ma, Jian Lu
Inter-thread shared memory dependences are crucial to understanding the behavior of concurrent systems, as such dependences are the cornerstone of time-travel debugging and further predictive trace analyses. To enable effective and efficient shared memory dependence tracing, we present an optimistic scheme addressing the challenge of capturing exact dependences between unsynchronized events to reduce the probe effect of program instrumentation. Specifically, our approach achieved a wait-free fast path for thread-local reads on x86-TSO relaxed memory systems, and simultaneously achieved precise tracing of exact read-after-write, write-after-write and write-after-read dependences on the fly. We implemented an open-source RWTrace tool, and evaluation results show that our approach not only achieves efficient shared memory dependence tracing, but also scales well on a multi-core computer system.
线程间共享内存依赖关系对于理解并发系统的行为至关重要,因为这种依赖关系是时间旅行调试和进一步预测跟踪分析的基础。为了实现有效和高效的共享内存依赖跟踪,我们提出了一个乐观方案来解决捕获非同步事件之间精确依赖的挑战,以减少程序插接的探测效应。具体来说,我们的方法为x86-TSO宽松内存系统上的线程本地读取实现了无等待的快速路径,同时实现了精确跟踪准确的写后读、写后写和读后写依赖关系。我们实现了一个开源的RWTrace工具,评估结果表明我们的方法不仅实现了高效的共享内存依赖跟踪,而且在多核计算机系统上具有良好的可扩展性。
{"title":"Optimistic Shared Memory Dependence Tracing (T)","authors":"Yanyan Jiang, Du Li, Chang Xu, Xiaoxing Ma, Jian Lu","doi":"10.1109/ASE.2015.11","DOIUrl":"https://doi.org/10.1109/ASE.2015.11","url":null,"abstract":"Inter-thread shared memory dependences are crucial to understanding the behavior of concurrent systems, as such dependences are the cornerstone of time-travel debugging and further predictive trace analyses. To enable effective and efficient shared memory dependence tracing, we present an optimistic scheme addressing the challenge of capturing exact dependences between unsynchronized events to reduce the probe effect of program instrumentation. Specifically, our approach achieved a wait-free fast path for thread-local reads on x86-TSO relaxed memory systems, and simultaneously achieved precise tracing of exact read-after-write, write-after-write and write-after-read dependences on the fly. We implemented an open-source RWTrace tool, and evaluation results show that our approach not only achieves efficient shared memory dependence tracing, but also scales well on a multi-core computer system.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"65 1","pages":"524-534"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89142671","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
Automatic Detection of Potential Layout Faults Following Changes to Responsive Web Pages (N) 响应式网页更改后的潜在布局错误自动检测(N)
Thomas A. Walsh, Phil McMinn, G. M. Kapfhammer
Due to the exponential increase in the number ofmobile devices being used to access the World Wide Web, it iscrucial that Web sites are functional and user-friendly across awide range of Web-enabled devices. This necessity has resulted in the introduction of responsive Web design (RWD), which usescomplex cascading style sheets (CSS) to fluidly modify a Web site's appearance depending on the viewport width of the device in use. Although existing tools may support the testing of responsive Web sites, they are time consuming and error-prone to use because theyrequire manual screenshot inspection at specified viewport widths. Addressing these concerns, this paper presents a method thatcan automatically detect potential layout faults in responsively designed Web sites. To experimentally evaluate this approach, weimplemented it as a tool, called ReDeCheck, and applied itto 5 real-world web sites that vary in both their approach toresponsive design and their complexity. The experiments revealthat ReDeCheck finds 91% of the inserted layout faults.
由于用于访问万维网的移动设备数量呈指数级增长,因此至关重要的是,Web站点在各种支持Web的设备上都具有功能性和用户友好性。这种必要性导致了响应式Web设计(RWD)的引入,它使用复杂的层叠样式表(CSS)根据所使用设备的视口宽度流畅地修改网站的外观。尽管现有的工具可能支持响应式Web站点的测试,但它们使用起来既耗时又容易出错,因为它们需要在指定的视口宽度上手动检查屏幕截图。针对这些问题,本文提出了一种可以自动检测响应式设计网站中潜在布局错误的方法。为了实验性地评估这种方法,我们将其作为一个工具实现,称为ReDeCheck,并将其应用于5个现实世界的网站,这些网站在响应式设计的方法和复杂性方面都有所不同。实验表明,ReDeCheck发现了91%的插入式布局故障。
{"title":"Automatic Detection of Potential Layout Faults Following Changes to Responsive Web Pages (N)","authors":"Thomas A. Walsh, Phil McMinn, G. M. Kapfhammer","doi":"10.1109/ASE.2015.31","DOIUrl":"https://doi.org/10.1109/ASE.2015.31","url":null,"abstract":"Due to the exponential increase in the number ofmobile devices being used to access the World Wide Web, it iscrucial that Web sites are functional and user-friendly across awide range of Web-enabled devices. This necessity has resulted in the introduction of responsive Web design (RWD), which usescomplex cascading style sheets (CSS) to fluidly modify a Web site's appearance depending on the viewport width of the device in use. Although existing tools may support the testing of responsive Web sites, they are time consuming and error-prone to use because theyrequire manual screenshot inspection at specified viewport widths. Addressing these concerns, this paper presents a method thatcan automatically detect potential layout faults in responsively designed Web sites. To experimentally evaluate this approach, weimplemented it as a tool, called ReDeCheck, and applied itto 5 real-world web sites that vary in both their approach toresponsive design and their complexity. The experiments revealthat ReDeCheck finds 91% of the inserted layout faults.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"73 1","pages":"709-714"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88330689","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}
引用次数: 42
Variable Feature Usage Patterns in PHP (T) PHP (T)中的可变特性使用模式
M. Hills
PHP allows the names of variables, classes, functions, methods, and properties to be given dynamically, as expressions that, when evaluated, return an identifier as a string. While this provides greater flexibility for programmers, it also makes PHP programs harder to precisely analyze and understand. In this paper we present a number of patterns designed to recognize idiomatic uses of these features that can be statically resolved to a precise set of possible names. We then evaluate these patterns across a corpus of 20 open-source systems totaling more than 3.7 million lines of PHP, showing how often these patterns occur in actual PHP code, demonstrating their effectiveness at statically determining the names that can be used at runtime, and exploring anti-patterns that indicate when the identifier computation is truly dynamic.
PHP允许以表达式的形式动态地给出变量、类、函数、方法和属性的名称,这些表达式在求值时返回字符串形式的标识符。虽然这为程序员提供了更大的灵活性,但也使PHP程序更难精确地分析和理解。在本文中,我们提出了一些模式,旨在识别这些特性的惯用用法,这些特性可以静态解析为一组精确的可能名称。然后,我们在20个开源系统的语库中评估这些模式,总共超过370万行PHP代码,展示这些模式在实际PHP代码中出现的频率,展示它们在静态确定可在运行时使用的名称方面的有效性,并探索指示标识符计算何时真正是动态的反模式。
{"title":"Variable Feature Usage Patterns in PHP (T)","authors":"M. Hills","doi":"10.1109/ASE.2015.72","DOIUrl":"https://doi.org/10.1109/ASE.2015.72","url":null,"abstract":"PHP allows the names of variables, classes, functions, methods, and properties to be given dynamically, as expressions that, when evaluated, return an identifier as a string. While this provides greater flexibility for programmers, it also makes PHP programs harder to precisely analyze and understand. In this paper we present a number of patterns designed to recognize idiomatic uses of these features that can be statically resolved to a precise set of possible names. We then evaluate these patterns across a corpus of 20 open-source systems totaling more than 3.7 million lines of PHP, showing how often these patterns occur in actual PHP code, demonstrating their effectiveness at statically determining the names that can be used at runtime, and exploring anti-patterns that indicate when the identifier computation is truly dynamic.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"40 1","pages":"563-573"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91346944","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}
引用次数: 9
The ReMinds Tool Suite for Runtime Monitoring of Systems of Systems 用于系统的系统运行时监控的提醒工具套件
Michael Vierhauser, Rick Rabiser, P. Grünbacher, Jürgen Thanhofer-Pilisch
The behavior of systems of systems (SoS) emerges only fully during operation and is hard to predict. SoS thus need to be monitored at runtime to detect deviations from important requirements. However, existing approaches for checking runtime behavior and performance characteristics are limited with respect to the kinds of checks and the types of technologies supported, which impedes their use in industrial SoS. In this tool demonstration paper we describe the ReMinds tool suite for runtime monitoring of SoS developed in response to industrial monitoring scenarios. ReMinds provides comprehensive tool support for instrumenting systems, extracting events and data at runtime, defining constraints to check expected behavior and properties, and visualizing constraint violations to facilitate diagnosis.
系统的系统(SoS)的行为只有在运行过程中才能完全显现出来,而且很难预测。因此,需要在运行时对so进行监视,以检测与重要需求的偏差。然而,检查运行时行为和性能特征的现有方法在检查类型和所支持的技术类型方面受到限制,这阻碍了它们在工业so中的使用。在这篇工具演示论文中,我们描述了为响应工业监控场景而开发的用于SoS运行时监控的提醒工具套件。提醒为仪器系统提供全面的工具支持,在运行时提取事件和数据,定义约束以检查预期的行为和属性,以及可视化约束违反以促进诊断。
{"title":"The ReMinds Tool Suite for Runtime Monitoring of Systems of Systems","authors":"Michael Vierhauser, Rick Rabiser, P. Grünbacher, Jürgen Thanhofer-Pilisch","doi":"10.1109/ASE.2015.91","DOIUrl":"https://doi.org/10.1109/ASE.2015.91","url":null,"abstract":"The behavior of systems of systems (SoS) emerges only fully during operation and is hard to predict. SoS thus need to be monitored at runtime to detect deviations from important requirements. However, existing approaches for checking runtime behavior and performance characteristics are limited with respect to the kinds of checks and the types of technologies supported, which impedes their use in industrial SoS. In this tool demonstration paper we describe the ReMinds tool suite for runtime monitoring of SoS developed in response to industrial monitoring scenarios. ReMinds provides comprehensive tool support for instrumenting systems, extracting events and data at runtime, defining constraints to check expected behavior and properties, and visualizing constraint violations to facilitate diagnosis.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"20 1","pages":"777-782"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74974749","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
Performance Prediction of Configurable Software Systems by Fourier Learning (T) 基于傅里叶学习(T)的可配置软件系统性能预测
Yi Zhang, Jianmei Guo, Eric Blais, K. Czarnecki
Understanding how performance varies across a large number of variants of a configurable software system is important for helping stakeholders to choose a desirable variant. Given a software system with n optional features, measuring all its 2n possible configurations to determine their performances is usually infeasible. Thus, various techniques have been proposed to predict software performances based on a small sample of measured configurations. We propose a novel algorithm based on Fourier transform that is able to make predictions of any configurable software system with theoretical guarantees of accuracy and confidence level specified by the user, while using minimum number of samples up to a constant factor. Empirical results on the case studies constructed from real-world configurable systems demonstrate the effectiveness of our algorithm.
了解性能在可配置软件系统的大量变体之间是如何变化的,这对于帮助涉众选择理想的变体非常重要。给定一个具有n个可选特性的软件系统,测量其所有2n个可能的配置以确定其性能通常是不可行的。因此,已经提出了各种技术来基于测量配置的小样本来预测软件性能。我们提出了一种基于傅里叶变换的新算法,该算法能够对任何可配置的软件系统进行预测,并在理论上保证用户指定的准确性和置信度,同时使用最小样本数到常数因子。从实际可配置系统构建的案例研究的经验结果证明了我们的算法的有效性。
{"title":"Performance Prediction of Configurable Software Systems by Fourier Learning (T)","authors":"Yi Zhang, Jianmei Guo, Eric Blais, K. Czarnecki","doi":"10.1109/ASE.2015.15","DOIUrl":"https://doi.org/10.1109/ASE.2015.15","url":null,"abstract":"Understanding how performance varies across a large number of variants of a configurable software system is important for helping stakeholders to choose a desirable variant. Given a software system with n optional features, measuring all its 2n possible configurations to determine their performances is usually infeasible. Thus, various techniques have been proposed to predict software performances based on a small sample of measured configurations. We propose a novel algorithm based on Fourier transform that is able to make predictions of any configurable software system with theoretical guarantees of accuracy and confidence level specified by the user, while using minimum number of samples up to a constant factor. Empirical results on the case studies constructed from real-world configurable systems demonstrate the effectiveness of our algorithm.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"55 1","pages":"365-373"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86883181","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}
引用次数: 80
期刊
2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)
全部 Geobiology Appl. Clay Sci. Geochim. Cosmochim. Acta J. Hydrol. Org. Geochem. Carbon Balance Manage. Contrib. Mineral. Petrol. Int. J. Biometeorol. IZV-PHYS SOLID EART+ J. Atmos. Chem. Acta Oceanolog. Sin. Acta Geophys. ACTA GEOL POL ACTA PETROL SIN ACTA GEOL SIN-ENGL AAPG Bull. Acta Geochimica Adv. Atmos. Sci. Adv. Meteorol. Am. J. Phys. Anthropol. Am. J. Sci. Am. Mineral. Annu. Rev. Earth Planet. Sci. Appl. Geochem. Aquat. Geochem. Ann. Glaciol. Archaeol. Anthropol. Sci. ARCHAEOMETRY ARCT ANTARCT ALP RES Asia-Pac. J. Atmos. Sci. ATMOSPHERE-BASEL Atmos. Res. Aust. J. Earth Sci. Atmos. Chem. Phys. Atmos. Meas. Tech. Basin Res. Big Earth Data BIOGEOSCIENCES Geostand. Geoanal. Res. GEOLOGY Geosci. J. Geochem. J. Geochem. Trans. Geosci. Front. Geol. Ore Deposits Global Biogeochem. Cycles Gondwana Res. Geochem. Int. Geol. J. Geophys. Prospect. Geosci. Model Dev. GEOL BELG GROUNDWATER Hydrogeol. J. Hydrol. Earth Syst. Sci. Hydrol. Processes Int. J. Climatol. Int. J. Earth Sci. Int. Geol. Rev. Int. J. Disaster Risk Reduct. Int. J. Geomech. Int. J. Geog. Inf. Sci. Isl. Arc J. Afr. Earth. Sci. J. Adv. Model. Earth Syst. J APPL METEOROL CLIM J. Atmos. Oceanic Technol. J. Atmos. Sol. Terr. Phys. J. Clim. J. Earth Sci. J. Earth Syst. Sci. J. Environ. Eng. Geophys. J. Geog. Sci. Mineral. Mag. Miner. Deposita Mon. Weather Rev. Nat. Hazards Earth Syst. Sci. Nat. Clim. Change Nat. Geosci. Ocean Dyn. Ocean and Coastal Research npj Clim. Atmos. Sci. Ocean Modell. Ocean Sci. Ore Geol. Rev. OCEAN SCI J Paleontol. J. PALAEOGEOGR PALAEOCL PERIOD MINERAL PETROLOGY+ Phys. Chem. Miner. Polar Sci. Prog. Oceanogr. Quat. Sci. Rev. Q. J. Eng. Geol. Hydrogeol. RADIOCARBON Pure Appl. Geophys. Resour. Geol. Rev. Geophys. Sediment. Geol.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1