首页 > 最新文献

International Workshop on Search-Based Software Testing最新文献

英文 中文
Root cause analysis for HTML presentation failures using search-based techniques 使用基于搜索的技术分析HTML表示失败的根本原因
Pub Date : 2014-06-02 DOI: 10.1145/2593833.2593836
Sonal Mahajan, Bailan Li, William G. J. Halfond
Presentation failures in web applications can negatively impact users' perception of the application's quality and its usability. Such failures are challenging to diagnose and correct since the user interfaces of modern web applications are defined by a complex interaction between HTML tags and their visual properties defined by CSS and HTML attributes. In this paper, we introduce a novel approach for automatically identifying the root cause of presentation failures in web applications that uses image processing and search based techniques. In an experiment conducted for assessing the accuracy of our approach, we found that it was able to identify the correct root cause with 100% accuracy.
web应用程序中的表现失败会对用户对应用程序质量和可用性的看法产生负面影响。由于现代web应用程序的用户界面是由HTML标签及其由CSS和HTML属性定义的视觉属性之间的复杂交互定义的,因此诊断和纠正此类故障是具有挑战性的。在本文中,我们介绍了一种使用图像处理和基于搜索的技术来自动识别web应用程序中显示失败的根本原因的新方法。在评估我们方法准确性的实验中,我们发现它能够以100%的准确率识别正确的根本原因。
{"title":"Root cause analysis for HTML presentation failures using search-based techniques","authors":"Sonal Mahajan, Bailan Li, William G. J. Halfond","doi":"10.1145/2593833.2593836","DOIUrl":"https://doi.org/10.1145/2593833.2593836","url":null,"abstract":"Presentation failures in web applications can negatively impact users' perception of the application's quality and its usability. Such failures are challenging to diagnose and correct since the user interfaces of modern web applications are defined by a complex interaction between HTML tags and their visual properties defined by CSS and HTML attributes. In this paper, we introduce a novel approach for automatically identifying the root cause of presentation failures in web applications that uses image processing and search based techniques. In an experiment conducted for assessing the accuracy of our approach, we found that it was able to identify the correct root cause with 100% accuracy.","PeriodicalId":424286,"journal":{"name":"International Workshop on Search-Based Software Testing","volume":"553 ","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113994380","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}
引用次数: 10
Search-based security testing of web applications 基于搜索的web应用程序安全测试
Pub Date : 2014-06-02 DOI: 10.1145/2593833.2593835
Julian Thomé, Alessandra Gorla, A. Zeller
SQL injections are still the most exploited web application vulnerabilities. We present a technique to automatically detect such vulnerabilities through targeted test generation. Our approach uses search-based testing to systematically evolve inputs to maximize their potential to expose vulnerabilities. Starting from an entry URL, our BIOFUZZ prototype systematically crawls a web application and generates inputs whose effects on the SQL interaction are assessed at the interface between Web server and database. By evolving those inputs whose resulting SQL interactions show best potential, BIOFUZZ exposes vulnerabilities on real-world Web applications within minutes. As a black-box approach, BIOFUZZ requires neither analysis nor instrumentation of server code; however, it even outperforms state-of-the-art white-box vulnerability scanners.
SQL注入仍然是最容易被利用的web应用程序漏洞。我们提出了一种通过目标测试生成来自动检测此类漏洞的技术。我们的方法使用基于搜索的测试来系统地进化输入,以最大化其暴露漏洞的潜力。从一个输入URL开始,我们的BIOFUZZ原型系统地爬取一个web应用程序并生成输入,这些输入对SQL交互的影响在web服务器和数据库之间的接口进行评估。通过演化那些最终SQL交互显示出最佳潜力的输入,BIOFUZZ可以在几分钟内暴露真实Web应用程序中的漏洞。作为一种黑盒方法,BIOFUZZ既不需要分析也不需要检测服务器代码;然而,它甚至胜过最先进的白盒漏洞扫描器。
{"title":"Search-based security testing of web applications","authors":"Julian Thomé, Alessandra Gorla, A. Zeller","doi":"10.1145/2593833.2593835","DOIUrl":"https://doi.org/10.1145/2593833.2593835","url":null,"abstract":"SQL injections are still the most exploited web application vulnerabilities. We present a technique to automatically detect such vulnerabilities through targeted test generation. Our approach uses search-based testing to systematically evolve inputs to maximize their potential to expose vulnerabilities. Starting from an entry URL, our BIOFUZZ prototype systematically crawls a web application and generates inputs whose effects on the SQL interaction are assessed at the interface between Web server and database. By evolving those inputs whose resulting SQL interactions show best potential, BIOFUZZ exposes vulnerabilities on real-world Web applications within minutes. As a black-box approach, BIOFUZZ requires neither analysis nor instrumentation of server code; however, it even outperforms state-of-the-art white-box vulnerability scanners.","PeriodicalId":424286,"journal":{"name":"International Workshop on Search-Based Software Testing","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131890561","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}
引用次数: 14
Test generation across multiple layers 跨多个层生成测试
Pub Date : 2014-06-02 DOI: 10.1145/2593833.2593834
M. Höschele, Juan P. Galeotti, A. Zeller
Complex software systems frequently come in many layers, each realized in a different programming language. This is a challenge for test generation, as the semantics of each layer have to be determined and integrated. An automatic test generator for Java, for instance, is typically unable to deal with the internals of lower level code (such as C-code), which results in lower coverage and fewer test cases of interest. In this paper, we sketch a novel approach to help search-based test generators for Java to achieve better coverage of underlying native code layers. The key idea is to apply test generation to the native layer first, and then to use the inputs to the native test cases as targets for search-based testing of the higher Java layers. We demonstrate our approach on a case study combining KLEE and EVOSUITE.
复杂的软件系统通常有很多层,每一层都用不同的编程语言实现。这对测试生成来说是一个挑战,因为必须确定和集成每一层的语义。例如,Java的自动测试生成器通常无法处理较低级代码(如c代码)的内部,这导致较低的覆盖率和较少的感兴趣的测试用例。在本文中,我们概述了一种帮助基于搜索的Java测试生成器更好地覆盖底层本地代码层的新方法。关键思想是首先将测试生成应用于本机层,然后将本机测试用例的输入用作更高Java层的基于搜索的测试的目标。我们通过结合KLEE和EVOSUITE的案例研究来展示我们的方法。
{"title":"Test generation across multiple layers","authors":"M. Höschele, Juan P. Galeotti, A. Zeller","doi":"10.1145/2593833.2593834","DOIUrl":"https://doi.org/10.1145/2593833.2593834","url":null,"abstract":"Complex software systems frequently come in many layers, each realized in a different programming language. This is a challenge for test generation, as the semantics of each layer have to be determined and integrated. An automatic test generator for Java, for instance, is typically unable to deal with the internals of lower level code (such as C-code), which results in lower coverage and fewer test cases of interest. In this paper, we sketch a novel approach to help search-based test generators for Java to achieve better coverage of underlying native code layers. The key idea is to apply test generation to the native layer first, and then to use the inputs to the native test cases as targets for search-based testing of the higher Java layers. We demonstrate our approach on a case study combining KLEE and EVOSUITE.","PeriodicalId":424286,"journal":{"name":"International Workshop on Search-Based Software Testing","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128198042","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
Model based test case generation with metaheuristics for networks of timed automata 时间自动机网络中基于模型的元启发式测试用例生成
Pub Date : 2014-06-02 DOI: 10.1145/2593833.2593840
Joachim Hänsel
Model-Based Testing, the task of generating test inputs and oracles from a test model, has been successfully applied in the context of safety-critical real time systems. As these systems grow in complexity, test-models, designed to reflect the systems behaviour, will grow too. Currently testers face situations where test-models are too complex for present test generators. In this paper, we outline a software tool for the evaluation of the scalability of a combination of approaches for model-based test generation. We chose Networks of Timed Automata (NTA) as the modeling formalism because real-time properties can be specified and the semantics are well-defined. However, the tool input is given as a restricted UML statechart which is internally transformed. We expect this to increase industrial acceptance. The tool will provide the selection, parametrization and generation of a metaheuristic algorithm. The aim is to support test model specific generation algorithms. A simulator for NTAs will enable the metaheuristic to search for test goals in the model. For better performance, it will have an advanced parallelisation. Furthermore, input models will be used for search space reduction for even faster test case generation. The proposed approach allows the inclusion of an oracle generator that is able to provide expected outputs; this enables conformance checking between test models and systems under test. We plan to implement the outlined tool to enable test case generation even for models that are beyond the scope of currently available generators.
基于模型的测试,即从测试模型生成测试输入和预言的任务,已经成功地应用于安全关键的实时系统中。随着这些系统变得越来越复杂,设计用来反映系统行为的测试模型也会随之增长。目前测试人员面临的情况是,测试模型对于当前的测试生成器来说过于复杂。在本文中,我们概述了一个软件工具,用于评估基于模型的测试生成方法组合的可伸缩性。我们选择时间自动机网络(NTA)作为建模形式,因为可以指定实时属性并且语义定义良好。然而,工具输入是作为内部转换的受限UML状态图给出的。我们希望这能提高业界的接受度。该工具将提供一个元启发式算法的选择,参数化和生成。其目的是支持特定于测试模型的生成算法。nta的模拟器将使元启发式能够在模型中搜索测试目标。为了获得更好的性能,它将具有高级并行化。此外,输入模型将用于减少搜索空间,以更快地生成测试用例。建议的方法允许包含一个能够提供预期输出的oracle生成器;这使得测试模型和被测系统之间的一致性检查成为可能。我们计划实现概述的工具,以便为超出当前可用生成器范围的模型生成测试用例。
{"title":"Model based test case generation with metaheuristics for networks of timed automata","authors":"Joachim Hänsel","doi":"10.1145/2593833.2593840","DOIUrl":"https://doi.org/10.1145/2593833.2593840","url":null,"abstract":"Model-Based Testing, the task of generating test inputs and oracles from a test model, has been successfully applied in the context of safety-critical real time systems. As these systems grow in complexity, test-models, designed to reflect the systems behaviour, will grow too. Currently testers face situations where test-models are too complex for present test generators. \u0000 In this paper, we outline a software tool for the evaluation of the scalability of a combination of approaches for model-based test generation. We chose Networks of Timed Automata (NTA) as the modeling formalism because real-time properties can be specified and the semantics are well-defined. However, the tool input is given as a restricted UML statechart which is internally transformed. We expect this to increase industrial acceptance. The tool will provide the selection, parametrization and generation of a metaheuristic algorithm. The aim is to support test model specific generation algorithms. A simulator for NTAs will enable the metaheuristic to search for test goals in the model. For better performance, it will have an advanced parallelisation. Furthermore, input models will be used for search space reduction for even faster test case generation. The proposed approach allows the inclusion of an oracle generator that is able to provide expected outputs; this enables conformance checking between test models and systems under test. \u0000 We plan to implement the outlined tool to enable test case generation even for models that are beyond the scope of currently available generators.","PeriodicalId":424286,"journal":{"name":"International Workshop on Search-Based Software Testing","volume":" 13","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120830132","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
Search based techniques for software fault prediction: current trends and future directions 基于搜索的软件故障预测技术:当前趋势和未来方向
Pub Date : 2014-06-02 DOI: 10.1145/2593833.2593842
R. Malhotra
The effective allocation of the resources is crucial and essential in the testing phase of the software development life cycle so that the weak areas in the software can be verified and validated efficiently. The prediction of fault prone classes in the early phases of software development can help software developers to focus the limited available resources on those portions of software, which are more prone to fault. Recently, the search based techniques have been successfully applied in the software engineering domain. In this study, we analyze the position of search based techniques for use in software fault prediction by collecting relevant studies from the literature which were conducted during the period January 1991 to October 2013. We further summarize current trends by assessing the performance capability of the search based techniques in the existing research and suggest future directions.
在软件开发生命周期的测试阶段,资源的有效分配是至关重要的,这样才能有效地验证和确认软件中的薄弱环节。在软件开发的早期阶段对易出错类的预测可以帮助软件开发人员将有限的可用资源集中在那些更容易出错的软件部分。近年来,基于搜索的技术已成功地应用于软件工程领域。在本研究中,我们通过收集1991年1月至2013年10月期间的相关文献,分析了基于搜索的技术在软件故障预测中的应用地位。通过评估现有研究中基于搜索的技术的性能,我们进一步总结了当前的趋势,并提出了未来的方向。
{"title":"Search based techniques for software fault prediction: current trends and future directions","authors":"R. Malhotra","doi":"10.1145/2593833.2593842","DOIUrl":"https://doi.org/10.1145/2593833.2593842","url":null,"abstract":"The effective allocation of the resources is crucial and essential in the testing phase of the software development life cycle so that the weak areas in the software can be verified and validated efficiently. The prediction of fault prone classes in the early phases of software development can help software developers to focus the limited available resources on those portions of software, which are more prone to fault. Recently, the search based techniques have been successfully applied in the software engineering domain. In this study, we analyze the position of search based techniques for use in software fault prediction by collecting relevant studies from the literature which were conducted during the period January 1991 to October 2013. We further summarize current trends by assessing the performance capability of the search based techniques in the existing research and suggest future directions.","PeriodicalId":424286,"journal":{"name":"International Workshop on Search-Based Software Testing","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131598236","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
Moving the goalposts: coverage satisfaction is not enough 移动门柱:仅仅满足覆盖范围是不够的
Pub Date : 2014-06-02 DOI: 10.1145/2593833.2593837
Gregory Gay, Matthew Staats, M. Whalen, M. Heimdahl
Structural coverage criteria have been proposed to measure the adequacy of testing efforts. Indeed, in some domains—e.g., critical systems areas—structural coverage criteria must be satisfied to achieve certification. The advent of powerful search-based test generation tools has given us the ability to generate test inputs to satisfy these structural coverage criteria. While tempting, recent empirical evidence indicates these tools should be used with caution, as merely achieving high structural coverage is not necessarily indicative of high fault detection ability. In this report, we review some of these findings, and offer recommendations on how the strengths of search-based test generation methods can alleviate these issues.
已经提出了结构覆盖标准来度量测试工作的充分性。的确,在某些领域——例如:必须满足关键系统区域-结构覆盖标准才能获得认证。强大的基于搜索的测试生成工具的出现使我们能够生成满足这些结构覆盖标准的测试输入。虽然很诱人,但最近的经验证据表明,这些工具应该谨慎使用,因为仅仅实现高结构覆盖率并不一定表明高故障检测能力。在本报告中,我们回顾了其中的一些发现,并就基于搜索的测试生成方法的优势如何缓解这些问题提供了建议。
{"title":"Moving the goalposts: coverage satisfaction is not enough","authors":"Gregory Gay, Matthew Staats, M. Whalen, M. Heimdahl","doi":"10.1145/2593833.2593837","DOIUrl":"https://doi.org/10.1145/2593833.2593837","url":null,"abstract":"Structural coverage criteria have been proposed to measure the adequacy of testing efforts. Indeed, in some domains—e.g., critical systems areas—structural coverage criteria must be satisfied to achieve certification. The advent of powerful search-based test generation tools has given us the ability to generate test inputs to satisfy these structural coverage criteria. While tempting, recent empirical evidence indicates these tools should be used with caution, as merely achieving high structural coverage is not necessarily indicative of high fault detection ability. In this report, we review some of these findings, and offer recommendations on how the strengths of search-based test generation methods can alleviate these issues.","PeriodicalId":424286,"journal":{"name":"International Workshop on Search-Based Software Testing","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132056818","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}
引用次数: 18
An overview of search based combinatorial testing 基于搜索的组合测试概述
Pub Date : 2014-06-02 DOI: 10.1145/2593833.2593839
Huayao Wu, Changhai Nie
Combinatorial testing (CT) is a branch of software testing, which aims to detect the interaction triggered failures as much as possible. Search based combinatorial testing is to use the search techniques to solve the problem in combinatorial testing. It has been shown to be effective and promising. In this paper, we aim to provide an overview of search based combinatorial testing, especially focusing on test suite generation without constraint, and discuss the potential future directions in this field.
组合测试(CT)是软件测试的一个分支,旨在尽可能多地检测交互触发的故障。基于搜索的组合测试是利用搜索技术来解决组合测试中的问题。它已被证明是有效的和有前途的。在本文中,我们的目标是提供基于搜索的组合测试的概述,特别关注无约束的测试套件生成,并讨论该领域的潜在未来方向。
{"title":"An overview of search based combinatorial testing","authors":"Huayao Wu, Changhai Nie","doi":"10.1145/2593833.2593839","DOIUrl":"https://doi.org/10.1145/2593833.2593839","url":null,"abstract":"Combinatorial testing (CT) is a branch of software testing, which aims to detect the interaction triggered failures as much as possible. Search based combinatorial testing is to use the search techniques to solve the problem in combinatorial testing. It has been shown to be effective and promising. In this paper, we aim to provide an overview of search based combinatorial testing, especially focusing on test suite generation without constraint, and discuss the potential future directions in this field.","PeriodicalId":424286,"journal":{"name":"International Workshop on Search-Based Software Testing","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133729614","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
A hybrid test optimization framework using memetic algorithm with cuckoo flocking based search approach 基于模因算法和基于布谷鸟群的搜索方法的混合测试优化框架
Pub Date : 2014-06-02 DOI: 10.1145/2593833.2593843
Jeya Mala Dharmalingam, K. S. Nathan, S. Balamurugan
The testing process of industrial strength applications usually takes more time to ensure that all the components are rigorously tested to have failure-free operation upon delivery. This research work proposed a hybrid optimization approach that combines the population based multi-objective optimization approach namely Memetic Algorithm with Cuckoo Search (MA-CK) to generate optimal number of test cases that achieves the specified test adequacy criteria based on mutation score and branch coverage. Further, GA, HGA and MA based heuristic algorithms are empirically evaluated and it has been shown that the proposed MA with cuckoo search based optimization algorithm provides an optimal solution.
工业强度应用的测试过程通常需要更多的时间来确保所有组件都经过严格的测试,以便在交付时无故障运行。本研究提出了一种混合优化方法,将基于种群的多目标优化方法即模因算法与杜鹃搜索(MA-CK)相结合,根据突变评分和分支覆盖率生成满足指定测试充分性标准的最优测试用例数量。此外,对基于遗传算法、HGA算法和基于遗传算法的启发式算法进行了实证评估,结果表明,基于布谷鸟搜索的遗传算法提供了最优解。
{"title":"A hybrid test optimization framework using memetic algorithm with cuckoo flocking based search approach","authors":"Jeya Mala Dharmalingam, K. S. Nathan, S. Balamurugan","doi":"10.1145/2593833.2593843","DOIUrl":"https://doi.org/10.1145/2593833.2593843","url":null,"abstract":"The testing process of industrial strength applications usually takes more time to ensure that all the components are rigorously tested to have failure-free operation upon delivery. This research work proposed a hybrid optimization approach that combines the population based multi-objective optimization approach namely Memetic Algorithm with Cuckoo Search (MA-CK) to generate optimal number of test cases that achieves the specified test adequacy criteria based on mutation score and branch coverage. Further, GA, HGA and MA based heuristic algorithms are empirically evaluated and it has been shown that the proposed MA with cuckoo search based optimization algorithm provides an optimal solution.","PeriodicalId":424286,"journal":{"name":"International Workshop on Search-Based Software Testing","volume":"100 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116316045","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
Code hunt: searching for secret code for fun 寻码:以寻找密码为乐
Pub Date : 2014-06-01 DOI: 10.1145/2593833.2593838
N. Tillmann, J. Bishop, N. Horspool, Daniel Perelman, Tao Xie
Learning to code can be made more effective and sustainable if it is perceived as fun by the learner. Code Hunt uses puzzles that players have to explore by means of clues presented as test cases. Players iteratively modify their code to match the functional behavior of secret solutions. This way of learning to code is very different to learning from a specification. It is essentially re-engineering from test cases. Code Hunt is based on the test/clue generation of Pex, a white-box test generation tool that uses dynamic symbolic execution. Pex performs a guided search to determine feasible execution paths. Conceptually, solving a puzzle is the manual process of conducting search-based test generation: the “test data” to be generated by the player is the player’s code, and the “fitness values” that reflect the closeness of the player’s code to the secret code are the clues (i.e., Pex-generated test cases). This paper is the first one to describe Code Hunt and its extensions over its precursor Pex4Fun. Code Hunt represents a high-impact educational gaming platform that not only internally leverages fitness values to guide test/clue generation but also externally offers fun user experiences where search-based test generation is manually emulated. Because the amount of data is growing all the time, the entire system runs in the cloud on Windows Azure.
如果学习者觉得学习编程很有趣,那么学习编程就会更有效、更可持续。《Code Hunt》使用了谜题,玩家必须通过作为测试用例的线索来探索这些谜题。玩家反复修改自己的代码,以匹配秘密解决方案的功能行为。这种学习编码的方式与从规范中学习非常不同。它本质上是从测试用例重新设计的。代码搜索基于Pex的测试/线索生成,Pex是一个使用动态符号执行的白盒测试生成工具。Pex执行引导搜索以确定可行的执行路径。从概念上讲,解决谜题是进行基于搜索的测试生成的手动过程:玩家生成的“测试数据”是玩家的代码,反映玩家代码与秘密代码接近程度的“适应度值”是线索(即pex生成的测试用例)。本文是第一篇描述Code Hunt及其对其前身Pex4Fun的扩展的文章。Code Hunt代表了一个高影响力的教育游戏平台,它不仅在内部利用健康值来指导测试/线索生成,而且在外部提供有趣的用户体验,其中基于搜索的测试生成是手动模拟的。由于数据量一直在增长,整个系统在Windows Azure的云中运行。
{"title":"Code hunt: searching for secret code for fun","authors":"N. Tillmann, J. Bishop, N. Horspool, Daniel Perelman, Tao Xie","doi":"10.1145/2593833.2593838","DOIUrl":"https://doi.org/10.1145/2593833.2593838","url":null,"abstract":"Learning to code can be made more effective and sustainable if it is perceived as fun by the learner. Code Hunt uses puzzles that players have to explore by means of clues presented as test cases. Players iteratively modify their code to match the functional behavior of secret solutions. This way of learning to code is very different to learning from a specification. It is essentially re-engineering from test cases. Code Hunt is based on the test/clue generation of Pex, a white-box test generation tool that uses dynamic symbolic execution. Pex performs a guided search to determine feasible execution paths. Conceptually, solving a puzzle is the manual process of conducting search-based test generation: the “test data” to be generated by the player is the player’s code, and the “fitness values” that reflect the closeness of the player’s code to the secret code are the clues (i.e., Pex-generated test cases). This paper is the first one to describe Code Hunt and its extensions over its precursor Pex4Fun. Code Hunt represents a high-impact educational gaming platform that not only internally leverages fitness values to guide test/clue generation but also externally offers fun user experiences where search-based test generation is manually emulated. Because the amount of data is growing all the time, the entire system runs in the cloud on Windows Azure.","PeriodicalId":424286,"journal":{"name":"International Workshop on Search-Based Software Testing","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130217229","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}
引用次数: 61
期刊
International Workshop on Search-Based Software Testing
全部 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