首页 > 最新文献

2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)最新文献

英文 中文
Implementation Science for Software Engineering: Bridging the Gap between Research and Practice (Keynote) 软件工程的实现科学:弥合研究与实践之间的差距(主题演讲)
Lauren Herckis
Software engineering research rarely impacts practitioners in the field. A desire to facilitate transfer alone is not sufficient to bridge the gap between research and practice. Fields from medicine to education have acknowledged a similar challenge over the past 25 years. An empirical approach to the translation of research into evidence-based practice has emerged from the resulting discussion. Implementation science has fundamentally changed the way that biomedical research is conducted, and has revolutionized the daily practice of doctors, social workers, epidemiologists, early childhood educators, and more. In this talk we will explore the methods, frameworks, and practices of implementation science and their application to novel disciplines, including software engineering research. We will close by proposing some directions for future software engineering research to facilitate transfer.
软件工程研究很少影响该领域的实践者。仅仅促进转移的愿望不足以弥合研究与实践之间的差距。在过去的25年里,从医学到教育的各个领域都面临着类似的挑战。从由此产生的讨论中出现了一种将研究转化为循证实践的实证方法。实施科学从根本上改变了生物医学研究的开展方式,并彻底改变了医生、社会工作者、流行病学家、幼儿教育工作者等的日常实践。在这次演讲中,我们将探讨实现科学的方法、框架和实践,以及它们在包括软件工程研究在内的新学科中的应用。最后,我们将提出未来软件工程研究的一些方向,以促进转移。
{"title":"Implementation Science for Software Engineering: Bridging the Gap between Research and Practice (Keynote)","authors":"Lauren Herckis","doi":"10.1145/3238147.3264581","DOIUrl":"https://doi.org/10.1145/3238147.3264581","url":null,"abstract":"Software engineering research rarely impacts practitioners in the field. A desire to facilitate transfer alone is not sufficient to bridge the gap between research and practice. Fields from medicine to education have acknowledged a similar challenge over the past 25 years. An empirical approach to the translation of research into evidence-based practice has emerged from the resulting discussion. Implementation science has fundamentally changed the way that biomedical research is conducted, and has revolutionized the daily practice of doctors, social workers, epidemiologists, early childhood educators, and more. In this talk we will explore the methods, frameworks, and practices of implementation science and their application to novel disciplines, including software engineering research. We will close by proposing some directions for future software engineering research to facilitate transfer.","PeriodicalId":6622,"journal":{"name":"2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"32 1","pages":"1-1"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81232406","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
L-CMP: An Automatic Learning-Based Parameterized Verification Tool L-CMP:基于自动学习的参数化验证工具
Jialun Cao, Yongjian Li, Jun Pang
This demo introduces L-CMP, an automatic learning-based parameterized verification tool. It can verify parameterized protocols by combining machine learning and model checking techniques. Given a parameterized protocol, L-CMP learns a set of auxiliary invariants and implements verification of the protocol using the invariants automatically. In particular, the learned auxiliary invariants are straightforward and readable. The experimental results show that L-CMP can successfully verify a number of cache coherence protocols, including the industrial-scale FLASH protocol. The video presentation of L-CMP is available at https://youtu.be/6Dl2HiiiS4E, and the source code can be downloaded at https://github.com/ArabelaTso/Learning-Based-ParaVerifer.
这个演示介绍了L-CMP,一个基于自动学习的参数化验证工具。它结合机器学习和模型检查技术对参数化协议进行验证。给定一个参数化协议,L-CMP学习一组辅助不变量,并使用这些不变量自动实现协议的验证。特别是,学习的辅助不变量是直接和可读的。实验结果表明,L-CMP可以成功验证多种缓存一致性协议,包括工业规模的FLASH协议。L-CMP的视频演示可以在https://youtu.be/6Dl2HiiiS4E上获得,源代码可以在https://github.com/ArabelaTso/Learning-Based-ParaVerifer上下载。
{"title":"L-CMP: An Automatic Learning-Based Parameterized Verification Tool","authors":"Jialun Cao, Yongjian Li, Jun Pang","doi":"10.1145/3238147.3240487","DOIUrl":"https://doi.org/10.1145/3238147.3240487","url":null,"abstract":"This demo introduces L-CMP, an automatic learning-based parameterized verification tool. It can verify parameterized protocols by combining machine learning and model checking techniques. Given a parameterized protocol, L-CMP learns a set of auxiliary invariants and implements verification of the protocol using the invariants automatically. In particular, the learned auxiliary invariants are straightforward and readable. The experimental results show that L-CMP can successfully verify a number of cache coherence protocols, including the industrial-scale FLASH protocol. The video presentation of L-CMP is available at https://youtu.be/6Dl2HiiiS4E, and the source code can be downloaded at https://github.com/ArabelaTso/Learning-Based-ParaVerifer.","PeriodicalId":6622,"journal":{"name":"2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"26 1","pages":"892-895"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84483256","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
Scalable Incremental Building with Dynamic Task Dependencies 具有动态任务依赖关系的可伸缩增量构建
Gabriël D. P. Konat, Sebastian Erdweg, E. Visser
Incremental build systems are essential for fast, reproducible software builds. Incremental build systems enable short feedback cycles when they capture dependencies precisely and selectively execute build tasks efficiently. A much overlooked feature of build systems is the expressiveness of the scripting language, which directly influences the maintainability of build scripts. In this paper, we present a new incremental build algorithm that allows build engineers to use a full-fledged programming language with explicit task invocation, value and file inspection facilities, and conditional and iterative language constructs. In contrast to prior work on incrementality for such programmable builds, our algorithm scales with the number of tasks affected by a change and is independent of the size of the software project being built. Specifically, our algorithm accepts a set of changed files, transitively detects and re-executes affected build tasks, but also accounts for new task dependencies discovered during building. We have evaluated the performance of our algorithm in a real-world case study and confirm its scalability.
增量构建系统对于快速、可复制的软件构建是必不可少的。增量构建系统在精确捕获依赖项并有选择地高效执行构建任务时,支持短的反馈周期。构建系统的一个经常被忽视的特性是脚本语言的表达性,它直接影响构建脚本的可维护性。在本文中,我们提出了一种新的增量构建算法,该算法允许构建工程师使用具有显式任务调用、值和文件检查功能以及条件和迭代语言结构的成熟编程语言。与之前针对这种可编程构建的增量工作相反,我们的算法随着受更改影响的任务数量而扩展,并且独立于正在构建的软件项目的大小。具体来说,我们的算法接受一组更改的文件,传递地检测并重新执行受影响的构建任务,但也考虑在构建过程中发现的新任务依赖关系。我们已经在实际案例研究中评估了算法的性能,并确认了其可扩展性。
{"title":"Scalable Incremental Building with Dynamic Task Dependencies","authors":"Gabriël D. P. Konat, Sebastian Erdweg, E. Visser","doi":"10.1145/3238147.3238196","DOIUrl":"https://doi.org/10.1145/3238147.3238196","url":null,"abstract":"Incremental build systems are essential for fast, reproducible software builds. Incremental build systems enable short feedback cycles when they capture dependencies precisely and selectively execute build tasks efficiently. A much overlooked feature of build systems is the expressiveness of the scripting language, which directly influences the maintainability of build scripts. In this paper, we present a new incremental build algorithm that allows build engineers to use a full-fledged programming language with explicit task invocation, value and file inspection facilities, and conditional and iterative language constructs. In contrast to prior work on incrementality for such programmable builds, our algorithm scales with the number of tasks affected by a change and is independent of the size of the software project being built. Specifically, our algorithm accepts a set of changed files, transitively detects and re-executes affected build tasks, but also accounts for new task dependencies discovered during building. We have evaluated the performance of our algorithm in a real-world case study and confirm its scalability.","PeriodicalId":6622,"journal":{"name":"2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"19 1","pages":"76-86"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83926364","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}
引用次数: 17
Live Versioning of Web Applications through Refactoring 通过重构实现Web应用程序的实时版本控制
J. Grigera, Juan Cruz Gardey, A. Garrido, G. Rossi
Client-Side Web Refactorings (CSWRs) allow improving interaction aspects of web applications by applying changes to the user interface without altering the code base, even in production settings. However, developers are not always willing, or allowed to apply external adaptations to their applications' user interface. Besides, CSWRs do not guarantee improvements in all contexts, so it may be unwise to install them in a production version. We propose a tool that allows creating private versions of a running web application almost automatically. With this tool, developers or usability experts can combine CSWRs to create alternative versions of web applications, without requiring a cloned sandbox environment for each one. This yields many uses, such as quickly setting up user tests, showing live alternatives to Product Owners, or performing A/B testing. The tool is built on top of Kobold, a service that allows applying CSWRs to fix usability smells. The tool is available at https://bit.ly/2nhQ2MD. A screencast is available at https://youtu.be/LVc3BOtVP3I.
客户端Web重构(CSWRs)允许通过在不改变代码库的情况下对用户界面进行更改来改进Web应用程序的交互方面,即使在生产环境中也是如此。然而,开发人员并不总是愿意或允许对其应用程序的用户界面进行外部调整。此外,cswr不能保证在所有上下文中都有改进,因此在生产版本中安装它们可能是不明智的。我们提出了一种工具,它可以几乎自动地创建正在运行的web应用程序的私有版本。有了这个工具,开发人员或可用性专家可以组合cswr来创建web应用程序的替代版本,而不需要为每个版本创建一个克隆的沙箱环境。这产生了许多用途,例如快速设置用户测试,向产品负责人显示实时替代方案,或执行A/B测试。这个工具是建立在Kobold之上的,这是一个允许应用cswr来修复可用性气味的服务。该工具可在https://bit.ly/2nhQ2MD上获得。视频可以在https://youtu.be/LVc3BOtVP3I上找到。
{"title":"Live Versioning of Web Applications through Refactoring","authors":"J. Grigera, Juan Cruz Gardey, A. Garrido, G. Rossi","doi":"10.1145/3238147.3240483","DOIUrl":"https://doi.org/10.1145/3238147.3240483","url":null,"abstract":"Client-Side Web Refactorings (CSWRs) allow improving interaction aspects of web applications by applying changes to the user interface without altering the code base, even in production settings. However, developers are not always willing, or allowed to apply external adaptations to their applications' user interface. Besides, CSWRs do not guarantee improvements in all contexts, so it may be unwise to install them in a production version. We propose a tool that allows creating private versions of a running web application almost automatically. With this tool, developers or usability experts can combine CSWRs to create alternative versions of web applications, without requiring a cloned sandbox environment for each one. This yields many uses, such as quickly setting up user tests, showing live alternatives to Product Owners, or performing A/B testing. The tool is built on top of Kobold, a service that allows applying CSWRs to fix usability smells. The tool is available at https://bit.ly/2nhQ2MD. A screencast is available at https://youtu.be/LVc3BOtVP3I.","PeriodicalId":6622,"journal":{"name":"2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"56 1","pages":"872-875"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88629136","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}
引用次数: 7
Dual-Force: Understanding WebView Malware via Cross-Language Forced Execution 双重强制:通过跨语言强制执行理解WebView恶意软件
Zhenhao Tang, Juan Zhai, Minxue Pan, Yousra Aafer, Shiqing Ma, X. Zhang, Jianhua Zhao
Modern Android malwares tend to use advanced techniques to cover their malicious behaviors. They usually feature multi-staged, condition-guarded and environment-specific payloads. An increasing number of them utilize WebView, particularly the two-way communications between Java and JavaScript, to evade detection and analysis of existing techniques. We propose Dual-Force, a forced execution technique which simultaneously forces both Java and JavaScript code of WebView applications to execute along various paths without requiring any environment setup or providing any inputs manually. As such, the hidden payloads of WebView malwares are forcefully exposed. The technique features a novel execution model that allows forced execution to suppress exceptions and continue execution. Experimental results show that Dual-Force precisely exposes malicious payload in 119 out of 150 Web-View malwares. Compared to the state-of-the-art, Dual-Force can expose 23% more malicious behaviors.
现代Android恶意软件倾向于使用先进的技术来掩盖其恶意行为。它们通常具有多级、条件保护和特定环境的有效载荷。他们中越来越多的人利用WebView,特别是Java和JavaScript之间的双向通信,来逃避现有技术的检测和分析。我们提出Dual-Force,一种强制执行技术,它同时强制WebView应用程序的Java和JavaScript代码沿着不同的路径执行,而不需要任何环境设置或手动提供任何输入。因此,WebView恶意软件的隐藏有效负载被强制暴露。该技术的特点是一种新颖的执行模型,允许强制执行以抑制异常并继续执行。实验结果表明,在150种Web-View恶意软件中,Dual-Force可以精确地暴露119种恶意负载。与最先进的技术相比,Dual-Force可以暴露23%的恶意行为。
{"title":"Dual-Force: Understanding WebView Malware via Cross-Language Forced Execution","authors":"Zhenhao Tang, Juan Zhai, Minxue Pan, Yousra Aafer, Shiqing Ma, X. Zhang, Jianhua Zhao","doi":"10.1145/3238147.3238221","DOIUrl":"https://doi.org/10.1145/3238147.3238221","url":null,"abstract":"Modern Android malwares tend to use advanced techniques to cover their malicious behaviors. They usually feature multi-staged, condition-guarded and environment-specific payloads. An increasing number of them utilize WebView, particularly the two-way communications between Java and JavaScript, to evade detection and analysis of existing techniques. We propose Dual-Force, a forced execution technique which simultaneously forces both Java and JavaScript code of WebView applications to execute along various paths without requiring any environment setup or providing any inputs manually. As such, the hidden payloads of WebView malwares are forcefully exposed. The technique features a novel execution model that allows forced execution to suppress exceptions and continue execution. Experimental results show that Dual-Force precisely exposes malicious payload in 119 out of 150 Web-View malwares. Compared to the state-of-the-art, Dual-Force can expose 23% more malicious behaviors.","PeriodicalId":6622,"journal":{"name":"2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"161 1","pages":"714-725"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78593999","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
Message from the Chairs 来自主席的信息
R. Graglia
It is our great pleasure and honor to welcome everyone to the 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2018). The ASE conference series is the premier research forum for automated software engineering. Each year it brings together researchers and practitioners from academia and industry to discuss foundations, techniques, and tools for automated analysis, design, implementation, testing, and maintenance of software systems
我们非常高兴和荣幸地欢迎大家参加第33届IEEE/ACM自动化软件工程国际会议(ASE 2018)。ASE系列会议是自动化软件工程的首要研究论坛。每年,它将来自学术界和工业界的研究人员和实践者聚集在一起,讨论软件系统的自动化分析、设计、实现、测试和维护的基础、技术和工具
{"title":"Message from the Chairs","authors":"R. Graglia","doi":"10.1109/cce.2012.6315963","DOIUrl":"https://doi.org/10.1109/cce.2012.6315963","url":null,"abstract":"It is our great pleasure and honor to welcome everyone to the 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2018). The ASE conference series is the premier research forum for automated software engineering. Each year it brings together researchers and practitioners from academia and industry to discuss foundations, techniques, and tools for automated analysis, design, implementation, testing, and maintenance of software systems","PeriodicalId":6622,"journal":{"name":"2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"103 1","pages":"iii-vi"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78187354","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
DroidMate-2: A Platform for Android Test Generation Android测试生成平台DroidMate-2
N. P. Borges, Jenny Hotzkow, A. Zeller
Android applications (apps) represent an ever increasing portion of the software market. Automated test input generators are the state of the art for testing and security analysis. We introduceDroidMate-2 (DM-2), a platform to easily assist both developers and researchers to customize, develop and test new test generators. DM-2 can be used without app instrumentation or operating system modifications, as a test generator on real devices and emulators for app testing or regression testing. Additionally, it provides sensitive resource monitoring or blocking capabilities through a lightweight app instrumentation, out-of-the-box statement coverage measurement through a fully-fledged app instrumentation and native experiment reproducibility. In our experiments we compared DM-2 against Droid-Bot, a state-of-the-art test generator by measuring statement coverage. Our results show that DM-2 reached 96% of its peak coverage in less than 2/3 of the time needed by Droid-Bot, allowing for better and more efficient tests. On short runs (5 minutes) DM-2 outperformed Droid-Bot by 7% while in longer runs (1 hour) this difference increases to 8%. ACM DL Artifact: https://www.doi.org/10.1145/3264864. For the details see: https://github.com/uds-se/droidmate/wiki/ASE-2018:-Data
Android应用程序在软件市场中所占的份额越来越大。自动化测试输入生成器是测试和安全分析的最新技术。我们推出了edroidmate -2 (DM-2),这是一个平台,可以轻松地帮助开发人员和研究人员定制,开发和测试新的测试生成器。DM-2可以在没有应用程序仪表或操作系统修改的情况下使用,作为真实设备和模拟器上的测试生成器,用于应用程序测试或回归测试。此外,它还通过轻量级的应用程序检测提供敏感的资源监控或阻塞功能,通过成熟的应用程序检测提供开箱即用的语句覆盖测量,以及原生实验可重复性。在我们的实验中,我们通过测量语句覆盖率将DM-2与最先进的测试生成器Droid-Bot进行了比较。我们的结果表明,DM-2在不到Droid-Bot所需时间的2/3的时间内达到了96%的峰值覆盖率,从而实现了更好、更高效的测试。在短时间运行(5分钟)时,DM-2的性能比Droid-Bot高出7%,而在长时间运行(1小时)时,这一差异增加到8%。ACM DL Artifact: https://www.doi.org/10.1145/3264864。详情请参见:https://github.com/uds-se/droidmate/wiki/ASE-2018:-Data
{"title":"DroidMate-2: A Platform for Android Test Generation","authors":"N. P. Borges, Jenny Hotzkow, A. Zeller","doi":"10.1145/3238147.3240479","DOIUrl":"https://doi.org/10.1145/3238147.3240479","url":null,"abstract":"Android applications (apps) represent an ever increasing portion of the software market. Automated test input generators are the state of the art for testing and security analysis. We introduceDroidMate-2 (DM-2), a platform to easily assist both developers and researchers to customize, develop and test new test generators. DM-2 can be used without app instrumentation or operating system modifications, as a test generator on real devices and emulators for app testing or regression testing. Additionally, it provides sensitive resource monitoring or blocking capabilities through a lightweight app instrumentation, out-of-the-box statement coverage measurement through a fully-fledged app instrumentation and native experiment reproducibility. In our experiments we compared DM-2 against Droid-Bot, a state-of-the-art test generator by measuring statement coverage. Our results show that DM-2 reached 96% of its peak coverage in less than 2/3 of the time needed by Droid-Bot, allowing for better and more efficient tests. On short runs (5 minutes) DM-2 outperformed Droid-Bot by 7% while in longer runs (1 hour) this difference increases to 8%. ACM DL Artifact: https://www.doi.org/10.1145/3264864. For the details see: https://github.com/uds-se/droidmate/wiki/ASE-2018:-Data","PeriodicalId":6622,"journal":{"name":"2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"20 1","pages":"916-919"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73730845","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 24
Android Testing via Synthetic Symbolic Execution 通过合成符号执行进行Android测试
Xiang Gao, Shin Hwei Tan, Zhen Dong, Abhik Roychoudhury
Symbolic execution of Android applications is challenging as it involves either building a customized VM for Android or modeling the Android libraries. Since the Android Runtime evolves from one version to another, building a high-fidelity symbolic execution engine involves modeling the effect of the libraries and their evolved versions. Without simulating the behavior of Android libraries, path divergence may occur due to constraint loss when the symbolic values flow into Android framework and these values later affect the subsequent path taken. Previous works such as JPF-Android have relied on the modeling of execution environment such as libraries. In this work, we build a dynamic symbolic execution engine for Android apps, without any manual modeling of execution environment. Environment (or library) dependent control flow decisions in the application will trigger an on-demand program synthesis step to automatically deduce a representation of the library. This representation is refined on-the-fly by running the corresponding library multiple times. The overarching goal of the refinement is to enhance behavioral coverage and to alleviate the path divergence problem during symbolic execution. Moreover, our library synthesis can be made context-specific. Compared to traditional synthesis approaches which aim to synthesize the complete library code, our context-specific synthesis engine can generate more precise expressions for a given context. The evaluation of our dynamic symbolic execution engine, built on top of JDART, shows that the library models obtained from program synthesis are often more accurate than the semi-manual models in JPF-Android. Furthermore, our symbolic execution engine could reach more branch targets, as compared to using the JPF-Android models.
Android应用程序的符号执行是具有挑战性的,因为它涉及到为Android构建定制的VM或对Android库进行建模。由于Android运行时从一个版本演变到另一个版本,构建一个高保真的符号执行引擎涉及到对库及其演变版本的效果进行建模。如果不模拟Android库的行为,当符号值流入Android框架时,可能会由于约束损失而产生路径发散,这些值随后会影响后续的路径。以前的作品,如JPF-Android,都依赖于对执行环境(如库)的建模。在这项工作中,我们为Android应用程序构建了一个动态符号执行引擎,而无需手动建模执行环境。应用程序中依赖于环境(或库)的控制流决策将触发按需程序合成步骤,以自动推导库的表示。这种表示通过多次运行相应的库来实时改进。细化的首要目标是增强行为覆盖,并减轻符号执行期间的路径发散问题。此外,我们的库合成可以根据具体情况进行。与传统的旨在合成完整库代码的合成方法相比,我们的上下文特定合成引擎可以为给定的上下文生成更精确的表达式。对基于jart构建的动态符号执行引擎的评估表明,通过程序合成获得的库模型通常比JPF-Android中的半手动模型更准确。此外,与使用JPF-Android模型相比,我们的符号执行引擎可以达到更多的分支目标。
{"title":"Android Testing via Synthetic Symbolic Execution","authors":"Xiang Gao, Shin Hwei Tan, Zhen Dong, Abhik Roychoudhury","doi":"10.1145/3238147.3238225","DOIUrl":"https://doi.org/10.1145/3238147.3238225","url":null,"abstract":"Symbolic execution of Android applications is challenging as it involves either building a customized VM for Android or modeling the Android libraries. Since the Android Runtime evolves from one version to another, building a high-fidelity symbolic execution engine involves modeling the effect of the libraries and their evolved versions. Without simulating the behavior of Android libraries, path divergence may occur due to constraint loss when the symbolic values flow into Android framework and these values later affect the subsequent path taken. Previous works such as JPF-Android have relied on the modeling of execution environment such as libraries. In this work, we build a dynamic symbolic execution engine for Android apps, without any manual modeling of execution environment. Environment (or library) dependent control flow decisions in the application will trigger an on-demand program synthesis step to automatically deduce a representation of the library. This representation is refined on-the-fly by running the corresponding library multiple times. The overarching goal of the refinement is to enhance behavioral coverage and to alleviate the path divergence problem during symbolic execution. Moreover, our library synthesis can be made context-specific. Compared to traditional synthesis approaches which aim to synthesize the complete library code, our context-specific synthesis engine can generate more precise expressions for a given context. The evaluation of our dynamic symbolic execution engine, built on top of JDART, shows that the library models obtained from program synthesis are often more accurate than the semi-manual models in JPF-Android. Furthermore, our symbolic execution engine could reach more branch targets, as compared to using the JPF-Android models.","PeriodicalId":6622,"journal":{"name":"2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"67 1","pages":"419-429"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80271297","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}
引用次数: 26
Towards Automating Disambiguation of Regulations: Using the Wisdom of Crowds 迈向法规自动消歧:利用群体智慧
Manasi S. Patwardhan, A. Sainani, Richa Sharma, S. Karande, S. Ghaisas
Compliant software is a critical need of all modern businesses. Disambiguating regulations to derive requirements is therefore an important software engineering activity. Regulations however are ridden with ambiguities that make their comprehension a challenge, seemingly surmountable only by legal experts. Since legal experts' involvement in every project is expensive, approaches to automate the disambiguation need to be explored. These approaches however require a large amount of annotated data. Collecting data exclusively from experts is not a scalable and affordable solution. In this paper, we present the results of a crowd sourcing experiment to collect annotations on ambiguities in regulations from professional software engineers. We discuss an approach to automate the arduous and critical step of identifying ground truth labels by employing crowd consensus using Expectation Maximization (EM). We demonstrate that the annotations reaching a consensus match those of experts with an accuracy of 87%.
兼容软件是所有现代企业的关键需求。因此,消除规则的歧义以派生需求是一项重要的软件工程活动。然而,法规充满了歧义,使其理解成为一项挑战,似乎只有法律专家才能克服。由于法律专家参与每个项目都是昂贵的,因此需要探索自动消除歧义的方法。然而,这些方法需要大量带注释的数据。仅从专家那里收集数据并不是一种可扩展且负担得起的解决方案。在本文中,我们提出了一个群体外包实验的结果,以收集专业软件工程师对法规中歧义的注释。我们讨论了一种方法,通过使用期望最大化(EM)采用群体共识来自动化识别基础真值标签的艰巨而关键的步骤。我们证明了达到共识的注释与专家的注释相匹配,准确率为87%。
{"title":"Towards Automating Disambiguation of Regulations: Using the Wisdom of Crowds","authors":"Manasi S. Patwardhan, A. Sainani, Richa Sharma, S. Karande, S. Ghaisas","doi":"10.1145/3238147.3240727","DOIUrl":"https://doi.org/10.1145/3238147.3240727","url":null,"abstract":"Compliant software is a critical need of all modern businesses. Disambiguating regulations to derive requirements is therefore an important software engineering activity. Regulations however are ridden with ambiguities that make their comprehension a challenge, seemingly surmountable only by legal experts. Since legal experts' involvement in every project is expensive, approaches to automate the disambiguation need to be explored. These approaches however require a large amount of annotated data. Collecting data exclusively from experts is not a scalable and affordable solution. In this paper, we present the results of a crowd sourcing experiment to collect annotations on ambiguities in regulations from professional software engineers. We discuss an approach to automate the arduous and critical step of identifying ground truth labels by employing crowd consensus using Expectation Maximization (EM). We demonstrate that the annotations reaching a consensus match those of experts with an accuracy of 87%.","PeriodicalId":6622,"journal":{"name":"2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"4 1","pages":"850-855"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76238566","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
Automated Software Engineering 自动化软件工程
{"title":"Automated Software Engineering","authors":"","doi":"10.1007/10515.1573-7535","DOIUrl":"https://doi.org/10.1007/10515.1573-7535","url":null,"abstract":"","PeriodicalId":6622,"journal":{"name":"2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"37 4 1","pages":"1-2"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80191332","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}
引用次数: 37
期刊
2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)
全部 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