首页 > 最新文献

Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering最新文献

英文 中文
Challenges when Applying Repertory Grid Technique for Software Practices 存储网格技术在软件实践中的应用挑战
Diana Kirk, Kelly Blincoe
The Repertory Grid Technique (RGT) has been applied within the software engineering domain to investigate a variety of topics. These include topics relating to architectural knowledge, team level tacit knowledge, and project success mechanisms. The technique is based on Personal Construct Theory (PCT) and is claimed to be suitable for gaining a deep understanding of peoples’ perspectives on a topic. The essence of RGT is a consideration of similarities and differences, for example, between different project instances. In this paper, we describe a case study in which we applied the technique with the aim of eliciting practitioners’ viewpoints on contextual factors for situated software practices. We interviewed twelve practitioners in three organisations. We found that the RGT approach was challenging to implement for several reasons. Participants had difficulty in choosing specific instances of a software practice, identifying similarities and differences tended to be problematic and causal pathways were not always easy to establish. Our contributions are the highlighting of the challenges that may occur when implementing this technique, an analysis of the issues encountered and some possible mitigation approaches. These may serve as support for SE researchers considering an RGT based study.
存储网格技术(RGT)已被应用于软件工程领域,用于研究各种主题。这些主题包括与体系结构知识、团队级别的隐性知识和项目成功机制相关的主题。该技术基于个人构念理论(PCT),据称适用于深入了解人们对某个话题的看法。RGT的本质是考虑异同,例如,在不同的项目实例之间。在本文中,我们描述了一个案例研究,在这个案例中,我们应用了该技术,目的是引出实践者对情境软件实践的上下文因素的观点。我们采访了三家机构的十二位从业人员。我们发现,由于几个原因,RGT方法很难实现。参与者很难选择软件实践的具体实例,识别相似性和差异性往往是有问题的,并且因果关系并不总是容易建立。我们的贡献是强调在实施该技术时可能出现的挑战,分析遇到的问题和一些可能的缓解方法。这些可能为SE研究人员考虑RGT研究提供支持。
{"title":"Challenges when Applying Repertory Grid Technique for Software Practices","authors":"Diana Kirk, Kelly Blincoe","doi":"10.1145/3463274.3463841","DOIUrl":"https://doi.org/10.1145/3463274.3463841","url":null,"abstract":"The Repertory Grid Technique (RGT) has been applied within the software engineering domain to investigate a variety of topics. These include topics relating to architectural knowledge, team level tacit knowledge, and project success mechanisms. The technique is based on Personal Construct Theory (PCT) and is claimed to be suitable for gaining a deep understanding of peoples’ perspectives on a topic. The essence of RGT is a consideration of similarities and differences, for example, between different project instances. In this paper, we describe a case study in which we applied the technique with the aim of eliciting practitioners’ viewpoints on contextual factors for situated software practices. We interviewed twelve practitioners in three organisations. We found that the RGT approach was challenging to implement for several reasons. Participants had difficulty in choosing specific instances of a software practice, identifying similarities and differences tended to be problematic and causal pathways were not always easy to establish. Our contributions are the highlighting of the challenges that may occur when implementing this technique, an analysis of the issues encountered and some possible mitigation approaches. These may serve as support for SE researchers considering an RGT based study.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127612766","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
Modernizing Legacy Systems with Microservices: A Roadmap 用微服务现代化遗留系统:路线图
Daniele Wolfart, W. K. Assunção, I. F. D. Silva, Diogo C. P. Domingos, Ederson Schmeing, Guilherme Villaca, D. Paza
Legacy systems are long-lived applications, with obsolete technology and degraded architecture. These systems hamper digital transformation and innovation, and require a great amount of resources for maintenance. The modernization of monolithic legacy systems is a strategy to promote better evolution and maintenance, taking advantage of new technologies such as microservices. Microservice architectural style is a paradigm to develop systems as a suite of small and autonomous services, communicating through a lightweight protocol. However, the migration of legacy systems to microservices is complex. Although we can find several studies on this topic, they usually focus on specific activities, e.g., the identification of the microservice boundaries in the legacy code. Also, existing pieces of work do not cover real-world scenarios, since they do not take into account organizational, operational, and technical aspects. To overcome this limitation, in this paper we present a roadmap for modernizing monolithic legacy systems with microservices. The roadmap is distilled from the existing body of knowledge, describing common activities and input/output information. The proposed roadmap is composed of eight activities, grouped in four phases, namely initiation, planning, execution, and monitoring. The main contributions are: (i) serve as a basis for practitioners to plan, execute, and monitor the modernization process; (ii) be a reference for researchers to design new studies; and (iii) motivate tool builders to deal with existing needs.
遗留系统是寿命较长的应用程序,具有过时的技术和退化的体系结构。这些系统阻碍了数字化转型和创新,并且需要大量资源进行维护。单片遗留系统的现代化是一种利用微服务等新技术促进更好的发展和维护的策略。微服务架构风格是一种范例,将系统开发为一套小型自治服务,通过轻量级协议进行通信。然而,将遗留系统迁移到微服务是复杂的。虽然我们可以找到一些关于这个主题的研究,但它们通常关注于特定的活动,例如,在遗留代码中识别微服务边界。同样,现有的工作片段没有覆盖真实世界的场景,因为它们没有考虑到组织、操作和技术方面。为了克服这一限制,在本文中,我们提出了一个用微服务现代化单片遗留系统的路线图。路线图是从现有的知识体系中提炼出来的,描述了常见的活动和输入/输出信息。拟议的路线图由八个活动组成,分为四个阶段,即启动、计划、执行和监测。主要的贡献是:(i)作为执行者计划、执行和监视现代化过程的基础;(ii)作为研究人员设计新研究的参考;(iii)激励工具构建者处理现有的需求。
{"title":"Modernizing Legacy Systems with Microservices: A Roadmap","authors":"Daniele Wolfart, W. K. Assunção, I. F. D. Silva, Diogo C. P. Domingos, Ederson Schmeing, Guilherme Villaca, D. Paza","doi":"10.1145/3463274.3463334","DOIUrl":"https://doi.org/10.1145/3463274.3463334","url":null,"abstract":"Legacy systems are long-lived applications, with obsolete technology and degraded architecture. These systems hamper digital transformation and innovation, and require a great amount of resources for maintenance. The modernization of monolithic legacy systems is a strategy to promote better evolution and maintenance, taking advantage of new technologies such as microservices. Microservice architectural style is a paradigm to develop systems as a suite of small and autonomous services, communicating through a lightweight protocol. However, the migration of legacy systems to microservices is complex. Although we can find several studies on this topic, they usually focus on specific activities, e.g., the identification of the microservice boundaries in the legacy code. Also, existing pieces of work do not cover real-world scenarios, since they do not take into account organizational, operational, and technical aspects. To overcome this limitation, in this paper we present a roadmap for modernizing monolithic legacy systems with microservices. The roadmap is distilled from the existing body of knowledge, describing common activities and input/output information. The proposed roadmap is composed of eight activities, grouped in four phases, namely initiation, planning, execution, and monitoring. The main contributions are: (i) serve as a basis for practitioners to plan, execute, and monitor the modernization process; (ii) be a reference for researchers to design new studies; and (iii) motivate tool builders to deal with existing needs.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131524728","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
Towards an Automated Classification Approach for Software Engineering Research 面向软件工程研究的自动分类方法
Angelika Kaplan, Jan Keim
The rapid growth of software engineering research publications forces an amount of scholarly knowledge that needs to be managed, organized and communicated in digital libraries and scientific search engines. Thus, there is a need for classified papers to accomplish these tasks, but the classification process is cumbersome. Moreover, in case of new schemas, one would need to reclassify previously published research. We propose to automate the classification and present different possible techniques for doing so: Using natural language models, a rule-based approach, or an approach based on topic-labeling. In this proposal paper, we initially implemented a prototype for text classification of software engineering research papers.
软件工程研究出版物的快速增长迫使大量的学术知识需要在数字图书馆和科学搜索引擎中进行管理、组织和交流。因此,需要分类文件来完成这些任务,但分类过程是繁琐的。此外,在新模式的情况下,人们需要重新分类以前发表的研究。我们建议自动化分类,并提出了不同的可能技术:使用自然语言模型、基于规则的方法或基于主题标记的方法。在本文中,我们初步实现了一个软件工程研究论文文本分类的原型。
{"title":"Towards an Automated Classification Approach for Software Engineering Research","authors":"Angelika Kaplan, Jan Keim","doi":"10.1145/3463274.3463358","DOIUrl":"https://doi.org/10.1145/3463274.3463358","url":null,"abstract":"The rapid growth of software engineering research publications forces an amount of scholarly knowledge that needs to be managed, organized and communicated in digital libraries and scientific search engines. Thus, there is a need for classified papers to accomplish these tasks, but the classification process is cumbersome. Moreover, in case of new schemas, one would need to reclassify previously published research. We propose to automate the classification and present different possible techniques for doing so: Using natural language models, a rule-based approach, or an approach based on topic-labeling. In this proposal paper, we initially implemented a prototype for text classification of software engineering research papers.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114838237","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
How Should Developers Respond to App Reviews? Features Predicting the Success of Developer Responses 开发者应如何回应应用评论?预测开发者回应成功的特征
Kamonphop Srisopha, Daniel Link, Barry W. Boehm
Context: The Google Play Store allows app developers to respond to user reviews. Existing research shows that response strategies vary considerably. In addition, while responding to reviews can lead to several types of favorable outcomes, not every response leads to success, which we define as increased user ratings. Aims: This work has two objectives. The first is to investigate the potential to predict early whether a developer response to a review is likely to be successful. The second is to pinpoint how developers can increase the chance of their responses to achieve success. Method: We track changes in user reviews of the 1,600 top free apps over a ten-week period, and find that in 11,034 out of 228,274 one- to four-star reviews, the ratings increase after a response. We extract three groups of features, namely time, presentation and tone, from the responses given to these reviews. We apply the extreme gradient boosting (XGBoost) algorithm to model the success of developer responses using these features. We employ model interpretation techniques to derive insights from the model. Results: Our model can achieve an AUC of 0.69, thus demonstrating that feature engineering and machine learning have the potential to enable developers to estimate the probability of success of their responses at composition time. We learn from it that the ratio between the length of the review and response, the textual similarity between the review and response, and the timeliness and the politeness of the response have the highest predictive power for distinguishing successful and unsuccessful developer responses. Conclusions: Based on our findings, we provide recommendations that developers can follow to increase the chance of success of their responses. Tools may also leverage our findings to support developers in writing more effective responses to reviews on the app store.
背景:Google Play Store允许应用开发者对用户评论做出回应。现有的研究表明,应对策略差异很大。此外,虽然回复评论可以带来几种有利的结果,但并不是每个回复都会带来成功,我们将其定义为增加用户评分。目的:这项工作有两个目标。第一个是调查早期预测开发人员对评审的响应是否可能成功的潜力。第二点是确定开发人员如何增加他们的响应获得成功的机会。方法:我们在10周内追踪了1600款最受欢迎的免费应用的用户评论变化,发现在228,274条一星到四星的评论中,有11034条在用户回复后评级上升。我们从对这些评论的回应中提取出三组特征,即时间、呈现和语气。我们应用极端梯度增强(XGBoost)算法来模拟使用这些特征的开发人员响应的成功。我们采用模型解释技术从模型中获得见解。结果:我们的模型可以达到0.69的AUC,从而表明特征工程和机器学习有潜力使开发人员能够在组合时估计他们的响应成功的概率。我们从中得知,评论和回复的长度之比、评论和回复的文本相似性、回复的及时性和礼貌性对区分成功和不成功的开发者回复具有最高的预测能力。结论:基于我们的发现,我们提供了开发者可以遵循的建议,以增加他们的回应成功的机会。工具还可以利用我们的发现,帮助开发者更有效地回应应用商店的评论。
{"title":"How Should Developers Respond to App Reviews? Features Predicting the Success of Developer Responses","authors":"Kamonphop Srisopha, Daniel Link, Barry W. Boehm","doi":"10.1145/3463274.3463311","DOIUrl":"https://doi.org/10.1145/3463274.3463311","url":null,"abstract":"Context: The Google Play Store allows app developers to respond to user reviews. Existing research shows that response strategies vary considerably. In addition, while responding to reviews can lead to several types of favorable outcomes, not every response leads to success, which we define as increased user ratings. Aims: This work has two objectives. The first is to investigate the potential to predict early whether a developer response to a review is likely to be successful. The second is to pinpoint how developers can increase the chance of their responses to achieve success. Method: We track changes in user reviews of the 1,600 top free apps over a ten-week period, and find that in 11,034 out of 228,274 one- to four-star reviews, the ratings increase after a response. We extract three groups of features, namely time, presentation and tone, from the responses given to these reviews. We apply the extreme gradient boosting (XGBoost) algorithm to model the success of developer responses using these features. We employ model interpretation techniques to derive insights from the model. Results: Our model can achieve an AUC of 0.69, thus demonstrating that feature engineering and machine learning have the potential to enable developers to estimate the probability of success of their responses at composition time. We learn from it that the ratio between the length of the review and response, the textual similarity between the review and response, and the timeliness and the politeness of the response have the highest predictive power for distinguishing successful and unsuccessful developer responses. Conclusions: Based on our findings, we provide recommendations that developers can follow to increase the chance of success of their responses. Tools may also leverage our findings to support developers in writing more effective responses to reviews on the app store.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129475432","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
Adversarial Machine Learning: On the Resilience of Third-party Library Recommender Systems 对抗性机器学习:关于第三方图书馆推荐系统的弹性
Phuong T. Nguyen, Davide Di Ruscio, Juri Di Rocco, Claudio Di Sipio, M. Di Penta
In recent years, we have witnessed a dramatic increase in the application of Machine Learning algorithms in several domains, including the development of recommender systems for software engineering (RSSE). While researchers focused on the underpinning ML techniques to improve recommendation accuracy, little attention has been paid to make such systems robust and resilient to malicious data. By manipulating the algorithms’ training set, i.e., large open-source software (OSS) repositories, it would be possible to make recommender systems vulnerable to adversarial attacks. This paper presents an initial investigation of adversarial machine learning and its possible implications on RSSE. As a proof-of-concept, we show the extent to which the presence of manipulated data can have a negative impact on the outcomes of two state-of-the-art recommender systems which suggest third-party libraries to developers. Our work aims at raising awareness of adversarial techniques and their effects on the Software Engineering community. We also propose equipping recommender systems with the capability to learn to dodge adversarial activities.
近年来,我们目睹了机器学习算法在几个领域的应用急剧增加,包括软件工程推荐系统(RSSE)的开发。虽然研究人员专注于基础机器学习技术来提高推荐的准确性,但很少有人关注如何使这样的系统对恶意数据具有鲁棒性和弹性。通过操纵算法的训练集,即大型开源软件(OSS)存储库,有可能使推荐系统容易受到对抗性攻击。本文介绍了对抗性机器学习的初步研究及其对RSSE的可能影响。作为概念验证,我们展示了操纵数据的存在对两个最先进的推荐系统的结果产生负面影响的程度,这两个推荐系统向开发人员推荐第三方库。我们的工作旨在提高对抗性技术及其对软件工程社区的影响的认识。我们还建议为推荐系统配备学习躲避敌对活动的能力。
{"title":"Adversarial Machine Learning: On the Resilience of Third-party Library Recommender Systems","authors":"Phuong T. Nguyen, Davide Di Ruscio, Juri Di Rocco, Claudio Di Sipio, M. Di Penta","doi":"10.1145/3463274.3463809","DOIUrl":"https://doi.org/10.1145/3463274.3463809","url":null,"abstract":"In recent years, we have witnessed a dramatic increase in the application of Machine Learning algorithms in several domains, including the development of recommender systems for software engineering (RSSE). While researchers focused on the underpinning ML techniques to improve recommendation accuracy, little attention has been paid to make such systems robust and resilient to malicious data. By manipulating the algorithms’ training set, i.e., large open-source software (OSS) repositories, it would be possible to make recommender systems vulnerable to adversarial attacks. This paper presents an initial investigation of adversarial machine learning and its possible implications on RSSE. As a proof-of-concept, we show the extent to which the presence of manipulated data can have a negative impact on the outcomes of two state-of-the-art recommender systems which suggest third-party libraries to developers. Our work aims at raising awareness of adversarial techniques and their effects on the Software Engineering community. We also propose equipping recommender systems with the capability to learn to dodge adversarial activities.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126331735","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
HFContractFuzzer: Fuzzing Hyperledger Fabric Smart Contracts for Vulnerability Detection HFContractFuzzer:模糊超级账本结构智能合约漏洞检测
Mengjie Ding, Peiru Li, Shanshan Li, He Zhang
With its unique advantages such as decentralization and immutability, blockchain technology has been widely used in various fields in recent years. The smart contract running on the blockchain is also playing an increasingly important role in decentralized application scenarios. Therefore, the automatic detection of security vulnerabilities in smart contracts has become an urgent problem in the application of blockchain technology. Hyperledger Fabric is a smart contract platform based on enterprise-level licensed distributed ledger technology. However, the research on the vulnerability detection technology of Hyperledger Fabric smart contracts is still in its infancy. In this paper, we propose HFContractFuzzer, a method based on Fuzzing technology to detect Hyperledger Fabric smart contracts, which combines a Fuzzing tool for golang named go-fuzz and smart contracts written by golang. We use HFContractFuzzer to detect vulnerabilities in five contracts from typical sources and discover that four of them have security vulnerabilities, proving the effectiveness of the proposed method.
区块链技术以其去中心化、不变性等独特的优势,近年来被广泛应用于各个领域。运行在区块链上的智能合约在去中心化应用场景中也发挥着越来越重要的作用。因此,智能合约中的安全漏洞自动检测成为区块链技术应用中亟待解决的问题。Hyperledger Fabric是一个基于企业级许可分布式账本技术的智能合约平台。然而,关于Hyperledger Fabric智能合约漏洞检测技术的研究还处于起步阶段。在本文中,我们提出了HFContractFuzzer,一种基于模糊技术检测Hyperledger Fabric智能合约的方法,它结合了golang的模糊工具go-fuzz和golang编写的智能合约。利用HFContractFuzzer对5个典型来源的合约进行漏洞检测,发现其中4个合约存在安全漏洞,证明了该方法的有效性。
{"title":"HFContractFuzzer: Fuzzing Hyperledger Fabric Smart Contracts for Vulnerability Detection","authors":"Mengjie Ding, Peiru Li, Shanshan Li, He Zhang","doi":"10.1145/3463274.3463351","DOIUrl":"https://doi.org/10.1145/3463274.3463351","url":null,"abstract":"With its unique advantages such as decentralization and immutability, blockchain technology has been widely used in various fields in recent years. The smart contract running on the blockchain is also playing an increasingly important role in decentralized application scenarios. Therefore, the automatic detection of security vulnerabilities in smart contracts has become an urgent problem in the application of blockchain technology. Hyperledger Fabric is a smart contract platform based on enterprise-level licensed distributed ledger technology. However, the research on the vulnerability detection technology of Hyperledger Fabric smart contracts is still in its infancy. In this paper, we propose HFContractFuzzer, a method based on Fuzzing technology to detect Hyperledger Fabric smart contracts, which combines a Fuzzing tool for golang named go-fuzz and smart contracts written by golang. We use HFContractFuzzer to detect vulnerabilities in five contracts from typical sources and discover that four of them have security vulnerabilities, proving the effectiveness of the proposed method.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"53 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127235821","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
Empirical Investigation of Code Quality Rule Violations in HPC Applications 高性能计算应用中代码质量规则违反的实证研究
Shahid Hussain, Kaley M Chicoine, B. Norris
In large, collaborative open-source projects, developers must follow good coding standards to ensure the quality and sustainability of the resulting software. This is especially a challenge in high-performance computing projects, which admit a diverse set of contributions over decades of development. Some successful projects, such as the Portable, Extensible Toolkit for Scientific Computation (PETSc), have created comprehensive developer documentation, including specific code quality rules, which should be followed by contributors. However, none of the widely used and highly active open-source HPC projects have a way to automatically check whether these rules, typically expressed informally in English, are being violated. Hence, compliance checking is labor-intensive and difficult to ensure. To address this issue, we propose an automated method for detecting rule violations in HPC applications based on the PETSc development rules. In our empirical study, we consider 46 PETSc-based applications and assess the violations of two C-usage rules. The experimental results demonstrate the efficacy of the proposed method in identifying PETSc rule violations, which can be broadened to other HPC frameworks and extended by us and others in the community to include more rules.
在大型的协作开源项目中,开发人员必须遵循良好的编码标准,以确保最终软件的质量和可持续性。这在高性能计算项目中尤其是个挑战,因为在几十年的开发过程中,这些项目承认了各种各样的贡献。一些成功的项目,例如可移植的、可扩展的科学计算工具包(PETSc),已经创建了全面的开发人员文档,包括特定的代码质量规则,贡献者应该遵循这些规则。然而,没有一个广泛使用和高度活跃的开源HPC项目有办法自动检查这些规则是否被违反,这些规则通常用非正式的英语表达。因此,遵从性检查是一项劳动密集型工作,而且很难确保。为了解决这个问题,我们提出了一种基于PETSc开发规则的HPC应用中规则违规检测的自动化方法。在我们的实证研究中,我们考虑了46个基于petsc的应用程序,并评估了违反两个c使用规则的情况。实验结果证明了该方法在识别PETSc规则违规方面的有效性,可以扩展到其他HPC框架,并由我们和社区中的其他人扩展以包含更多规则。
{"title":"Empirical Investigation of Code Quality Rule Violations in HPC Applications","authors":"Shahid Hussain, Kaley M Chicoine, B. Norris","doi":"10.1145/3463274.3463787","DOIUrl":"https://doi.org/10.1145/3463274.3463787","url":null,"abstract":"In large, collaborative open-source projects, developers must follow good coding standards to ensure the quality and sustainability of the resulting software. This is especially a challenge in high-performance computing projects, which admit a diverse set of contributions over decades of development. Some successful projects, such as the Portable, Extensible Toolkit for Scientific Computation (PETSc), have created comprehensive developer documentation, including specific code quality rules, which should be followed by contributors. However, none of the widely used and highly active open-source HPC projects have a way to automatically check whether these rules, typically expressed informally in English, are being violated. Hence, compliance checking is labor-intensive and difficult to ensure. To address this issue, we propose an automated method for detecting rule violations in HPC applications based on the PETSc development rules. In our empirical study, we consider 46 PETSc-based applications and assess the violations of two C-usage rules. The experimental results demonstrate the efficacy of the proposed method in identifying PETSc rule violations, which can be broadened to other HPC frameworks and extended by us and others in the community to include more rules.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131276920","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
If you want better empirical research, value your theory: On the importance of strong theories for progress in empirical software engineering research 如果你想要更好的实证研究,重视你的理论:关于在实证软件工程研究中进步的强大理论的重要性
Klaus Schmid
Scientific progress comes from creating sound theories. However, current software engineering still mostly falls short of this goal, although its importance is widely accepted. Thus, in this paper, we discuss the importance of a successful interaction of empirical research with a strong theoretical basis and the ramifications this has. In particular, we will extensively discuss the implications on theory building and the empirical vs. theory interaction, etc. While not everything we will discuss is novel, we present a number of insights, which we at least did not see in software engineering literature. We strongly believe that a careful consideration of the insights discussed in this paper has the potential to lead to a significant improvement in software engineering research.
科学的进步来自于创造健全的理论。然而,目前的软件工程仍然远远达不到这个目标,尽管它的重要性被广泛接受。因此,在本文中,我们讨论了实证研究与强大理论基础成功互动的重要性,以及由此产生的后果。特别是,我们将广泛讨论理论建设和经验与理论互动等方面的影响。虽然我们将要讨论的不是每件事都是新颖的,但是我们提出了一些见解,这些见解至少是我们在软件工程文献中没有看到的。我们坚信,仔细考虑本文中讨论的见解有可能导致软件工程研究的重大改进。
{"title":"If you want better empirical research, value your theory: On the importance of strong theories for progress in empirical software engineering research","authors":"Klaus Schmid","doi":"10.1145/3463274.3463360","DOIUrl":"https://doi.org/10.1145/3463274.3463360","url":null,"abstract":"Scientific progress comes from creating sound theories. However, current software engineering still mostly falls short of this goal, although its importance is widely accepted. Thus, in this paper, we discuss the importance of a successful interaction of empirical research with a strong theoretical basis and the ramifications this has. In particular, we will extensively discuss the implications on theory building and the empirical vs. theory interaction, etc. While not everything we will discuss is novel, we present a number of insights, which we at least did not see in software engineering literature. We strongly believe that a careful consideration of the insights discussed in this paper has the potential to lead to a significant improvement in software engineering research.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"12 44","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120806934","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
A Classification for Managing Software Engineering Knowledge 软件工程知识管理的分类
Angelika Kaplan, Maximilian Walter, R. Heinrich
This taxonomy paper presents a novel way of knowledge engineering in the software engineering research community. Till now, research papers are organized digitally as documents, mostly in PDF files. Not much effort is spent on effective knowledge classification, retrieval, storage, and representation. In contrast to the current paper-based approach for knowledge documentation, we present a statement-based approach, where each statement is linked to arguments and data of its evidence as well as to related statements. We argue that in this way, knowledge will be easier to retrieve, compare, and evaluate in contrast to current paper-based knowledge engineering in scientific search engines and digital libraries. Therefore, we present as a first step a novel multi-dimensional classification for statements in software engineering research. Statements are classified according to their research object, their kind (e.g., relevance), and their underlying evidence. This classification is validated and extended with a first systematic literature review. Additionally, we provide an example for illustration purpose.
本文提出了软件工程研究界知识工程的一种新方法。到目前为止,研究论文大多以PDF文件的形式进行数字化组织。没有太多的精力花在有效的知识分类、检索、存储和表示上。与目前基于纸张的知识文档方法相比,我们提出了一种基于陈述的方法,其中每个陈述都与证据的论据和数据以及相关陈述相关联。我们认为,与目前科学搜索引擎和数字图书馆中基于纸张的知识工程相比,通过这种方式,知识将更容易检索、比较和评估。因此,我们在软件工程研究中提出了一种新的多维语句分类方法。陈述根据其研究对象、类型(例如,相关性)和潜在证据进行分类。通过第一次系统的文献回顾,这种分类得到了验证和扩展。此外,我们提供了一个例子来说明目的。
{"title":"A Classification for Managing Software Engineering Knowledge","authors":"Angelika Kaplan, Maximilian Walter, R. Heinrich","doi":"10.1145/3463274.3463357","DOIUrl":"https://doi.org/10.1145/3463274.3463357","url":null,"abstract":"This taxonomy paper presents a novel way of knowledge engineering in the software engineering research community. Till now, research papers are organized digitally as documents, mostly in PDF files. Not much effort is spent on effective knowledge classification, retrieval, storage, and representation. In contrast to the current paper-based approach for knowledge documentation, we present a statement-based approach, where each statement is linked to arguments and data of its evidence as well as to related statements. We argue that in this way, knowledge will be easier to retrieve, compare, and evaluate in contrast to current paper-based knowledge engineering in scientific search engines and digital libraries. Therefore, we present as a first step a novel multi-dimensional classification for statements in software engineering research. Statements are classified according to their research object, their kind (e.g., relevance), and their underlying evidence. This classification is validated and extended with a first systematic literature review. Additionally, we provide an example for illustration purpose.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"99 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128840259","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
Analytics Mistakes that Derail Software Startups 分析错误使软件初创公司脱轨
Usman Rafiq, Jorge Melegati, Dron Khanna, E. Guerra, Xiaofeng Wang
[Context] Software startups are engines of innovation and economy, yet building software startups is challenging and subject to a high failure rate. They need to act and respond fast in highly uncertain business environments. To do so, they need to identify crucial and actionable information that supports them in making correct decisions and reduce uncertainty. So far, the software startup literature focused predominantly on what information to measure from a metrics perspective. Thus, there is a lack of research investigating how to deal with information from an analytics perspective. [Objective] The current study aims at understanding how software startups are dealing with crucial information that could lead to meaningful actions. The overall research question that guides the study is: what analytics mistakes do software startups make? [Method] We investigated 22 failed software startups using their post-mortem reports as the main source. They were included in the study because the founding teams made mistakes related to information and analytics, which contributed to their startup failure to various degrees. We analyzed the collected data using thematic analysis. [Results] Ten types of mistakes made by the 22 failed startups when dealing with information are identified. These ten types are further grouped into four categories from an analytics process perspective, including information collection, information analysis, information communication, and information usage. [Conclusions] Our findings contribute to a better understanding of how software startups are dealing with information. It provides an opportunity for software startup teams to learn from the recurring mistakes of failed startups. Interesting future research avenues include defining patterns and antipatterns in software startup analytics by studying both failed and successful startups and doing an in-depth investigation of essential metrics for software startups.
【背景】软件创业公司是创新和经济的引擎,但建立软件创业公司具有挑战性,而且失败率很高。他们需要在高度不确定的商业环境中快速行动和反应。要做到这一点,他们需要确定关键和可操作的信息,以支持他们做出正确的决策并减少不确定性。到目前为止,软件创业文献主要集中在从度量的角度衡量什么信息。因此,缺乏从分析角度调查如何处理信息的研究。【目的】当前的研究旨在了解软件初创公司如何处理可能导致有意义的行动的关键信息。指导这项研究的总体研究问题是:软件初创公司在分析方面犯了哪些错误?[方法]我们调查了22家失败的软件创业公司,以他们的事后分析报告为主要来源。他们之所以被纳入研究,是因为创始团队在信息和分析方面犯了错误,这在不同程度上导致了他们的创业失败。我们使用专题分析来分析收集到的数据。【结果】总结了22家失败创业公司在处理信息时所犯的10种错误。从分析过程的角度来看,这十种类型进一步分为四类,包括信息收集、信息分析、信息通信和信息使用。[结论]我们的发现有助于更好地理解软件创业公司是如何处理信息的。它为软件创业团队提供了一个从失败创业中反复出现的错误中学习的机会。未来有趣的研究途径包括通过研究失败和成功的创业,以及对软件创业的基本指标进行深入调查,来定义软件创业分析中的模式和反模式。
{"title":"Analytics Mistakes that Derail Software Startups","authors":"Usman Rafiq, Jorge Melegati, Dron Khanna, E. Guerra, Xiaofeng Wang","doi":"10.1145/3463274.3463305","DOIUrl":"https://doi.org/10.1145/3463274.3463305","url":null,"abstract":"[Context] Software startups are engines of innovation and economy, yet building software startups is challenging and subject to a high failure rate. They need to act and respond fast in highly uncertain business environments. To do so, they need to identify crucial and actionable information that supports them in making correct decisions and reduce uncertainty. So far, the software startup literature focused predominantly on what information to measure from a metrics perspective. Thus, there is a lack of research investigating how to deal with information from an analytics perspective. [Objective] The current study aims at understanding how software startups are dealing with crucial information that could lead to meaningful actions. The overall research question that guides the study is: what analytics mistakes do software startups make? [Method] We investigated 22 failed software startups using their post-mortem reports as the main source. They were included in the study because the founding teams made mistakes related to information and analytics, which contributed to their startup failure to various degrees. We analyzed the collected data using thematic analysis. [Results] Ten types of mistakes made by the 22 failed startups when dealing with information are identified. These ten types are further grouped into four categories from an analytics process perspective, including information collection, information analysis, information communication, and information usage. [Conclusions] Our findings contribute to a better understanding of how software startups are dealing with information. It provides an opportunity for software startup teams to learn from the recurring mistakes of failed startups. Interesting future research avenues include defining patterns and antipatterns in software startup analytics by studying both failed and successful startups and doing an in-depth investigation of essential metrics for software startups.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116970161","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}
引用次数: 6
期刊
Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1