21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06)最新文献

筛选
英文 中文
Sieve: A Tool for Automatically Detecting Variations Across Program Versions 筛:一个自动检测程序版本变化的工具
M. Ramanathan, A. Grama, S. Jagannathan
{"title":"Sieve: A Tool for Automatically Detecting Variations Across Program Versions","authors":"M. Ramanathan, A. Grama, S. Jagannathan","doi":"10.1109/ASE.2006.61","DOIUrl":"https://doi.org/10.1109/ASE.2006.61","url":null,"abstract":"Software systems often undergo many revisions during their lifetime as new features are added, bugs repaired, abstractions simplified and refactored, and performance improved. When a revision, even a minor one, does occur, the changes it induces must be tested to ensure that invariants assumed in the original version are not violated unintentionally. In order to avoid testing components that are unchanged across revisions, impact analysis is often used to identify code blocks or functions that are affected by a change. In this paper, we present a novel solution to this general problem that uses dynamic programming on instrumented traces of different program binaries to identify longest common subsequences in strings generated by these traces. Our formulation allows us to perform impact analysis and also to detect the smallest set of locations within the functions where the effect of the changes actually manifests itself. Sieve is a tool that incorporates these ideas. Sieve is unobtrusive, requiring no programmer or compiler intervention to guide its behavior. Our experiments on multiple versions of op ensource C programs shows that Sieve is an effective and scalable tool to identify impact sets and can locate regions in the affected functions where the changes manifest. These results lead us to conclude that Sieve can play a beneficial role in program testing and software maintenance","PeriodicalId":403196,"journal":{"name":"21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114816916","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}
引用次数: 44
Effective Generation of Interface Robustness Properties for Static Analysis 静态分析中接口鲁棒性的有效生成
Mithun P. Acharya, Tanu Sharma, Jun Xu, Tao Xie
{"title":"Effective Generation of Interface Robustness Properties for Static Analysis","authors":"Mithun P. Acharya, Tanu Sharma, Jun Xu, Tao Xie","doi":"10.1109/ASE.2006.35","DOIUrl":"https://doi.org/10.1109/ASE.2006.35","url":null,"abstract":"A software system interacts with its environment through system interfaces. Robustness of software systems are governed by various temporal properties related to these interfaces, whose violation leads to system crashes and security compromises. These properties can be formally specified for system interfaces and statically verified against a software system. But manually specifying a large number of interface properties for static verification is often inaccurate or incomplete, apart from being cumbersome. In this paper, we propose a novel framework that effectively generates interface properties for static checking from a few generic, high level robustness rules that capture interface behavior. We implement our framework for an existing static analyzer with simple dataflow extensions and apply it on POSIX-API system interfaces used in 10 Redhat-9.0 open source packages. The results show that the framework can effectively generate a large number of useful interface properties from a few generically specified rules","PeriodicalId":403196,"journal":{"name":"21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06)","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125508833","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
Using communicative acts in interaction design specifications for automated synthesis of user interfaces 在交互设计规范中使用交流行为来自动合成用户界面
Jürgen Falb, Thomas Röck, Edin Arnautovic
{"title":"Using communicative acts in interaction design specifications for automated synthesis of user interfaces","authors":"Jürgen Falb, Thomas Röck, Edin Arnautovic","doi":"10.1109/ASE.2006.71","DOIUrl":"https://doi.org/10.1109/ASE.2006.71","url":null,"abstract":"Instead of developing user interfaces (UIs) directly, we argue for specifying an interaction design from which UIs can be automatically synthesized. We present an approach to using communicative acts in high-level specification of interaction design, which is implemented and allows automated synthesis of interfaces for multiple devices. Communicative acts derive from speech act theory and carry desired intentions in interactions. Models of communicative acts, UI domain objects and interaction sequences comprise interaction design specifications in our approach and are based on a metamodel that we have defined. As a result, the usability of a synthesized user interface of a real-world application turned out to be good","PeriodicalId":403196,"journal":{"name":"21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126631073","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
Annotation Inference for Safety Certification of Automatically Generated Code (Extended Abstract) 自动生成代码安全认证的标注推理(扩展摘要)
E. Denney, B. Fischer
{"title":"Annotation Inference for Safety Certification of Automatically Generated Code (Extended Abstract)","authors":"E. Denney, B. Fischer","doi":"10.1109/ASE.2006.15","DOIUrl":"https://doi.org/10.1109/ASE.2006.15","url":null,"abstract":"Automated code generation is an enabling technology for model-based software development and promises many benefits, including higher quality and reduced turn-around times. However, the key to realizing these benefits is generator correctness: nothing is gained from replacing manual coding errors with automatic coding errors. In this paper, we describe an alternative technique that uses a generic post-generation annotation inference algorithm. We exploit both the highly idiomatic structure of automatically generated code and the restriction to specific safety properties. Since generated code only constitutes a limited subset of all possible programs, the new \"eureka\" insights required in general remain rare in our case. Since safety properties are simpler than full functional correctness, the required annotations are also simpler and more regular. We can thus use patterns to describe all code constructs that require annotations and templates to describe the required annotations. We use techniques similar to aspect-oriented programming to add the annotations to the generated code: the patterns correspond to (static) point-cut descriptors, while the introduced annotations correspond to advice. The annotation inference algorithm can run completely separately from the generator and is generic with respect to the safety property, although we use initialization safety as running example here. It has been implemented and applied to certify initialization safety for code generated by Auto-Bayes and AutoFilter","PeriodicalId":403196,"journal":{"name":"21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121593843","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}
引用次数: 11
LSS: A Tool for Large Scale Scenarios LSS:大规模场景的工具
R. Hall
{"title":"LSS: A Tool for Large Scale Scenarios","authors":"R. Hall","doi":"10.1109/ASE.2006.47","DOIUrl":"https://doi.org/10.1109/ASE.2006.47","url":null,"abstract":"Today's complex computational and embedded systems compute complex quantities from complex inputs, with behavior dependent upon the (distributed) state of the system and its environment. Describing the intended behavior of such a system is challenging. The most natural and commonly used approach is to give a collection of scenarios, where each scenario is a sequence of inputs and expected outputs. An analyst elicits scenarios from subject matter experts (SMEs) to document functional requirements. Scenarios can be represented in a variety of ways, from informal narratives through (formal) linear event sequences. Formal behavior scenarios are useful in many software engineering tasks, including requirements engineering, specification- and architectural-modeling, and test generation. Uses in modeling include model inference, validation, and measuring resource usage and reliability. Finally, scenarios are useful in discovering and documenting gaps in specifications. Existing scenario-based tools and methodologies break down when scenarios grow large. Elicitation becomes impractical, as it requires the human to specify all the steps. Even assuming one can capture thousands or more of input events, it is problematic for the human to describe the correct expected outputs at each point of interest. Finally, even if one can capture all inputs and outputs, the complexity of such an artifact gives one little confidence that it represents desirable behavior in detail, as the risk of undetected errors grows at least linearly with the size. Finally, the behavior of systems described by large scale scenarios typically requires a large and complex set of them, which creates the added difficulty of assuring oneself of covering a \"representative\" subset of a huge space","PeriodicalId":403196,"journal":{"name":"21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06)","volume":"784 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133216920","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}
引用次数: 4
Automatic Identification of Bug-Introducing Changes 自动识别引入bug的更改
Sunghun Kim, Thomas Zimmermann, Kai Pan, E. James Jr. Whitehead
{"title":"Automatic Identification of Bug-Introducing Changes","authors":"Sunghun Kim, Thomas Zimmermann, Kai Pan, E. James Jr. Whitehead","doi":"10.1109/ASE.2006.23","DOIUrl":"https://doi.org/10.1109/ASE.2006.23","url":null,"abstract":"Bug-fixes are widely used for predicting bugs or finding risky parts of software. However, a bug-fix does not contain information about the change that initially introduced a bug. Such bug-introducing changes can help identify important properties of software bugs such as correlated factors or causalities. For example, they reveal which developers or what kinds of source code changes introduce more bugs. In contrast to bug-fixes that are relatively easy to obtain, the extraction of bug-introducing changes is challenging. In this paper, we present algorithms to automatically and accurately identify bug-introducing changes. We remove false positives and false negatives by using annotation graphs, by ignoring non-semantic source code changes, and outlier fixes. Additionally, we validated that the fixes we used are true fixes by a manual inspection. Altogether, our algorithms can remove about 38%~51% of false positives and 14%~15% of false negatives compared to the previous algorithm. Finally, we show applications of bug-introducing changes that demonstrate their value for research","PeriodicalId":403196,"journal":{"name":"21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06)","volume":"267 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133559130","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}
引用次数: 312
Japanese Workshop on Leveraging Web2.0 Technologies in Software Development Environments (WebSDE) 在软件开发环境中利用Web2.0技术日本研讨会
Katsuhisa Maruyama, M. Matsushita, Shinichirou Yamamoto
{"title":"Japanese Workshop on Leveraging Web2.0 Technologies in Software Development Environments (WebSDE)","authors":"Katsuhisa Maruyama, M. Matsushita, Shinichirou Yamamoto","doi":"10.1109/ASE.2006.45","DOIUrl":"https://doi.org/10.1109/ASE.2006.45","url":null,"abstract":"This paper briefly describes the theme and goals of the WebSDE Workshop on ASE'2006. This workshop emphasizes next-generation software development environments inspired by Web2.0 technologies and seeks to explore ways of automated support to software development in the Web2.0 era.","PeriodicalId":403196,"journal":{"name":"21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125719606","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
Integrating and Scheduling an Open Set of Static Analyses 集成和调度一个开放的静态分析集
Michael Eichberg, M. Mezini, S. Kloppenburg, K. Ostermann, Benjamin Rank
{"title":"Integrating and Scheduling an Open Set of Static Analyses","authors":"Michael Eichberg, M. Mezini, S. Kloppenburg, K. Ostermann, Benjamin Rank","doi":"10.1109/ASE.2006.43","DOIUrl":"https://doi.org/10.1109/ASE.2006.43","url":null,"abstract":"To improve the productivity of the development process, more and more tools for static software analysis are tightly integrated into the incremental build process of an IDE. If multiple interdependent analyses are used simultaneously, the coordination between the analyses becomes a major obstacle to keep the set of analyses open. We propose an approach to integrating and scheduling an open set of static analyses which decouples the individual analyses and coordinates the analysis executions such that the overall time and space consumption is minimized. The approach has been implemented for the Eclipse IDE and has been used to integrate a wide range of analyses such as finding bug patterns, detecting violations of design guidelines, or type system extensions for Java","PeriodicalId":403196,"journal":{"name":"21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06)","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127673547","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
Reverse Engineering of Design Patterns from Java Source Code 从Java源代码的设计模式逆向工程
N. Shi, R. Olsson
{"title":"Reverse Engineering of Design Patterns from Java Source Code","authors":"N. Shi, R. Olsson","doi":"10.1109/ASE.2006.57","DOIUrl":"https://doi.org/10.1109/ASE.2006.57","url":null,"abstract":"Recovering design patterns can enhance existing source code analysis tools by bringing program understanding to the design level. This paper presents a new, fully automated pattern detection approach. The new approach is based on our reclassification of the GoF patterns by their pattern intent. We argue that the GoF pattern catalog classifies design patterns in the forward-engineering sense; our reclassification is better suited for reverse engineering. Our approach uses lightweight static program analysis techniques to capture program intent. This paper also describes our tool, PINOT, that implements this new approach. PINOT detects all the GoF patterns that have concrete definitions driven by code structure or system behavior. Our tool is faster, more accurate, and targets more patterns than existing pattern detection tools. PINOT has been used successfully in detecting patterns in Java AWT, JHotDraw, Swing, Apache Ant, and many other programs and packages","PeriodicalId":403196,"journal":{"name":"21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06)","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124093189","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}
引用次数: 226
Managing the Complexity of Large Free and Open Source Package-Based Software Distributions 管理大型免费和开源软件包软件发行版的复杂性
F. Mancinelli, J. Boender, R. D. Cosmo, Jérôme Vouillon, Berke O. A. Durak, X. Leroy, R. Treinen
{"title":"Managing the Complexity of Large Free and Open Source Package-Based Software Distributions","authors":"F. Mancinelli, J. Boender, R. D. Cosmo, Jérôme Vouillon, Berke O. A. Durak, X. Leroy, R. Treinen","doi":"10.1109/ASE.2006.49","DOIUrl":"https://doi.org/10.1109/ASE.2006.49","url":null,"abstract":"The widespread adoption of free and open source software (FOSS) in many strategic contexts of the information technology society has drawn the attention on the issues regarding how to handle the complexity of assembling and managing a huge number of (packaged) components in a consistent and effective way. FOSS distributions (and in particular GNU/Linux-based ones) have always provided tools for managing the tasks of installing, removing and upgrading the (packaged) components they were made of While these tools provide a (not always effective) way to handle these tasks on the client side, there is still a lack of tools that could help the distribution editors to maintain, on the server side, large and high-quality distributions. In this paper we present our research whose main goal is to fill this gap: we show our approach, the tools we have developed and their application with experimental results. Our contribution provides an effective and automatic way to support distribution editors in handling those issues that were, until now, mostly addressed using ad-hoc tools and manual techniques","PeriodicalId":403196,"journal":{"name":"21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06)","volume":"79 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127949090","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}
引用次数: 166
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信