首页 > 最新文献

Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering最新文献

英文 中文
Where is the bug and how is it fixed? an experiment with practitioners bug在哪里?它是如何修复的?实践者的实验
Marcel Böhme, E. Soremekun, Sudipta Chattopadhyay, Emamurho Ugherughe, A. Zeller
Research has produced many approaches to automatically locate, explain, and repair software bugs. But do these approaches relate to the way practitioners actually locate, understand, and fix bugs? To help answer this question, we have collected a dataset named DBGBENCH --- the correct fault locations, bug diagnoses, and software patches of 27 real errors in open-source C projects that were consolidated from hundreds of debugging sessions of professional software engineers. Moreover, we shed light on the entire debugging process, from constructing a hypothesis to submitting a patch, and how debugging time, difficulty, and strategies vary across practitioners and types of errors. Most notably, DBGBENCH can serve as reality check for novel automated debugging and repair techniques.
研究已经产生了许多自动定位、解释和修复软件错误的方法。但是这些方法与实践者实际定位、理解和修复错误的方式相关吗?为了帮助回答这个问题,我们收集了一个名为DBGBENCH的数据集——开源C项目中27个真实错误的正确错误位置、错误诊断和软件补丁,这些错误是由专业软件工程师的数百次调试会议整合而成的。此外,我们还阐明了整个调试过程,从构建假设到提交补丁,以及调试时间、难度和策略如何在不同的从业者和错误类型之间变化。最值得注意的是,DBGBENCH可以作为新的自动调试和修复技术的现实检查。
{"title":"Where is the bug and how is it fixed? an experiment with practitioners","authors":"Marcel Böhme, E. Soremekun, Sudipta Chattopadhyay, Emamurho Ugherughe, A. Zeller","doi":"10.1145/3106237.3106255","DOIUrl":"https://doi.org/10.1145/3106237.3106255","url":null,"abstract":"Research has produced many approaches to automatically locate, explain, and repair software bugs. But do these approaches relate to the way practitioners actually locate, understand, and fix bugs? To help answer this question, we have collected a dataset named DBGBENCH --- the correct fault locations, bug diagnoses, and software patches of 27 real errors in open-source C projects that were consolidated from hundreds of debugging sessions of professional software engineers. Moreover, we shed light on the entire debugging process, from constructing a hypothesis to submitting a patch, and how debugging time, difficulty, and strategies vary across practitioners and types of errors. Most notably, DBGBENCH can serve as reality check for novel automated debugging and repair techniques.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114855727","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}
引用次数: 88
Craig vs. Newton in software model checking 软件模型检查中的Craig vs. Newton
Daniel Dietsch, Matthias Heizmann, B. Musa, Alexander Nutz, A. Podelski
Ever since the seminal work on SLAM and BLAST, software model checking with counterexample-guided abstraction refinement (CEGAR) has been an active topic of research. The crucial procedure here is to analyze a sequence of program statements (the counterexample) to find building blocks for the overall proof of the program. We can distinguish two approaches (which we name Craig and Newton) to implement the procedure. The historically first approach, Newton (named after the tool from the SLAM toolkit), is based on symbolic execution. The second approach, Craig, is based on Craig interpolation. It was widely believed that Craig is substantially more effective than Newton. In fact, 12 out of the 15 CEGAR-based tools in SV-COMP are based on Craig. Advances in software model checkers based on Craig, however, can go only lockstep with advances in SMT solvers with Craig interpolation. It may be time to revisit Newton and ask whether Newton can be as effective as Craig. We have implemented a total of 11 variants of Craig and Newton in two different state-of-the-art software model checking tools and present the outcome of our experimental comparison.
自从SLAM和BLAST的开创性工作以来,用反例引导的抽象细化(CEGAR)进行软件模型检查一直是一个活跃的研究课题。这里的关键过程是分析一系列程序语句(反例),为程序的整体证明找到构建块。我们可以区分两种方法(我们将其命名为Craig和Newton)来实现该过程。历史上第一种方法是Newton(以SLAM工具包中的工具命名),它基于符号执行。第二种方法Craig是基于Craig插值。人们普遍认为克雷格比牛顿更有效率。事实上,SV-COMP中15个基于cegar的工具中有12个是基于Craig的。然而,基于Craig的软件模型检查器的进步只能与使用Craig插值的SMT求解器的进步同步。也许是时候重新审视牛顿,问问牛顿是否能像克雷格一样有效。我们在两种不同的最先进的软件模型检查工具中实现了Craig和Newton的总共11个变体,并给出了我们实验比较的结果。
{"title":"Craig vs. Newton in software model checking","authors":"Daniel Dietsch, Matthias Heizmann, B. Musa, Alexander Nutz, A. Podelski","doi":"10.1145/3106237.3106307","DOIUrl":"https://doi.org/10.1145/3106237.3106307","url":null,"abstract":"Ever since the seminal work on SLAM and BLAST, software model checking with counterexample-guided abstraction refinement (CEGAR) has been an active topic of research. The crucial procedure here is to analyze a sequence of program statements (the counterexample) to find building blocks for the overall proof of the program. We can distinguish two approaches (which we name Craig and Newton) to implement the procedure. The historically first approach, Newton (named after the tool from the SLAM toolkit), is based on symbolic execution. The second approach, Craig, is based on Craig interpolation. It was widely believed that Craig is substantially more effective than Newton. In fact, 12 out of the 15 CEGAR-based tools in SV-COMP are based on Craig. Advances in software model checkers based on Craig, however, can go only lockstep with advances in SMT solvers with Craig interpolation. It may be time to revisit Newton and ask whether Newton can be as effective as Craig. We have implemented a total of 11 variants of Craig and Newton in two different state-of-the-art software model checking tools and present the outcome of our experimental comparison.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114681739","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
RGSE: a regular property guided symbolic executor for Java RGSE: Java的常规属性引导符号执行器
Hengbiao Yu, Zhenbang Chen, Yufeng Zhang, Ji Wang, Wei Dong
It is challenging to effectively check a regular property of a program. This paper presents RGSE, a regular property guided dynamic symbolic execution (DSE) engine, for finding a program path satisfying a regular property as soon as possible. The key idea is to evaluate the candidate branches based on the history and future information, and explore the branches along which the paths are more likely to satisfy the property in priority. We have applied RGSE to 16 real-world open source Java programs, totaling 270K lines of code. Compared with the state-of-the-art, RGSE achieves two orders of magnitude speedups for finding the first target path. RGSE can benefit many research topics of software testing and analysis, such as path-oriented test case generation, typestate bug finding, and performance tuning. The demo video is at: https://youtu.be/7zAhvRIdaUU, and RGSE can be accessed at: http://jrgse.github.io.
有效地检查程序的常规属性是一项挑战。本文提出了一种基于规则属性的动态符号执行引擎RGSE,用于快速查找满足规则属性的程序路径。其关键思想是基于历史和未来信息来评估候选分支,并探索路径更有可能满足优先级属性的分支。我们已经将RGSE应用于16个真实的开源Java程序,总共有270K行代码。与最先进的方法相比,RGSE在寻找第一条目标路径时实现了两个数量级的速度提升。RGSE可以使软件测试和分析的许多研究主题受益,例如面向路径的测试用例生成、类型状态错误发现和性能调优。演示视频在:https://youtu.be/7zAhvRIdaUU, RGSE可以在:http://jrgse.github.io访问。
{"title":"RGSE: a regular property guided symbolic executor for Java","authors":"Hengbiao Yu, Zhenbang Chen, Yufeng Zhang, Ji Wang, Wei Dong","doi":"10.1145/3106237.3122830","DOIUrl":"https://doi.org/10.1145/3106237.3122830","url":null,"abstract":"It is challenging to effectively check a regular property of a program. This paper presents RGSE, a regular property guided dynamic symbolic execution (DSE) engine, for finding a program path satisfying a regular property as soon as possible. The key idea is to evaluate the candidate branches based on the history and future information, and explore the branches along which the paths are more likely to satisfy the property in priority. We have applied RGSE to 16 real-world open source Java programs, totaling 270K lines of code. Compared with the state-of-the-art, RGSE achieves two orders of magnitude speedups for finding the first target path. RGSE can benefit many research topics of software testing and analysis, such as path-oriented test case generation, typestate bug finding, and performance tuning. The demo video is at: https://youtu.be/7zAhvRIdaUU, and RGSE can be accessed at: http://jrgse.github.io.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129615330","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
Guidelines for adopting frontend architectures and patterns in microservices-based systems 在基于微服务的系统中采用前端架构和模式的指南
H. Harms, C. Rogowski, Luigi Lo Iacono
Microservice-based systems enable the independent development, deployment, and scalability for separate system components of enterprise applications. A significant aspect during development is the microservice integration in frontends of web, mobile, and desktop applications. One challenge here is the selection of an adequate frontend architecture as well as suitable patterns that satisfy the application requirements. This paper analyses available strategies for organizing and implementing microservices frontends. These approaches are then evaluated based on a quality model and various prototypes of the same application implemented using the distinct approaches. The results of this analysis are generalized to a guideline that supports the selection of a suitable architecture.
基于微服务的系统支持企业应用程序的独立系统组件的独立开发、部署和可伸缩性。开发过程中的一个重要方面是web、移动和桌面应用程序前端的微服务集成。这里的一个挑战是选择合适的前端体系结构以及满足应用程序需求的合适模式。本文分析了组织和实现微服务前端的可用策略。然后根据质量模型和使用不同方法实现的相同应用程序的各种原型对这些方法进行评估。该分析的结果被概括为支持选择合适架构的指导方针。
{"title":"Guidelines for adopting frontend architectures and patterns in microservices-based systems","authors":"H. Harms, C. Rogowski, Luigi Lo Iacono","doi":"10.1145/3106237.3117775","DOIUrl":"https://doi.org/10.1145/3106237.3117775","url":null,"abstract":"Microservice-based systems enable the independent development, deployment, and scalability for separate system components of enterprise applications. A significant aspect during development is the microservice integration in frontends of web, mobile, and desktop applications. One challenge here is the selection of an adequate frontend architecture as well as suitable patterns that satisfy the application requirements. This paper analyses available strategies for organizing and implementing microservices frontends. These approaches are then evaluated based on a quality model and various prototypes of the same application implemented using the distinct approaches. The results of this analysis are generalized to a guideline that supports the selection of a suitable architecture.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"93 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132201332","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}
引用次数: 20
Automatic generation of inter-component communication exploits for Android applications 为Android应用程序自动生成组件间通信漏洞
Joshua Garcia, Mahmoud M. Hammad, Negar Ghorbani, S. Malek
Although a wide variety of approaches identify vulnerabilities in Android apps, none attempt to determine exploitability of those vulnerabilities. Exploitability can aid in reducing false positives of vulnerability analysis, and can help engineers triage bugs. Specifically, one of the main attack vectors of Android apps is their inter-component communication interface, where apps may receive messages called Intents. In this paper, we provide the first approach for automatically generating exploits for Android apps, called LetterBomb, relying on a combined path-sensitive symbolic execution-based static analysis, and the use of software instrumentation and test oracles. We run LetterBomb on 10,000 Android apps from Google Play, where we identify 181 exploits from 835 vulnerable apps. Compared to a state-of-the-art detection approach for three ICC-based vulnerabilities, LetterBomb obtains 33%-60% more vulnerabilities at a 6.66 to 7 times faster speed.
尽管有各种各样的方法可以识别Android应用程序中的漏洞,但没有人试图确定这些漏洞的可利用性。可利用性可以帮助减少漏洞分析的误报,并可以帮助工程师鉴别bug。具体来说,Android应用程序的主要攻击向量之一是它们的组件间通信接口,应用程序可能会在其中接收称为intent的消息。在本文中,我们提供了第一种为Android应用程序自动生成漏洞的方法,称为LetterBomb,它依赖于基于路径敏感符号执行的组合静态分析,以及软件检测和测试oracle的使用。我们在Google Play的1万个Android应用上运行LetterBomb,从835个易受攻击的应用中发现了181个漏洞。与最先进的基于icc的三个漏洞检测方法相比,LetterBomb以6.66到7倍的速度获得了33%-60%的漏洞。
{"title":"Automatic generation of inter-component communication exploits for Android applications","authors":"Joshua Garcia, Mahmoud M. Hammad, Negar Ghorbani, S. Malek","doi":"10.1145/3106237.3106286","DOIUrl":"https://doi.org/10.1145/3106237.3106286","url":null,"abstract":"Although a wide variety of approaches identify vulnerabilities in Android apps, none attempt to determine exploitability of those vulnerabilities. Exploitability can aid in reducing false positives of vulnerability analysis, and can help engineers triage bugs. Specifically, one of the main attack vectors of Android apps is their inter-component communication interface, where apps may receive messages called Intents. In this paper, we provide the first approach for automatically generating exploits for Android apps, called LetterBomb, relying on a combined path-sensitive symbolic execution-based static analysis, and the use of software instrumentation and test oracles. We run LetterBomb on 10,000 Android apps from Google Play, where we identify 181 exploits from 835 vulnerable apps. Compared to a state-of-the-art detection approach for three ICC-based vulnerabilities, LetterBomb obtains 33%-60% more vulnerabilities at a 6.66 to 7 times faster speed.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131658497","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}
引用次数: 28
Automatically diagnosing and repairing error handling bugs in C 自动诊断和修复C语言中的错误处理bug
Yuchi Tian, Baishakhi Ray
Correct error handling is essential for building reliable and secure systems. Unfortunately, low-level languages like C often do not support any error handling primitives and leave it up to the developers to create their own mechanisms for error propagation and handling. However, in practice, the developers often make mistakes while writing the repetitive and tedious error handling code and inadvertently introduce bugs. Such error handling bugs often have severe consequences undermining the security and reliability of the affected systems. Fixing these bugs is also tiring-they are repetitive and cumbersome to implement. Therefore, it is crucial to develop tool supports for automatically detecting and fixing error handling bugs. To understand the nature of error handling bugs that occur in widely used C programs, we conduct a comprehensive study of real world error handling bugs and their fixes. Leveraging the knowledge, we then design, implement, and evaluate ErrDoc, a tool that not only detects and characterizes different types of error handling bugs but also automatically fixes them. Our evaluation on five open-source projects shows that ErrDoc can detect error handling bugs with 100% to 84% precision and around 95% recall, and categorize them with 83% to 96% precision and above 90% recall. Thus, ErrDoc improves precision up to 5 percentage points, and recall up to 44 percentage points w.r.t. the state-of-the-art. We also demonstrate that ErrDoc can fix the bugs with high accuracy.
正确的错误处理对于构建可靠和安全的系统至关重要。不幸的是,像C这样的低级语言通常不支持任何错误处理原语,而是让开发人员创建自己的错误传播和处理机制。然而,在实践中,开发人员经常在编写重复和繁琐的错误处理代码时犯错误,并无意中引入bug。这种错误处理错误通常会造成严重的后果,破坏受影响系统的安全性和可靠性。修复这些bug也很累人——它们是重复的,实现起来很麻烦。因此,开发支持自动检测和修复错误处理错误的工具是至关重要的。为了理解在广泛使用的C程序中出现的错误处理错误的本质,我们对现实世界中的错误处理错误及其修复进行了全面的研究。利用这些知识,我们然后设计、实现和评估ErrDoc,这个工具不仅可以检测和描述不同类型的错误处理错误,还可以自动修复它们。我们对五个开源项目的评估表明,ErrDoc可以以100%到84%的准确率和95%左右的召回率检测错误处理bug,并以83%到96%的准确率和90%以上的召回率对它们进行分类。因此,ErrDoc将精度提高了5个百分点,召回率提高了44个百分点。我们还证明了ErrDoc可以高精度地修复错误。
{"title":"Automatically diagnosing and repairing error handling bugs in C","authors":"Yuchi Tian, Baishakhi Ray","doi":"10.1145/3106237.3106300","DOIUrl":"https://doi.org/10.1145/3106237.3106300","url":null,"abstract":"Correct error handling is essential for building reliable and secure systems. Unfortunately, low-level languages like C often do not support any error handling primitives and leave it up to the developers to create their own mechanisms for error propagation and handling. However, in practice, the developers often make mistakes while writing the repetitive and tedious error handling code and inadvertently introduce bugs. Such error handling bugs often have severe consequences undermining the security and reliability of the affected systems. Fixing these bugs is also tiring-they are repetitive and cumbersome to implement. Therefore, it is crucial to develop tool supports for automatically detecting and fixing error handling bugs. To understand the nature of error handling bugs that occur in widely used C programs, we conduct a comprehensive study of real world error handling bugs and their fixes. Leveraging the knowledge, we then design, implement, and evaluate ErrDoc, a tool that not only detects and characterizes different types of error handling bugs but also automatically fixes them. Our evaluation on five open-source projects shows that ErrDoc can detect error handling bugs with 100% to 84% precision and around 95% recall, and categorize them with 83% to 96% precision and above 90% recall. Thus, ErrDoc improves precision up to 5 percentage points, and recall up to 44 percentage points w.r.t. the state-of-the-art. We also demonstrate that ErrDoc can fix the bugs with high accuracy.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125705508","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}
引用次数: 54
The rising tide lifts all boats: the advancement of science in cyber security (invited talk) 水涨船高:网络安全领域的科学进展(特邀演讲)
L. Williams
Stolen passwords, compromised medical records, taking the internet out through video cameras– cybersecurity breaches are in the news every day. Despite all this, the practice of cybersecurity today is generally reactive rather than proactive. That is, rather than improving their defenses in advance, organizations react to attacks once they have occurred by patching the individual vulnerabilities that led to those attacks. Researchers engineer solutions to the latest form of attack. What we need, instead, are scientifically founded design principles for building in security mechanisms from the beginning, giving protection against broad classes of attacks. Through scientific measurement, we can improve our ability to make decisions that are evidence-based, proactive, and long-sighted. Recognizing these needs, the US National Security Agency (NSA) devised a new framework for collaborative research, the “Lablet” structure, with the intent to more aggressively advance the science of cybersecurity. A key motivation was to catalyze a shift in relevant areas towards a more organized and cohesive scientific community. The NSA named Carnegie Mellon University, North Carolina State University, and the University of Illinois – Urbana Champaign its initial Lablets in 2011, and added the University of Maryland in 2014. This talk will reflect on the structure of the collaborative research efforts of the Lablets, lessons learned in the transition to more scientific concepts to cybersecurity, research results in solving five hard security problems, and methods that are being used for the measurement of scientific progress of the Lablet research.
密码被盗、医疗记录泄露、通过摄像头切断网络——网络安全漏洞每天都在新闻中出现。尽管如此,今天的网络安全实践通常是被动的,而不是主动的。也就是说,组织不是提前提高防御能力,而是在攻击发生后通过修补导致这些攻击的单个漏洞来应对攻击。研究人员设计解决方案的最新形式的攻击。相反,我们需要的是基于科学的设计原则,从一开始就构建安全机制,防止各种类型的攻击。通过科学的测量,我们可以提高我们做出基于证据的、前瞻性的、有远见的决策的能力。认识到这些需求,美国国家安全局(NSA)设计了一种新的合作研究框架,即“Lablet”结构,旨在更积极地推进网络安全科学。一个关键的动机是促进相关领域向更有组织和凝聚力的科学界转变。2011年,美国国家安全局将卡耐基梅隆大学、北卡罗来纳州立大学和伊利诺伊大学厄巴纳香槟分校命名为最初的Lablets,并于2014年加入了马里兰大学。本次演讲将反映Lablet合作研究工作的结构,向更科学的网络安全概念过渡的经验教训,解决五个硬安全问题的研究成果,以及用于测量Lablet研究的科学进展的方法。
{"title":"The rising tide lifts all boats: the advancement of science in cyber security (invited talk)","authors":"L. Williams","doi":"10.1145/3106237.3121272","DOIUrl":"https://doi.org/10.1145/3106237.3121272","url":null,"abstract":"Stolen passwords, compromised medical records, taking the internet out through video cameras– cybersecurity breaches are in the news every day. Despite all this, the practice of cybersecurity today is generally reactive rather than proactive. That is, rather than improving their defenses in advance, organizations react to attacks once they have occurred by patching the individual vulnerabilities that led to those attacks. Researchers engineer solutions to the latest form of attack. What we need, instead, are scientifically founded design principles for building in security mechanisms from the beginning, giving protection against broad classes of attacks. Through scientific measurement, we can improve our ability to make decisions that are evidence-based, proactive, and long-sighted. Recognizing these needs, the US National Security Agency (NSA) devised a new framework for collaborative research, the “Lablet” structure, with the intent to more aggressively advance the science of cybersecurity. A key motivation was to catalyze a shift in relevant areas towards a more organized and cohesive scientific community. The NSA named Carnegie Mellon University, North Carolina State University, and the University of Illinois – Urbana Champaign its initial Lablets in 2011, and added the University of Maryland in 2014. This talk will reflect on the structure of the collaborative research efforts of the Lablets, lessons learned in the transition to more scientific concepts to cybersecurity, research results in solving five hard security problems, and methods that are being used for the measurement of scientific progress of the Lablet research.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"32 4","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113959490","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
Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering 2017年第11届软件工程基础联合会议论文集
E. Bodden, Wilhelm Schäfer, A. Deursen, A. Zisman
{"title":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","authors":"E. Bodden, Wilhelm Schäfer, A. Deursen, A. Zisman","doi":"10.1145/3106237","DOIUrl":"https://doi.org/10.1145/3106237","url":null,"abstract":"","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126985630","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
Model-based privacy and security analysis with CARiSMA CARiSMA基于模型的隐私和安全分析
A. Ahmadian, Sven Peldszus, Qusai Ramadan, J. Jürjens
We present CARiSMA, a tool that is originally designed to support model-based security analysis of IT systems. In our recent work, we added several new functionalities to CARiSMA to support the privacy of personal data. Moreover, we introduced a mechanism to assist the system designers to perform a CARiSMA analysis by automatically initializing an appropriate CARiSMA analysis concerning security and privacy requirements. The motivation for our work is Article 25 of Regulation (EU) 2016/679, which requires appropriate technical and organizational controls must be implemented for ensuring that, by default, the processing of personal data complies with the principles on processing of personal data. This implies that initially IT systems must be analyzed to verify if such principles are respected. System models allow the system developers to handle the complexity of systems and to focus on key aspects such as privacy and security. CARiSMA is available at http://carisma.umlsec.de and our screen cast at https://youtu.be/b5zeHig3ARw.
我们提出CARiSMA,一个最初设计用于支持基于模型的IT系统安全分析的工具。在我们最近的工作中,我们为CARiSMA增加了几个新功能,以支持个人数据的隐私。此外,我们引入了一种机制,通过自动初始化有关安全和隐私需求的适当CARiSMA分析来帮助系统设计人员执行CARiSMA分析。我们工作的动机是法规(EU) 2016/679第25条,该法规要求必须实施适当的技术和组织控制,以确保在默认情况下,个人数据的处理符合个人数据处理原则。这意味着最初必须对IT系统进行分析,以验证这些原则是否得到遵守。系统模型允许系统开发人员处理系统的复杂性,并将重点放在隐私和安全性等关键方面。CARiSMA可以在http://carisma.umlsec.de上找到,我们的屏幕播放在https://youtu.be/b5zeHig3ARw上。
{"title":"Model-based privacy and security analysis with CARiSMA","authors":"A. Ahmadian, Sven Peldszus, Qusai Ramadan, J. Jürjens","doi":"10.1145/3106237.3122823","DOIUrl":"https://doi.org/10.1145/3106237.3122823","url":null,"abstract":"We present CARiSMA, a tool that is originally designed to support model-based security analysis of IT systems. In our recent work, we added several new functionalities to CARiSMA to support the privacy of personal data. Moreover, we introduced a mechanism to assist the system designers to perform a CARiSMA analysis by automatically initializing an appropriate CARiSMA analysis concerning security and privacy requirements. The motivation for our work is Article 25 of Regulation (EU) 2016/679, which requires appropriate technical and organizational controls must be implemented for ensuring that, by default, the processing of personal data complies with the principles on processing of personal data. This implies that initially IT systems must be analyzed to verify if such principles are respected. System models allow the system developers to handle the complexity of systems and to focus on key aspects such as privacy and security. CARiSMA is available at http://carisma.umlsec.de and our screen cast at https://youtu.be/b5zeHig3ARw.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"152 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114644834","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}
引用次数: 23
A symbolic justice violations transition system for unrealizable GR(1) specifications 不可实现GR(1)规范的符号正义违规转换系统
Aviv Kuvent, S. Maoz, Jan Oliver Ringert
One of the main challenges of reactive synthesis, an automated procedure to obtain a correct-by-construction reactive system, is to deal with unrealizable specifications. Existing approaches to deal with unrealizability, in the context of GR(1), an expressive assume-guarantee fragment of LTL that enables efficient synthesis, include the generation of concrete counter-strategies and the computation of an unrealizable core. Although correct, such approaches produce large and complicated counter-strategies, often containing thousands of states. This hinders their use by engineers. In this work we present the Justice Violations Transition System (JVTS), a novel symbolic representation of counter-strategies for GR(1). The JVTS is much smaller and simpler than its corresponding concrete counter-strategy. Moreover, it is annotated with invariants that explain how the counter-strategy forces the system to violate the specification. We compute the JVTS symbolically, and thus more efficiently, without the expensive enumeration of concrete states. Finally, we provide the JVTS with an on-demand interactive concrete and symbolic play. We implemented our work, validated its correctness, and evaluated it on 14 unrealizable specifications of autonomous Lego robots as well as on benchmarks from the literature. The evaluation shows not only that the JVTS is in most cases much smaller than the corresponding concrete counter-strategy, but also that its computation is faster.
反应合成是一种获得结构正确的反应体系的自动化过程,其主要挑战之一是处理无法实现的规格。在GR(1)的背景下,现有的处理不可实现性的方法包括生成具体的反策略和计算不可实现的核心,GR(1)是LTL的一个具有表现力的假设保证片段,可以实现有效的综合。尽管这种方法是正确的,但它会产生庞大而复杂的反策略,通常包含数千个状态。这阻碍了工程师使用它们。在这项工作中,我们提出了正义违规过渡系统(JVTS),这是GR(1)反策略的一种新的符号表示。JVTS比其相应的具体反策略要小得多,也简单得多。此外,它还用不变量进行了注释,这些不变量解释了反策略如何迫使系统违反规范。我们以符号方式计算JVTS,从而更有效地避免了昂贵的具体状态枚举。最后,我们为JVTS提供了一个按需互动的具体和符号游戏。我们实施了我们的工作,验证了其正确性,并在自主乐高机器人的14个不可实现的规格以及文献中的基准上对其进行了评估。评估结果表明,JVTS在大多数情况下比相应的具体对抗策略要小得多,而且其计算速度更快。
{"title":"A symbolic justice violations transition system for unrealizable GR(1) specifications","authors":"Aviv Kuvent, S. Maoz, Jan Oliver Ringert","doi":"10.1145/3106237.3106240","DOIUrl":"https://doi.org/10.1145/3106237.3106240","url":null,"abstract":"One of the main challenges of reactive synthesis, an automated procedure to obtain a correct-by-construction reactive system, is to deal with unrealizable specifications. Existing approaches to deal with unrealizability, in the context of GR(1), an expressive assume-guarantee fragment of LTL that enables efficient synthesis, include the generation of concrete counter-strategies and the computation of an unrealizable core. Although correct, such approaches produce large and complicated counter-strategies, often containing thousands of states. This hinders their use by engineers. In this work we present the Justice Violations Transition System (JVTS), a novel symbolic representation of counter-strategies for GR(1). The JVTS is much smaller and simpler than its corresponding concrete counter-strategy. Moreover, it is annotated with invariants that explain how the counter-strategy forces the system to violate the specification. We compute the JVTS symbolically, and thus more efficiently, without the expensive enumeration of concrete states. Finally, we provide the JVTS with an on-demand interactive concrete and symbolic play. We implemented our work, validated its correctness, and evaluated it on 14 unrealizable specifications of autonomous Lego robots as well as on benchmarks from the literature. The evaluation shows not only that the JVTS is in most cases much smaller than the corresponding concrete counter-strategy, but also that its computation is faster.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122162528","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}
引用次数: 25
期刊
Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering
全部 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