首页 > 最新文献
paperpass

2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)最新文献

英文 中文
Hindsight: Revealing the evolution of dependencies to developers 后见之明:向开发人员揭示依赖关系的演变
George Ganea
Software systems are inherently complex and this is because of the interactions between their constituent entities. These affect refactoring efforts and therefore numerous tools that reveal dependencies between software artefacts have been proposed. However, existing tools only take into account the current version of a system, while the evolution of dependencies can hold clues that can help developers with their refactoring decisions.
软件系统本质上是复杂的,这是因为它们的组成实体之间的相互作用。这些影响重构工作,因此提出了许多揭示软件工件之间依赖关系的工具。然而,现有的工具只考虑系统的当前版本,而依赖关系的演变可以提供线索,帮助开发人员做出重构决策。
{"title":"Hindsight: Revealing the evolution of dependencies to developers","authors":"George Ganea","doi":"10.1109/SANER.2017.7884664","DOIUrl":"https://doi.org/10.1109/SANER.2017.7884664","url":null,"abstract":"Software systems are inherently complex and this is because of the interactions between their constituent entities. These affect refactoring efforts and therefore numerous tools that reveal dependencies between software artefacts have been proposed. However, existing tools only take into account the current version of a system, while the evolution of dependencies can hold clues that can help developers with their refactoring decisions.","PeriodicalId":6541,"journal":{"name":"2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"15 1","pages":"511-515"},"PeriodicalIF":0.0,"publicationDate":"2017-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78757110","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
The Spartanizer: Massive automatic refactoring Spartanizer:大规模的自动重构
J. Gil, Matteo Orrù
The Spartanizer is an eclipse plugin featuring over one hundred and fifty refactoring techniques, all aimed at reducing various size complexity of the code, without changing its design, i.e., inheritance relations, modular structure, etc. Typical use case of the Spartanizer is in an automatic mode: refactoring operations are successively selected and applied by the tool, until the code is reshaped in spartan style (a frugal coding style minimizing the use of characters, variables, tokens, etc.). The Spartanizer demonstrates the potential of automatic refactoring: tens of thousands of transformations are applied in matter of seconds, chains of dependent applications of transformations with tens of operations in them, significant impact on code size, and extent reaching almost every line of code, even of professional libraries.
Spartanizer是一个eclipse插件,拥有超过150种重构技术,所有这些技术都旨在减少代码的各种大小复杂性,而不改变其设计,即继承关系,模块化结构等。Spartanizer的典型用例是在自动模式下:重构操作依次被工具选择和应用,直到代码以spartan风格(一种节省的编码风格,最大限度地减少了字符、变量、标记等的使用)进行重构。Spartanizer展示了自动重构的潜力:在几秒钟内应用数以万计的转换,转换的依赖应用程序链中包含数十个操作,对代码大小产生了重大影响,并且几乎覆盖了每一行代码,甚至是专业库。
{"title":"The Spartanizer: Massive automatic refactoring","authors":"J. Gil, Matteo Orrù","doi":"10.1109/SANER.2017.7884657","DOIUrl":"https://doi.org/10.1109/SANER.2017.7884657","url":null,"abstract":"The Spartanizer is an eclipse plugin featuring over one hundred and fifty refactoring techniques, all aimed at reducing various size complexity of the code, without changing its design, i.e., inheritance relations, modular structure, etc. Typical use case of the Spartanizer is in an automatic mode: refactoring operations are successively selected and applied by the tool, until the code is reshaped in spartan style (a frugal coding style minimizing the use of characters, variables, tokens, etc.). The Spartanizer demonstrates the potential of automatic refactoring: tens of thousands of transformations are applied in matter of seconds, chains of dependent applications of transformations with tens of operations in them, significant impact on code size, and extent reaching almost every line of code, even of professional libraries.","PeriodicalId":6541,"journal":{"name":"2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"6 1","pages":"477-481"},"PeriodicalIF":0.0,"publicationDate":"2017-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88414949","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
Conventionality analysis of array objects in JavaScript JavaScript中数组对象的约定性分析
Astrid Younang, Lunjin Lu
In JavaScript, arrays are objects with a property named length that is automatically updated. An index is a property that is a string representation of an integer between 0 and 232 − 2. A conventional array is an array that does not have any properties other than indices and length. Do JavaScript programmers use arrays conventionally just like in other object oriented languages? Do they use arrays like regular objects? This paper proposes a static conventionality analysis for JavaScript to help us to find answers to these questions. Conventionality analysis can be useful for program understanding and optimization.
在JavaScript中,数组是具有名为length的属性的对象,该属性会自动更新。索引是一个属性,它是0到232−2之间的整数的字符串表示形式。常规数组是除了索引和长度之外没有任何属性的数组。JavaScript程序员是否像其他面向对象语言一样使用数组?它们像普通对象一样使用数组吗?本文提出了JavaScript的静态约定俗成性分析,以帮助我们找到这些问题的答案。常规分析对于程序理解和优化是有用的。
{"title":"Conventionality analysis of array objects in JavaScript","authors":"Astrid Younang, Lunjin Lu","doi":"10.1109/SANER.2017.7884677","DOIUrl":"https://doi.org/10.1109/SANER.2017.7884677","url":null,"abstract":"In JavaScript, arrays are objects with a property named length that is automatically updated. An index is a property that is a string representation of an integer between 0 and 232 − 2. A conventional array is an array that does not have any properties other than indices and length. Do JavaScript programmers use arrays conventionally just like in other object oriented languages? Do they use arrays like regular objects? This paper proposes a static conventionality analysis for JavaScript to help us to find answers to these questions. Conventionality analysis can be useful for program understanding and optimization.","PeriodicalId":6541,"journal":{"name":"2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"48 1","pages":"561-562"},"PeriodicalIF":0.0,"publicationDate":"2017-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76285899","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
Modernizing domain-specific languages with XMLText and IntellEdit 使用XMLText和intellit实现领域特定语言的现代化
Patrick Neubauer, Robert Bill, M. Wimmer
The necessity of software evolution caused by novel requirements is often triggered alongside the advancement of underlying languages and tools. Although modern language workbenches decrease the opportunity cost of creating new language implementations, they do not offer automated and complete integration of existing languages. Moreover, they still require complex language engineering skills and extensive manual implementation effort to suit the expectations of domain experts, e.g., in terms of editor capabilities. In this work we present XMLIntellEdit—a framework for evolving domain-specific languages by automating the generation of modernized languages offering advanced editing capabilities, such as extended validation, content-assist, and quick fix solutions. Our approach builds on techniques from Model-Driven Engineering and Search-based Software Engineering research. Initial results indicate that XML Schema definitions containing restrictions can be applied for the automated generation of advanced editing facilities.
由新需求引起的软件进化的必要性常常伴随着底层语言和工具的进步而被触发。尽管现代语言工作台降低了创建新语言实现的机会成本,但它们并没有提供对现有语言的自动化和完整集成。此外,它们仍然需要复杂的语言工程技能和大量的手工实现工作来满足领域专家的期望,例如,在编辑器功能方面。在本文中,我们介绍了xmlintellit——一个通过自动生成提供高级编辑功能(如扩展验证、内容辅助和快速修复解决方案)的现代化语言来发展特定于领域的语言的框架。我们的方法建立在模型驱动工程和基于搜索的软件工程研究的技术之上。初步结果表明,包含限制的XML Schema定义可以应用于高级编辑工具的自动生成。
{"title":"Modernizing domain-specific languages with XMLText and IntellEdit","authors":"Patrick Neubauer, Robert Bill, M. Wimmer","doi":"10.1109/SANER.2017.7884679","DOIUrl":"https://doi.org/10.1109/SANER.2017.7884679","url":null,"abstract":"The necessity of software evolution caused by novel requirements is often triggered alongside the advancement of underlying languages and tools. Although modern language workbenches decrease the opportunity cost of creating new language implementations, they do not offer automated and complete integration of existing languages. Moreover, they still require complex language engineering skills and extensive manual implementation effort to suit the expectations of domain experts, e.g., in terms of editor capabilities. In this work we present XMLIntellEdit—a framework for evolving domain-specific languages by automating the generation of modernized languages offering advanced editing capabilities, such as extended validation, content-assist, and quick fix solutions. Our approach builds on techniques from Model-Driven Engineering and Search-based Software Engineering research. Initial results indicate that XML Schema definitions containing restrictions can be applied for the automated generation of advanced editing facilities.","PeriodicalId":6541,"journal":{"name":"2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"25 1","pages":"565-566"},"PeriodicalIF":0.0,"publicationDate":"2017-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74324601","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
The importance of program Design Patterns training 程序设计模式培训的重要性
Viggo Holmstedt, S. A. Mengiste
Design Patterns for Object Oriented Systems constitute an important tool for improving software quality by providing reusable design. Many academic institutions believe in their relevance, and do courses accordingly. This paper explores practitioners' perception of the relevance their patterns knowledge has for their work. The paper also assesses how managers' perception of pattern knowledge conforms with practitioners' perceptions. We found convincing evidence for practitioners' confidence in pattern knowledge and its positive influence on their coding abilities. Based on our findings we claim that training of design patterns is important for practitioners.
面向对象系统的设计模式是通过提供可重用设计来提高软件质量的重要工具。许多学术机构相信它们的相关性,并相应地开设课程。本文探讨了实践者对其模式知识对其工作的相关性的感知。本文还评估了管理者对模式知识的认知如何与从业者的认知相一致。我们发现了令人信服的证据,证明从业者对模式知识的信心及其对编码能力的积极影响。基于我们的发现,我们声称设计模式的培训对实践者很重要。
{"title":"The importance of program Design Patterns training","authors":"Viggo Holmstedt, S. A. Mengiste","doi":"10.1109/SANER.2017.7884676","DOIUrl":"https://doi.org/10.1109/SANER.2017.7884676","url":null,"abstract":"Design Patterns for Object Oriented Systems constitute an important tool for improving software quality by providing reusable design. Many academic institutions believe in their relevance, and do courses accordingly. This paper explores practitioners' perception of the relevance their patterns knowledge has for their work. The paper also assesses how managers' perception of pattern knowledge conforms with practitioners' perceptions. We found convincing evidence for practitioners' confidence in pattern knowledge and its positive influence on their coding abilities. Based on our findings we claim that training of design patterns is important for practitioners.","PeriodicalId":6541,"journal":{"name":"2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"58 1","pages":"559-560"},"PeriodicalIF":0.0,"publicationDate":"2017-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78041713","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
Computing counter-examples for privilege protection losses using security models 使用安全模型计算特权保护损失的反例
Marc-André Laverdière, E. Merlo
Role-Based Access Control (RBAC) is commonly used in web applications to protect information and restrict operations. Code changes may affect the security of the application and need to be validated, in order to avoid security vulnerabilities, which is a major undertaking. A statement suffers from privilege protection loss in a release pair when it was definitely protected on all execution paths in the previous release and is now reachable by some execution paths with an inferior privilege protection. Because the code change and the resulting privilege protection loss may be distant (e.g. in different functions or files), developers may find it difficult to diagnose and correct the issue. We use Pattern Traversal Flow Analysis (PTFA) to statically analyze code-derived formal models. Our analysis automatically computes counter-examples of definite protection properties and privilege protection losses. We computed privilege protections and their changes for 147 release pairs of WordPress. We computed counter-examples for a total of 14,116 privilege protection losses we found spread in 31 release pairs.We present the distribution of counter-examples' lengths, as well as their spread across function and file boundaries. Our results show that counter-examples are typically short and localized. The median example spans 88 statements, crosses a single function boundary, and is contained in the same file. The 90th centile example measures 174 statements and spans 3 function boundaries over 3 files. We believe that the privilege protection counter-examples' characteristics would be helpful to focus developers' attention for security reviews. These counter-examples are also a first step toward explanations.
基于角色的访问控制(Role-Based Access Control, RBAC)是web应用中常用的一种保护信息和限制操作的功能。代码更改可能会影响应用程序的安全性,并且需要进行验证,以避免安全漏洞,这是一项主要任务。如果语句在以前的版本中在所有执行路径上都得到了明确的保护,并且现在可以通过具有较低级特权保护的某些执行路径访问,则该语句在发布对中遭受特权保护丢失。由于代码更改和由此导致的特权保护丢失可能相距遥远(例如,在不同的函数或文件中),开发人员可能会发现很难诊断和纠正问题。我们使用模式遍历流分析(PTFA)来静态分析代码派生的形式模型。我们的分析自动计算确定保护属性和特权保护损失的反例。我们计算了147个WordPress发布对的特权保护及其变化。我们计算了在31个发布对中发现的14,116个特权保护损失的反例。我们给出了反例长度的分布,以及它们在函数和文件边界上的分布。我们的结果表明,反例通常是简短和局部的。中位数示例跨越88条语句,跨越单个函数边界,并包含在同一个文件中。第90百分位的示例测量174条语句,在3个文件中跨越3个函数边界。我们相信特权保护反例的特征将有助于将开发人员的注意力集中在安全审查上。这些反例也是解释的第一步。
{"title":"Computing counter-examples for privilege protection losses using security models","authors":"Marc-André Laverdière, E. Merlo","doi":"10.1109/SANER.2017.7884625","DOIUrl":"https://doi.org/10.1109/SANER.2017.7884625","url":null,"abstract":"Role-Based Access Control (RBAC) is commonly used in web applications to protect information and restrict operations. Code changes may affect the security of the application and need to be validated, in order to avoid security vulnerabilities, which is a major undertaking. A statement suffers from privilege protection loss in a release pair when it was definitely protected on all execution paths in the previous release and is now reachable by some execution paths with an inferior privilege protection. Because the code change and the resulting privilege protection loss may be distant (e.g. in different functions or files), developers may find it difficult to diagnose and correct the issue. We use Pattern Traversal Flow Analysis (PTFA) to statically analyze code-derived formal models. Our analysis automatically computes counter-examples of definite protection properties and privilege protection losses. We computed privilege protections and their changes for 147 release pairs of WordPress. We computed counter-examples for a total of 14,116 privilege protection losses we found spread in 31 release pairs.We present the distribution of counter-examples' lengths, as well as their spread across function and file boundaries. Our results show that counter-examples are typically short and localized. The median example spans 88 statements, crosses a single function boundary, and is contained in the same file. The 90th centile example measures 174 statements and spans 3 function boundaries over 3 files. We believe that the privilege protection counter-examples' characteristics would be helpful to focus developers' attention for security reviews. These counter-examples are also a first step toward explanations.","PeriodicalId":6541,"journal":{"name":"2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"25 1","pages":"240-249"},"PeriodicalIF":0.0,"publicationDate":"2017-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84271923","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
An exploratory study on library aging by monitoring client usage in a software ecosystem 通过监测软件生态系统中客户端使用情况对图书馆老化的探索性研究
R. Kula, D. Germán, T. Ishio, Ali Ouni, Katsuro Inoue
In recent times, use of third-party libraries has become prevalent practice in contemporary software development. Much like other code components, unmaintained libraries are a cause for concern, especially when it risks code degradation over time. Therefore, awareness of when a library should be updated is important. With the emergence of large libraries hosting repositories such as Maven Central, we can leverage the dynamics of these ecosystems to understand and estimate when a library is due for an update. In this paper, based on the concepts of software aging, we empirically explore library usage as a means to describe its age. The study covers about 1,500 libraries belonging to the Maven software ecosystem. Results show that library usage changes are not random, with 81.7% of the popular libraries fitting typical polynomial models. Further analysis show that ecosystem factors such as emerging rivals has an effect on aging characteristics. Our preliminary findings demonstrate that awareness of library aging and its characteristics is a promising step towards aiding client systems in the maintenance of their libraries.
最近,在当代软件开发中,使用第三方库已经成为一种普遍的做法。与其他代码组件非常相似,未维护的库是一个令人担忧的问题,特别是当它有可能随着时间的推移导致代码退化时。因此,了解何时应该更新库是很重要的。随着托管像Maven Central这样的存储库的大型库的出现,我们可以利用这些生态系统的动态来理解和估计库何时应该更新。在本文中,基于软件老化的概念,我们实证地探讨了图书馆使用情况作为描述其年龄的一种手段。这项研究涵盖了大约1500个属于Maven软件生态系统的库。结果表明,图书馆的使用变化不是随机的,81.7%的常用图书馆符合典型的多项式模型。进一步分析表明,新兴竞争对手等生态系统因素对老化特征有影响。我们的初步研究结果表明,对图书馆老化及其特征的认识是帮助客户系统维护其图书馆的有希望的一步。
{"title":"An exploratory study on library aging by monitoring client usage in a software ecosystem","authors":"R. Kula, D. Germán, T. Ishio, Ali Ouni, Katsuro Inoue","doi":"10.1109/SANER.2017.7884643","DOIUrl":"https://doi.org/10.1109/SANER.2017.7884643","url":null,"abstract":"In recent times, use of third-party libraries has become prevalent practice in contemporary software development. Much like other code components, unmaintained libraries are a cause for concern, especially when it risks code degradation over time. Therefore, awareness of when a library should be updated is important. With the emergence of large libraries hosting repositories such as Maven Central, we can leverage the dynamics of these ecosystems to understand and estimate when a library is due for an update. In this paper, based on the concepts of software aging, we empirically explore library usage as a means to describe its age. The study covers about 1,500 libraries belonging to the Maven software ecosystem. Results show that library usage changes are not random, with 81.7% of the popular libraries fitting typical polynomial models. Further analysis show that ecosystem factors such as emerging rivals has an effect on aging characteristics. Our preliminary findings demonstrate that awareness of library aging and its characteristics is a promising step towards aiding client systems in the maintenance of their libraries.","PeriodicalId":6541,"journal":{"name":"2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"49 1","pages":"407-411"},"PeriodicalIF":0.0,"publicationDate":"2017-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76292622","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}
引用次数: 13
Towards continuous software release planning 朝着持续的软件发布计划发展
David Ameller, Carles Farré, Xavier Franch, Danilo Valerio, Antonino Cassarino
Continuous software engineering is a new trend that is gaining increasing attention of the research community in the last years. The main idea behind this trend is to tighten the connection between the software engineering lifecycle activities (e.g., development, planning, integration, testing, etc.). While the connection between development and integration (i.e., continuous integration) has been subject of research and is applied in industrial settings, the connection between other activities is still in a very early stage. We are contributing to this research topic by proposing our ideas towards connecting the software development and software release planning activities (i.e., continuous software release planning). In this paper we present our initial findings on this topic, how we envision to address the continuous software release planning, and a research agenda to fulfil our objectives.
持续软件工程是近年来学术界越来越关注的一个新趋势。这种趋势背后的主要思想是加强软件工程生命周期活动(例如,开发、计划、集成、测试等)之间的联系。虽然发展与一体化(即持续一体化)之间的联系一直是研究的主题,并在工业环境中得到应用,但其他活动之间的联系仍处于非常早期的阶段。我们通过提出连接软件开发和软件发布计划活动(例如,持续的软件发布计划)的想法,对这个研究主题做出了贡献。在这篇论文中,我们展示了我们关于这个主题的初步发现,我们如何设想解决持续的软件发布计划,以及实现我们目标的研究议程。
{"title":"Towards continuous software release planning","authors":"David Ameller, Carles Farré, Xavier Franch, Danilo Valerio, Antonino Cassarino","doi":"10.1109/SANER.2017.7884642","DOIUrl":"https://doi.org/10.1109/SANER.2017.7884642","url":null,"abstract":"Continuous software engineering is a new trend that is gaining increasing attention of the research community in the last years. The main idea behind this trend is to tighten the connection between the software engineering lifecycle activities (e.g., development, planning, integration, testing, etc.). While the connection between development and integration (i.e., continuous integration) has been subject of research and is applied in industrial settings, the connection between other activities is still in a very early stage. We are contributing to this research topic by proposing our ideas towards connecting the software development and software release planning activities (i.e., continuous software release planning). In this paper we present our initial findings on this topic, how we envision to address the continuous software release planning, and a research agenda to fulfil our objectives.","PeriodicalId":6541,"journal":{"name":"2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"21 1","pages":"402-406"},"PeriodicalIF":0.0,"publicationDate":"2017-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"82719572","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
UAV: Warnings from multiple Automated Static Analysis Tools at a glance 无人机:多个自动静态分析工具的警告一览无余
Tim Buckers, Clinton Cao, M. Doesburg, Boning Gong, Sunwei Wang, M. Beller, A. Zaidman
Automated Static Analysis Tools (ASATs) are an integral part of today's software quality assurance practices. At present, a plethora of ASATs exist, each with different strengths. However, there is little guidance for developers on which of these ASATs to choose and combine for a project. As a result, many projects still only employ one ASAT with practically no customization. With UAV, the Unified ASAT Visualizer, we created an intuitive visualization that enables developers, researchers, and tool creators to compare the complementary strengths and overlaps of different Java ASATs. UAV's enriched treemap and source code views provide its users with a seamless exploration of the warning distribution from a high-level overview down to the source code. We have evaluated our UAV prototype in a user study with ten second-year Computer Science (CS) students, a visualization expert and tested it on large Java repositories with several thousands of PMD, FindBugs, and Checkstyle warnings. Project Website: https://clintoncao.github.io/uav/
自动化静态分析工具(ASATs)是当今软件质量保证实践中不可或缺的一部分。目前,存在着大量的asat,每种asat都有不同的优势。然而,对于开发人员应该为项目选择和组合哪些asat,几乎没有指导。因此,许多项目仍然只使用一个反卫星,实际上没有定制。通过UAV,统一ASAT可视化器,我们创建了一个直观的可视化,使开发人员、研究人员和工具创建者能够比较不同Java ASAT的互补优势和重叠。无人机丰富的树图和源代码视图为其用户提供了从高级概述到源代码的警告分布的无缝探索。我们在一个用户研究中评估了我们的无人机原型,其中有10个计算机科学(CS)二年级的学生,一个可视化专家,并在带有数千个PMD、FindBugs和Checkstyle警告的大型Java存储库上对其进行了测试。项目网站:https://clintoncao.github.io/uav/
{"title":"UAV: Warnings from multiple Automated Static Analysis Tools at a glance","authors":"Tim Buckers, Clinton Cao, M. Doesburg, Boning Gong, Sunwei Wang, M. Beller, A. Zaidman","doi":"10.1109/SANER.2017.7884656","DOIUrl":"https://doi.org/10.1109/SANER.2017.7884656","url":null,"abstract":"Automated Static Analysis Tools (ASATs) are an integral part of today's software quality assurance practices. At present, a plethora of ASATs exist, each with different strengths. However, there is little guidance for developers on which of these ASATs to choose and combine for a project. As a result, many projects still only employ one ASAT with practically no customization. With UAV, the Unified ASAT Visualizer, we created an intuitive visualization that enables developers, researchers, and tool creators to compare the complementary strengths and overlaps of different Java ASATs. UAV's enriched treemap and source code views provide its users with a seamless exploration of the warning distribution from a high-level overview down to the source code. We have evaluated our UAV prototype in a user study with ten second-year Computer Science (CS) students, a visualization expert and tested it on large Java repositories with several thousands of PMD, FindBugs, and Checkstyle warnings. Project Website: https://clintoncao.github.io/uav/","PeriodicalId":6541,"journal":{"name":"2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"477 ","pages":"472-476"},"PeriodicalIF":0.0,"publicationDate":"2017-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91451927","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 18
Code of conduct in open source projects 开源项目的行为准则
Parastou Tourani, Bram Adams, Alexander Serebrenik
Open source projects rely on collaboration of members from all around the world using web technologies like GitHub and Gerrit. This mixture of people with a wide range of backgrounds including minorities like women, ethnic minorities, and people with disabilities may increase the risk of offensive and destroying behaviours in the community, potentially leading affected project members to leave towards a more welcoming and friendly environment. To counter these effects, open source projects increasingly are turning to codes of conduct, in an attempt to promote their expectations and standards of ethical behaviour. In this first of its kind empirical study of codes of conduct in open source software projects, we investigated the role, scope and influence of codes of conduct through a mixture of quantitative and qualitative analysis, supported by interviews with practitioners. We found that the top codes of conduct are adopted by hundreds to thousands of projects, while all of them share 5 common dimensions.
开源项目依靠来自世界各地的成员使用GitHub和Gerrit等网络技术进行协作。这些人有着广泛的背景,包括少数民族,如妇女,少数民族和残疾人,这可能会增加社区中冒犯和破坏行为的风险,可能导致受影响的项目成员离开,走向一个更欢迎和友好的环境。为了对抗这些影响,开源项目越来越多地转向行为准则,试图提高他们的期望和道德行为标准。在对开源软件项目中行为准则的首次实证研究中,我们通过对从业者的访谈支持,通过定量和定性分析的混合,调查了行为准则的作用、范围和影响。我们发现,最重要的行为准则被数百到数千个项目所采用,而它们都有5个共同的维度。
{"title":"Code of conduct in open source projects","authors":"Parastou Tourani, Bram Adams, Alexander Serebrenik","doi":"10.1109/SANER.2017.7884606","DOIUrl":"https://doi.org/10.1109/SANER.2017.7884606","url":null,"abstract":"Open source projects rely on collaboration of members from all around the world using web technologies like GitHub and Gerrit. This mixture of people with a wide range of backgrounds including minorities like women, ethnic minorities, and people with disabilities may increase the risk of offensive and destroying behaviours in the community, potentially leading affected project members to leave towards a more welcoming and friendly environment. To counter these effects, open source projects increasingly are turning to codes of conduct, in an attempt to promote their expectations and standards of ethical behaviour. In this first of its kind empirical study of codes of conduct in open source software projects, we investigated the role, scope and influence of codes of conduct through a mixture of quantitative and qualitative analysis, supported by interviews with practitioners. We found that the top codes of conduct are adopted by hundreds to thousands of projects, while all of them share 5 common dimensions.","PeriodicalId":6541,"journal":{"name":"2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"25 1","pages":"24-33"},"PeriodicalIF":0.0,"publicationDate":"2017-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"87257298","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}
引用次数: 91
期刊
2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)
全部 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.
﹀
mjeditor
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1