首页 > 最新文献

2013 35th International Conference on Software Engineering (ICSE)最新文献

英文 中文
Automatic testing of sequential and concurrent substitutability 顺序和并发可替换性的自动测试
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606574
Michael Pradel, T. Gross
Languages with inheritance and polymorphism assume that a subclass instance can substitute a superclass instance without causing behavioral differences for clients of the superclass. However, programmers may accidentally create subclasses that are semantically incompatible with their superclasses. Such subclasses lead to bugs, because a programmer may assign a subclass instance to a superclass reference. This paper presents an automatic testing technique to reveal subclasses that cannot safely substitute their superclasses. The key idea is to generate generic tests that analyze the behavior of both the subclass and its superclass. If using the subclass leads to behavior that cannot occur with the superclass, the analysis reports a warning. We find a high percentage of widely used Java classes, including classes from JBoss, Eclipse, and Apache Commons Collections, to be unsafe substitutes for their superclasses: 30% of these classes lead to crashes, and even more have other behavioral differences.
具有继承和多态的语言假定子类实例可以替代超类实例,而不会对超类的客户端造成行为差异。但是,程序员可能会意外地创建与其超类在语义上不兼容的子类。这样的子类会导致错误,因为程序员可能会将子类实例分配给超类引用。本文提出了一种自动测试技术来揭示不能安全地替换其父类的子类。关键思想是生成分析子类及其超类行为的泛型测试。如果使用子类导致了超类无法发生的行为,分析就会报告一个警告。我们发现大量广泛使用的Java类,包括来自JBoss、Eclipse和Apache Commons Collections的类,都是其超类的不安全替代品:这些类中有30%会导致崩溃,甚至更多的类具有其他行为差异。
{"title":"Automatic testing of sequential and concurrent substitutability","authors":"Michael Pradel, T. Gross","doi":"10.1109/ICSE.2013.6606574","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606574","url":null,"abstract":"Languages with inheritance and polymorphism assume that a subclass instance can substitute a superclass instance without causing behavioral differences for clients of the superclass. However, programmers may accidentally create subclasses that are semantically incompatible with their superclasses. Such subclasses lead to bugs, because a programmer may assign a subclass instance to a superclass reference. This paper presents an automatic testing technique to reveal subclasses that cannot safely substitute their superclasses. The key idea is to generate generic tests that analyze the behavior of both the subclass and its superclass. If using the subclass leads to behavior that cannot occur with the superclass, the analysis reports a warning. We find a high percentage of widely used Java classes, including classes from JBoss, Eclipse, and Apache Commons Collections, to be unsafe substitutes for their superclasses: 30% of these classes lead to crashes, and even more have other behavioral differences.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125801637","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}
引用次数: 21
It's not a bug, it's a feature: How misclassification impacts bug prediction 这不是一个bug,而是一个特性:错误分类如何影响bug预测
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606585
Kim Herzig, Sascha Just, A. Zeller
In a manual examination of more than 7,000 issue reports from the bug databases of five open-source projects, we found 33.8% of all bug reports to be misclassified - that is, rather than referring to a code fix, they resulted in a new feature, an update to documentation, or an internal refactoring. This misclassification introduces bias in bug prediction models, confusing bugs and features: On average, 39% of files marked as defective actually never had a bug. We discuss the impact of this misclassification on earlier studies and recommend manual data validation for future studies.
在对来自五个开源项目的bug数据库的7000多个问题报告进行手工检查时,我们发现33.8%的bug报告被错误分类——也就是说,它们不是指代码修复,而是导致了一个新特性、文档更新或内部重构。这种错误的分类在bug预测模型中引入了偏差,混淆了bug和特性:平均而言,39%被标记为有缺陷的文件实际上从未有过bug。我们讨论了这种错误分类对早期研究的影响,并建议对未来的研究进行手动数据验证。
{"title":"It's not a bug, it's a feature: How misclassification impacts bug prediction","authors":"Kim Herzig, Sascha Just, A. Zeller","doi":"10.1109/ICSE.2013.6606585","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606585","url":null,"abstract":"In a manual examination of more than 7,000 issue reports from the bug databases of five open-source projects, we found 33.8% of all bug reports to be misclassified - that is, rather than referring to a code fix, they resulted in a new feature, an update to documentation, or an internal refactoring. This misclassification introduces bias in bug prediction models, confusing bugs and features: On average, 39% of files marked as defective actually never had a bug. We discuss the impact of this misclassification on earlier studies and recommend manual data validation for future studies.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"8 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128248519","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}
引用次数: 395
Mitigating the obsolescence of specification models of service-based systems 减少基于服务的系统的规范模型的过时
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606745
Romina Torres
Service-based systems (SBS) must be able to adapt their architectural configurations during runtime in order to keep satisfied their specification models. These models are the result of design time derivation of requirements into precise and verifiable specifications by using the knowledge about the current service offerings. Unfortunately, the design time knowledge may be no longer valid during runtime. Then, nonfunctional constraints may have different numerical meanings at different time even for the same observers. Thus, specification models become obsolete affecting the SBS' capability of detecting requirement violations during runtime and therefore they trigger reconfigurations when appropriated. In order to mitigate the obsolescence of specification models, we propose to specify and verify them using the computing with words (CWW) methodology. First, non-functional properties (NFPs) of functionally-equivalent services are modeled as linguistic variables, whose domains are concepts or linguistic values instead of precise numbers. Second, architects specify at design time their requirements as linguistic decision models (LDMs) using these concepts. Third, during runtime, the CWW engine monitors the requirements satisfaction by the current chosen architectural configuration. And fourth, each time a global concept drift is detected in the NFPs of the services market, the numerical meanings are updated. Our initial results are encouraging, where our approach mitigates effectively and efficiently the obsolescence of the specification models used by SBS to drive their reconfigurations.
基于服务的系统(SBS)必须能够在运行时调整其体系结构配置,以保持对其规范模型的满意。这些模型是通过使用有关当前服务产品的知识,在设计时将需求派生为精确且可验证的规范的结果。不幸的是,设计时知识可能在运行时期间不再有效。因此,即使对于同一观察者,非功能约束在不同时间也可能具有不同的数值含义。因此,规范模型会过时,影响SBS在运行时检测需求违反的能力,因此它们会在适当的时候触发重新配置。为了避免规范模型过时的问题,我们提出使用词语计算(CWW)方法来规范和验证规范模型。首先,将功能等效服务的非功能属性(NFPs)建模为语言变量,其域是概念或语言值,而不是精确的数字。其次,架构师在设计时使用这些概念将他们的需求指定为语言决策模型(ldm)。第三,在运行期间,CWW引擎通过当前选择的体系结构配置监视需求的满足情况。第四,每当在服务市场的非农就业数据中检测到全球概念漂移时,数值含义就会更新。我们的初步结果令人鼓舞,我们的方法有效地缓解了SBS用来驱动其重新配置的规范模型的过时问题。
{"title":"Mitigating the obsolescence of specification models of service-based systems","authors":"Romina Torres","doi":"10.1109/ICSE.2013.6606745","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606745","url":null,"abstract":"Service-based systems (SBS) must be able to adapt their architectural configurations during runtime in order to keep satisfied their specification models. These models are the result of design time derivation of requirements into precise and verifiable specifications by using the knowledge about the current service offerings. Unfortunately, the design time knowledge may be no longer valid during runtime. Then, nonfunctional constraints may have different numerical meanings at different time even for the same observers. Thus, specification models become obsolete affecting the SBS' capability of detecting requirement violations during runtime and therefore they trigger reconfigurations when appropriated. In order to mitigate the obsolescence of specification models, we propose to specify and verify them using the computing with words (CWW) methodology. First, non-functional properties (NFPs) of functionally-equivalent services are modeled as linguistic variables, whose domains are concepts or linguistic values instead of precise numbers. Second, architects specify at design time their requirements as linguistic decision models (LDMs) using these concepts. Third, during runtime, the CWW engine monitors the requirements satisfaction by the current chosen architectural configuration. And fourth, each time a global concept drift is detected in the NFPs of the services market, the numerical meanings are updated. Our initial results are encouraging, where our approach mitigates effectively and efficiently the obsolescence of the specification models used by SBS to drive their reconfigurations.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"73 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121816384","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
1st International workshop on natural language analysis in software engineering (NaturaLiSE 2013) 第一届软件工程自然语言分析国际研讨会(NaturaLiSE 2013)
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606775
L. Pollock, D. Binkley, Dawn J Lawrie, Emily Hill, R. Oliveto, G. Bavota, Alberto Bacchelli
Software engineers produce code that has formal syntax and semantics, which establishes its formal meaning. However, the code also includes significant natural language found primarily in identifier names and comments. Furthermore, the code is surrounded by non-source artifacts, predominantly written in natural language. The NaturaLiSE workshop focuses on natural language analysis of software. The workshop brings together researchers and practitioners interested in exploiting natural language information to create improved software engineering tools. Participants will explore natural language analysis applied to software artifacts, combining natural language and traditional program analysis, integration of natural language analyses into client tools, mining natural language data, and empirical studies focused on evaluating the usefulness of natural language analysis.
软件工程师生成具有正式语法和语义的代码,这些语法和语义建立了代码的正式含义。然而,代码也包含了主要在标识符名称和注释中发现的重要自然语言。此外,代码被主要用自然语言编写的非源工件所包围。NaturaLiSE研讨会的重点是软件的自然语言分析。研讨会汇集了对开发自然语言信息以创建改进的软件工程工具感兴趣的研究人员和实践者。与会者将探索应用于软件工件的自然语言分析,将自然语言与传统程序分析相结合,将自然语言分析集成到客户端工具中,挖掘自然语言数据,以及着重于评估自然语言分析有用性的实证研究。
{"title":"1st International workshop on natural language analysis in software engineering (NaturaLiSE 2013)","authors":"L. Pollock, D. Binkley, Dawn J Lawrie, Emily Hill, R. Oliveto, G. Bavota, Alberto Bacchelli","doi":"10.1109/ICSE.2013.6606775","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606775","url":null,"abstract":"Software engineers produce code that has formal syntax and semantics, which establishes its formal meaning. However, the code also includes significant natural language found primarily in identifier names and comments. Furthermore, the code is surrounded by non-source artifacts, predominantly written in natural language. The NaturaLiSE workshop focuses on natural language analysis of software. The workshop brings together researchers and practitioners interested in exploiting natural language information to create improved software engineering tools. Participants will explore natural language analysis applied to software artifacts, combining natural language and traditional program analysis, integration of natural language analyses into client tools, mining natural language data, and empirical studies focused on evaluating the usefulness of natural language analysis.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"344 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122475982","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
Industry involvement in ICT curriculum: A comparative survey 资讯及通讯科技业参与课程:比较调查
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606666
C. Pilgrim
Stakeholder consultation during course accreditation is now a requirement of new Australian government regulations as well as the Australian ICT professional society accreditation. Despite these requirements there remains some differences between universities and industry regarding the purpose, nature and extent of industry involvement in the curriculum. Surveys of industry and university leaders in ICT were undertaken to provide a representative set of views on these issues. The results provided insights into the perceptions of universities and industry regarding industry involvement into the curriculum. The results also confirmed previous research that identified a tension between industry's desire for relevant skills and the role of universities in providing a broader education for lifelong learning.
在课程认证过程中,利益相关者咨询现在是澳大利亚政府新法规以及澳大利亚ICT专业协会认证的要求。尽管有这些要求,但在课程中涉及行业的目的、性质和程度方面,大学和行业之间仍然存在一些差异。对信通技术行业和大学领导人进行了调查,以便就这些问题提供一套具有代表性的意见。研究结果提供了对大学和行业对课程参与的看法的见解。这一结果也证实了之前的研究,即工业界对相关技能的渴望与大学在提供更广泛的终身学习教育方面的作用之间存在紧张关系。
{"title":"Industry involvement in ICT curriculum: A comparative survey","authors":"C. Pilgrim","doi":"10.1109/ICSE.2013.6606666","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606666","url":null,"abstract":"Stakeholder consultation during course accreditation is now a requirement of new Australian government regulations as well as the Australian ICT professional society accreditation. Despite these requirements there remains some differences between universities and industry regarding the purpose, nature and extent of industry involvement in the curriculum. Surveys of industry and university leaders in ICT were undertaken to provide a representative set of views on these issues. The results provided insights into the perceptions of universities and industry regarding industry involvement into the curriculum. The results also confirmed previous research that identified a tension between industry's desire for relevant skills and the role of universities in providing a broader education for lifelong learning.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"88 2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120995021","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
A roadmap for software maintainability measurement 软件可维护性度量的路线图
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606742
Juliana Saraiva
Object-Oriented Programming (OOP) is one of the most used programming paradigms. Thus, researches dedicated in improvement of software quality that adhere to this paradigm are demanded. Complementarily, maintainability is considered a software attribute that plays an important role in its quality level. In this context, Object-Oriented Software Maintainability (OOSM) has been studied through years and several researchers proposed a high number of metrics to measure it. Nevertheless, there is no standardization or a catalogue to summarize all the information about these metrics, helping the researchers to make decision about which metrics can be adopted to perform their experiments in OOSM. Actually, distinct areas in both academic and industrial environment, such as Software Development, Project Management, and Software Research can adopt them to support decision-making processes. Thus, this work researched about the usage of OOSM metrics in academia and industry in order to help researchers in making decision about the metrics suite to be adopted. We found 570 OOSM metrics. Additionally, as a preliminary result we proposed a catalog with 36 metrics that were most used in academic works/experiments, trying to guide researchers with their decision-make about which metrics are more indicated to be adopted in their experiments.
面向对象编程(OOP)是最常用的编程范式之一。因此,需要对遵循这一范式的软件质量改进进行专门的研究。与之相辅相成的是,可维护性被认为是软件的一个属性,在其质量级别中扮演着重要的角色。在这种背景下,面向对象软件可维护性(OOSM)已经被研究了很多年,并且一些研究者提出了大量的度量方法来度量它。然而,没有标准化或目录来总结关于这些指标的所有信息,帮助研究人员决定可以采用哪些指标来执行他们在OOSM中的实验。实际上,学术和工业环境中的不同领域,如软件开发、项目管理和软件研究可以采用它们来支持决策过程。因此,本工作研究了OOSM度量在学术界和工业界的使用情况,以帮助研究人员对将要采用的度量套件做出决策。我们找到了570个OOSM指标。此外,作为初步结果,我们提出了一个包含36个在学术作品/实验中使用最多的指标的目录,试图指导研究人员决策哪些指标更有可能在他们的实验中采用。
{"title":"A roadmap for software maintainability measurement","authors":"Juliana Saraiva","doi":"10.1109/ICSE.2013.6606742","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606742","url":null,"abstract":"Object-Oriented Programming (OOP) is one of the most used programming paradigms. Thus, researches dedicated in improvement of software quality that adhere to this paradigm are demanded. Complementarily, maintainability is considered a software attribute that plays an important role in its quality level. In this context, Object-Oriented Software Maintainability (OOSM) has been studied through years and several researchers proposed a high number of metrics to measure it. Nevertheless, there is no standardization or a catalogue to summarize all the information about these metrics, helping the researchers to make decision about which metrics can be adopted to perform their experiments in OOSM. Actually, distinct areas in both academic and industrial environment, such as Software Development, Project Management, and Software Research can adopt them to support decision-making processes. Thus, this work researched about the usage of OOSM metrics in academia and industry in order to help researchers in making decision about the metrics suite to be adopted. We found 570 OOSM metrics. Additionally, as a preliminary result we proposed a catalog with 36 metrics that were most used in academic works/experiments, trying to guide researchers with their decision-make about which metrics are more indicated to be adopted in their experiments.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116306477","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
1st International workshop on assurance cases for software-intensive systems (ASSURE 2013) 第一届软件密集型系统保证案例国际研讨会(ASSURE 2013)
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606759
E. Denney, Ganesh J. Pai, I. Habli, T. Kelly, J. Knight
Software plays a key role in high-risk systems, i.e., safety and security-critical systems. Several certification standards and guidelines, e.g., in the defense, transportation (aviation, automotive, rail), and healthcare domains, now recommend and/or mandate the development of assurance cases for software-intensive systems. As such, there is a need to understand and evaluate (a) the application of assurance cases to software, and (b) the relationship between the development and assessment of assurance cases, and software engineering concepts, processes and techniques. The ICSE 2013 Workshop on Assurance Cases for Software-intensive Systems (ASSURE) aims to provide an international forum for high-quality contributions (research, practice, and position papers) on the application of assurance case principles and techniques for software assurance, and on the treatment of assurance cases as artifacts to which the full range of software engineering techniques can be applied.
软件在高风险系统,即安全和安全关键系统中起着关键作用。一些认证标准和指导方针,例如,在国防、运输(航空、汽车、铁路)和医疗保健领域,现在建议和/或强制开发软件密集型系统的保证案例。因此,有必要理解和评估(a)保证用例对软件的应用,以及(b)保证用例的开发和评估与软件工程概念、过程和技术之间的关系。2013年ICSE软件密集型系统(ASSURE)保证案例研讨会旨在为高质量的贡献(研究、实践和立场文件)提供一个国际论坛,讨论软件保证的保证案例原则和技术的应用,以及将保证案例作为工件的处理,以应用全面的软件工程技术。
{"title":"1st International workshop on assurance cases for software-intensive systems (ASSURE 2013)","authors":"E. Denney, Ganesh J. Pai, I. Habli, T. Kelly, J. Knight","doi":"10.1109/ICSE.2013.6606759","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606759","url":null,"abstract":"Software plays a key role in high-risk systems, i.e., safety and security-critical systems. Several certification standards and guidelines, e.g., in the defense, transportation (aviation, automotive, rail), and healthcare domains, now recommend and/or mandate the development of assurance cases for software-intensive systems. As such, there is a need to understand and evaluate (a) the application of assurance cases to software, and (b) the relationship between the development and assessment of assurance cases, and software engineering concepts, processes and techniques. The ICSE 2013 Workshop on Assurance Cases for Software-intensive Systems (ASSURE) aims to provide an international forum for high-quality contributions (research, practice, and position papers) on the application of assurance case principles and techniques for software assurance, and on the treatment of assurance cases as artifacts to which the full range of software engineering techniques can be applied.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126701441","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
Efficient construction of approximate call graphs for JavaScript IDE services JavaScript IDE服务的近似调用图的有效构造
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606621
Asger Feldthaus, Max Schäfer, Manu Sridharan, Julian T Dolby, F. Tip
The rapid rise of JavaScript as one of the most popular programming languages of the present day has led to a demand for sophisticated IDE support similar to what is available for Java or C#. However, advanced tooling is hampered by the dynamic nature of the language, which makes any form of static analysis very difficult. We single out efficient call graph construction as a key problem to be solved in order to improve development tools for JavaScript. To address this problem, we present a scalable field-based flow analysis for constructing call graphs. Our evaluation on large real-world programs shows that the analysis, while in principle unsound, produces highly accurate call graphs in practice. Previous analyses do not scale to these programs, but our analysis handles them in a matter of seconds, thus proving its suitability for use in an interactive setting.
作为当今最流行的编程语言之一,JavaScript的迅速崛起导致了对复杂的IDE支持的需求,类似于Java或c#的支持。然而,高级工具受到语言动态特性的阻碍,这使得任何形式的静态分析都非常困难。为了改进JavaScript的开发工具,我们将高效的调用图构建作为需要解决的关键问题。为了解决这个问题,我们提出了一个可扩展的基于字段的流分析,用于构建调用图。我们对大型现实世界程序的评估表明,这种分析虽然在原则上是不健全的,但在实践中产生了高度准确的调用图。以前的分析不能扩展到这些程序,但是我们的分析可以在几秒钟内处理它们,从而证明它适合在交互式设置中使用。
{"title":"Efficient construction of approximate call graphs for JavaScript IDE services","authors":"Asger Feldthaus, Max Schäfer, Manu Sridharan, Julian T Dolby, F. Tip","doi":"10.1109/ICSE.2013.6606621","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606621","url":null,"abstract":"The rapid rise of JavaScript as one of the most popular programming languages of the present day has led to a demand for sophisticated IDE support similar to what is available for Java or C#. However, advanced tooling is hampered by the dynamic nature of the language, which makes any form of static analysis very difficult. We single out efficient call graph construction as a key problem to be solved in order to improve development tools for JavaScript. To address this problem, we present a scalable field-based flow analysis for constructing call graphs. Our evaluation on large real-world programs shows that the analysis, while in principle unsound, produces highly accurate call graphs in practice. Previous analyses do not scale to these programs, but our analysis handles them in a matter of seconds, thus proving its suitability for use in an interactive setting.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127163853","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}
引用次数: 118
Supporting maintenance tasks on transformational code generation environments 支持转换代码生成环境中的维护任务
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606719
Victor Guana
At the core of model-driven software development, model-transformation compositions enable automatic generation of executable artifacts from models. Although the advantages of transformational software development have been explored by numerous academics and industry practitioners, adoption of the paradigm continues to be slow, and limited to specific domains. The main challenge to adoption is the fact that maintenance tasks, such as analysis and management of model-transformation compositions and reflecting code changes to model transformations, are still largely unsupported by tools. My dissertation aims at enhancing the field's understanding around the maintenance issues in transformational software development, and at supporting the tasks involved in the synchronization of evolving system features with their generation environments. This paper discusses the three main aspects of the envisioned thesis: (a) complexity analysis of model-transformation compositions, (b) system feature localization and tracking in model-transformation compositions, and (c) refactoring of transformation compositions to improve their qualities.
在模型驱动软件开发的核心,模型转换组合支持从模型自动生成可执行工件。尽管转换软件开发的优势已经被许多学者和行业实践者所探索,但是对范式的采用仍然是缓慢的,并且仅限于特定的领域。采用的主要挑战是维护任务,例如模型转换组合的分析和管理,以及反映模型转换的代码更改,在很大程度上仍然不受工具的支持。我的论文旨在加强该领域对转换软件开发中维护问题的理解,并支持与不断发展的系统特征及其生成环境同步所涉及的任务。本文讨论了所设想的论文的三个主要方面:(a)模型转换组合的复杂性分析,(b)模型转换组合中的系统特征定位和跟踪,以及(c)转换组合的重构以提高其质量。
{"title":"Supporting maintenance tasks on transformational code generation environments","authors":"Victor Guana","doi":"10.1109/ICSE.2013.6606719","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606719","url":null,"abstract":"At the core of model-driven software development, model-transformation compositions enable automatic generation of executable artifacts from models. Although the advantages of transformational software development have been explored by numerous academics and industry practitioners, adoption of the paradigm continues to be slow, and limited to specific domains. The main challenge to adoption is the fact that maintenance tasks, such as analysis and management of model-transformation compositions and reflecting code changes to model transformations, are still largely unsupported by tools. My dissertation aims at enhancing the field's understanding around the maintenance issues in transformational software development, and at supporting the tasks involved in the synchronization of evolving system features with their generation environments. This paper discusses the three main aspects of the envisioned thesis: (a) complexity analysis of model-transformation compositions, (b) system feature localization and tracking in model-transformation compositions, and (c) refactoring of transformation compositions to improve their qualities.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123806601","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
Supporting swift reaction: Automatically uncovering performance problems by systematic experiments 支持快速反应:通过系统实验自动发现性能问题
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606601
Alexander Wert, J. Happe, Lucia Happe
Performance problems pose a significant risk to software vendors. If left undetected, they can lead to lost customers, increased operational costs, and damaged reputation. Despite all efforts, software engineers cannot fully prevent performance problems being introduced into an application. Detecting and resolving such problems as early as possible with minimal effort is still an open challenge in software performance engineering. In this paper, we present a novel approach for Performance Problem Diagnostics (PPD) that systematically searches for well-known performance problems (also called performance antipatterns) within an application. PPD automatically isolates the problem's root cause, hence facilitating problem solving. We applied PPD to a well established transactional web e-Commerce benchmark (TPC-W) in two deployment scenarios. PPD automatically identified four performance problems in the benchmark implementation and its deployment environment. By fixing the problems, we increased the maximum throughput of the benchmark from 1800 requests per second to more than 3500.
性能问题对软件供应商构成重大风险。如果不及时发现,可能会导致客户流失、运营成本增加和声誉受损。尽管软件工程师竭尽全力,但仍无法完全避免应用程序出现性能问题。如何以最小的代价尽早发现并解决这些问题,仍然是软件性能工程领域的一项挑战。在本文中,我们提出了一种新颖的性能问题诊断(PPD)方法,它可以系统地搜索应用程序中众所周知的性能问题(也称为性能反模式)。PPD 可自动隔离问题的根源,从而促进问题的解决。我们在两种部署方案中将 PPD 应用于一个成熟的交易型网络电子商务基准(TPC-W)。PPD 自动发现了基准实施及其部署环境中的四个性能问题。通过解决这些问题,我们将基准的最大吞吐量从每秒 1800 个请求提高到 3500 多个。
{"title":"Supporting swift reaction: Automatically uncovering performance problems by systematic experiments","authors":"Alexander Wert, J. Happe, Lucia Happe","doi":"10.1109/ICSE.2013.6606601","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606601","url":null,"abstract":"Performance problems pose a significant risk to software vendors. If left undetected, they can lead to lost customers, increased operational costs, and damaged reputation. Despite all efforts, software engineers cannot fully prevent performance problems being introduced into an application. Detecting and resolving such problems as early as possible with minimal effort is still an open challenge in software performance engineering. In this paper, we present a novel approach for Performance Problem Diagnostics (PPD) that systematically searches for well-known performance problems (also called performance antipatterns) within an application. PPD automatically isolates the problem's root cause, hence facilitating problem solving. We applied PPD to a well established transactional web e-Commerce benchmark (TPC-W) in two deployment scenarios. PPD automatically identified four performance problems in the benchmark implementation and its deployment environment. By fixing the problems, we increased the maximum throughput of the benchmark from 1800 requests per second to more than 3500.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126603940","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}
引用次数: 68
期刊
2013 35th International Conference on Software Engineering (ICSE)
全部 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