首页 > 最新文献

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

英文 中文
Code Privacy in Detection of Web Vulnerabilities Web漏洞检测中的代码隐私
Jorge Martins, Ibéria Medeiros, Bernardo Ferreira
We propose a solution combining source code static analysis with searchable symmetric encryption to detect input validation vulnerabilities of web applications in encrypted PHP code, allowing developers to protect their codebase from malicious third parties while simultaneously discovering vulnerabilities in it. Results show that our solution is capable of identifying vulnerabilities with precision similar to traditional static code, non-privacy-preserving analysers and exhibits a maximum overhead increase of around 16,55%.
我们提出了一种将源代码静态分析与可搜索对称加密相结合的解决方案,以检测加密PHP代码中web应用程序的输入验证漏洞,使开发人员能够保护他们的代码库免受恶意第三方的攻击,同时发现其中的漏洞。结果表明,我们的解决方案能够精确地识别漏洞,类似于传统的静态代码,非隐私保护分析器,并且显示出最大开销增加约16.55%。
{"title":"Code Privacy in Detection of Web Vulnerabilities","authors":"Jorge Martins, Ibéria Medeiros, Bernardo Ferreira","doi":"10.1145/3593434.3593483","DOIUrl":"https://doi.org/10.1145/3593434.3593483","url":null,"abstract":"We propose a solution combining source code static analysis with searchable symmetric encryption to detect input validation vulnerabilities of web applications in encrypted PHP code, allowing developers to protect their codebase from malicious third parties while simultaneously discovering vulnerabilities in it. Results show that our solution is capable of identifying vulnerabilities with precision similar to traditional static code, non-privacy-preserving analysers and exhibits a maximum overhead increase of around 16,55%.","PeriodicalId":178596,"journal":{"name":"Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering","volume":"450 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122487528","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
Fusion of deep convolutional and LSTM recurrent neural networks for automated detection of code smells 融合深度卷积和LSTM递归神经网络的代码气味自动检测
Anh Ho, Anh M. T. Bui, P. Nguyen, Amleto Di Salle
Code smells is the term used to signal certain patterns or structures in software code that may contain a potential design or architecture problem, leading to maintainability or other software quality issues. Detecting code smells early in the software development process helps prevent these problems and improve the overall software quality. Existing research concentrates on the process of collecting and handling dataset, then exploring the potential of utilizing deep learning models to detect smells, while ignoring extensive feature engineering. Though these approaches obtained promising results, the following issues need to be tackled: (i) extracting both structural and semantic features from the software units; (ii) mitigating the effects of imbalanced data distribution on the performance.In this paper, we propose DeepSmells as a novel approach to code smells detection. To learn the complex hierarchical representations of the code fragment, we apply a deep convolutional neural network (CNN). Then, in order to improve the quality of the context encoding and preserve semantic information, long short-term memory networks (LSTM) is placed immediately after the CNN. The final classification is conducted by deep neural networks with weighted loss function to reduce the impact of skewed data distribution. We performed an empirical study using the existing code smell benchmark datasets to assess the performance of our proposed approach, and compare it with state-of-the-art baselines. The results demonstrate the effectiveness of our proposed method for all kinds of code smells with outperformed evaluation metrics in terms of F1 score and MCC.
代码气味是一个术语,用于指示软件代码中的某些模式或结构,这些模式或结构可能包含潜在的设计或体系结构问题,从而导致可维护性或其他软件质量问题。在软件开发过程的早期检测代码气味有助于防止这些问题并提高整体软件质量。现有的研究集中在收集和处理数据集的过程,然后探索利用深度学习模型检测气味的潜力,而忽略了广泛的特征工程。虽然这些方法获得了令人满意的结果,但需要解决以下问题:(i)从软件单元中提取结构和语义特征;(ii)减轻数据分布不均衡对性能的影响。在本文中,我们提出了deepsmell作为一种新的代码气味检测方法。为了学习代码片段的复杂层次表示,我们应用了深度卷积神经网络(CNN)。然后,为了提高上下文编码的质量并保留语义信息,将长短期记忆网络(LSTM)放置在CNN之后。最后的分类是用加权损失函数的深度神经网络进行的,以减少数据分布偏斜的影响。我们使用现有的代码气味基准数据集进行了一项实证研究,以评估我们提出的方法的性能,并将其与最先进的基线进行比较。结果表明,我们提出的方法对各种代码气味的有效性,在F1分数和MCC方面的评估指标优于其他方法。
{"title":"Fusion of deep convolutional and LSTM recurrent neural networks for automated detection of code smells","authors":"Anh Ho, Anh M. T. Bui, P. Nguyen, Amleto Di Salle","doi":"10.1145/3593434.3593476","DOIUrl":"https://doi.org/10.1145/3593434.3593476","url":null,"abstract":"Code smells is the term used to signal certain patterns or structures in software code that may contain a potential design or architecture problem, leading to maintainability or other software quality issues. Detecting code smells early in the software development process helps prevent these problems and improve the overall software quality. Existing research concentrates on the process of collecting and handling dataset, then exploring the potential of utilizing deep learning models to detect smells, while ignoring extensive feature engineering. Though these approaches obtained promising results, the following issues need to be tackled: (i) extracting both structural and semantic features from the software units; (ii) mitigating the effects of imbalanced data distribution on the performance.In this paper, we propose DeepSmells as a novel approach to code smells detection. To learn the complex hierarchical representations of the code fragment, we apply a deep convolutional neural network (CNN). Then, in order to improve the quality of the context encoding and preserve semantic information, long short-term memory networks (LSTM) is placed immediately after the CNN. The final classification is conducted by deep neural networks with weighted loss function to reduce the impact of skewed data distribution. We performed an empirical study using the existing code smell benchmark datasets to assess the performance of our proposed approach, and compare it with state-of-the-art baselines. The results demonstrate the effectiveness of our proposed method for all kinds of code smells with outperformed evaluation metrics in terms of F1 score and MCC.","PeriodicalId":178596,"journal":{"name":"Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127124907","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
Outside the Sandbox: A Study of Input/Output Methods in Java 沙箱之外:Java输入/输出方法的研究
Matúš Sulír, Sergej Chodarev, Milan Nosáľ
Programming languages often demarcate the internal sandbox, consisting of entities such as objects and variables, from the outside world, e.g., files or network. Although communication with the external world poses fundamental challenges for live programming, reversible debugging, testing, and program analysis in general, studies about this phenomenon are rare. In this paper, we present a preliminary empirical study about the prevalence of input/output (I/O) method usage in Java. We manually categorized 1435 native methods in a Java Standard Edition distribution into non-I/O and I/O-related methods, which were further classified into areas such as desktop or file-related ones. According to the static analysis of a call graph for 798 projects, about 57% of methods potentially call I/O natives. The results of dynamic analysis on 16 benchmarks showed that 21% of the executed methods directly or indirectly called an I/O native. We conclude that neglecting I/O is not a viable option for tool designers and suggest the integration of I/O-related metadata with source code to facilitate their querying.
编程语言通常划分内部沙箱,由对象和变量等实体组成,与外部世界(如文件或网络)区分开来。尽管与外部世界的通信通常对实时编程、可逆调试、测试和程序分析提出了根本性的挑战,但关于这种现象的研究很少。在本文中,我们对Java中输入/输出(I/O)方法的使用进行了初步的实证研究。我们手动将Java标准版发行版中的1435种本地方法分为非I/O和与I/O相关的方法,这些方法进一步分为桌面或文件相关的方法。根据对798个项目的调用图的静态分析,大约57%的方法可能调用I/O本机。对16个基准的动态分析结果表明,21%的执行方法直接或间接调用I/O本机。我们得出的结论是,忽略I/O对工具设计人员来说不是一个可行的选择,并建议将I/O相关的元数据与源代码集成,以方便他们的查询。
{"title":"Outside the Sandbox: A Study of Input/Output Methods in Java","authors":"Matúš Sulír, Sergej Chodarev, Milan Nosáľ","doi":"10.1145/3593434.3593501","DOIUrl":"https://doi.org/10.1145/3593434.3593501","url":null,"abstract":"Programming languages often demarcate the internal sandbox, consisting of entities such as objects and variables, from the outside world, e.g., files or network. Although communication with the external world poses fundamental challenges for live programming, reversible debugging, testing, and program analysis in general, studies about this phenomenon are rare. In this paper, we present a preliminary empirical study about the prevalence of input/output (I/O) method usage in Java. We manually categorized 1435 native methods in a Java Standard Edition distribution into non-I/O and I/O-related methods, which were further classified into areas such as desktop or file-related ones. According to the static analysis of a call graph for 798 projects, about 57% of methods potentially call I/O natives. The results of dynamic analysis on 16 benchmarks showed that 21% of the executed methods directly or indirectly called an I/O native. We conclude that neglecting I/O is not a viable option for tool designers and suggest the integration of I/O-related metadata with source code to facilitate their querying.","PeriodicalId":178596,"journal":{"name":"Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering","volume":"134 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132294881","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
From Data Analysis to Human Input: Navigating the Complexity of Software Evaluation and Assessment 从数据分析到人工输入:驾驭软件评估和评估的复杂性
Sigrid Eldh
It is the time of trust and transformation in software. We want explainable AI to assist us in dialogue, write our programs, test our software, and improve how we communicate. It is the time of digitalization, but we must ask ourselves - on what data in what format, when do we collect it, and what is the source? Does “data” make sense? Every action can be automated, should eventually be automated, and as such should be traceable and explainable. The transformation of software – and how we can now train, and feedback in a fast way, enable us to not only utilize existing technologies, but also aids us in faster embracing new technologies. This transformation is much to slow even if things change at a lightning speed. Change is the only thing we can be sure will happen. Evaluating and assessing quality of software sounds easy but is only as good as you design it to be. We, often simplify the problem so we can move forward, but it is the complications that is the real issue – our context, our combination of tools, languages, hardware, history, and way of working. We simply need the labeling, the meta-data, the context – and this data in a form with “many” perspectives to draw the more “accurate” scientific picture. Having a multi-facetted perspective is important when analyzing complex contexts. In software, listening skills and asking the right questions to the right people is often invaluable to complement blunt data. On the other side - much information is probably missing as you are too easily getting “only” what you asked for. So, we cannot judge what we cannot observe – and analyzing this data, is another issue all together. We need to know what is right – because if we cannot trust the source – or double check the outcome, how would we know it is not just a “fake” data? What does the outlier really mean? Is it a sign of a new trend is it the first time we capture this odd event? Therefore, it is easy to lose perspective in a fast-changing world. Despite drowning in tools, we still miss a lot of them. The threshold of using a tool is high, as we cannot trust them, and we cannot be sure that the data these tools collect does represent what we want to investigate. Therefore, the role of the scientist is more important than ever. Trusting the scientific process, utilizing multiple methods, and combining them is the receipt! Another goal is doing our best to select topics and collaborators – as building better software (quality) for humanity. It starts with you and me. I hope I will in this context be able to touch upon areas like security, testing, automation, AI/ML, ethics and “human in the loop”, analysis, tools, and technical debt, with a focus on evaluations and assessments.
这是信任和软件转型的时刻。我们想要可解释的人工智能来帮助我们进行对话、编写程序、测试软件,并改善我们的沟通方式。这是一个数字化的时代,但我们必须问自己——什么数据,什么格式,什么时候收集,来源是什么?“数据”有意义吗?每个操作都可以自动化,最终应该自动化,因此应该是可跟踪和可解释的。软件的转变——以及我们现在如何以一种快速的方式进行培训和反馈——使我们不仅能够利用现有技术,还能帮助我们更快地接受新技术。即使事物以闪电般的速度变化,这种转变也要慢得多。变化是我们唯一可以肯定会发生的事情。评估和评估软件的质量听起来很容易,但只有在你设计它的时候才会很好。我们经常简化问题,这样我们就可以继续前进,但真正的问题是复杂性——我们的环境,我们对工具、语言、硬件、历史和工作方式的组合。我们只需要标签、元数据、背景——这些数据以“多种”视角的形式呈现,从而绘制出更“准确”的科学图景。在分析复杂的上下文时,拥有多方位的视角非常重要。在软件领域,倾听技巧和向正确的人提出正确的问题对于补充生硬的数据通常是无价的。另一方面,由于你太容易“只”得到你想要的,可能会丢失很多信息。所以,我们不能判断我们没有观察到的东西——分析这些数据,是另一个问题。我们需要知道什么是正确的——因为如果我们不能信任来源——或者反复检查结果,我们怎么知道这不是一个“假”数据?异常值的真正含义是什么?这是一种新趋势的标志吗?这是我们第一次捕捉到这种奇怪的现象吗?因此,在一个瞬息万变的世界里,很容易失去远见。尽管工具泛滥,但我们仍然错过了很多工具。使用工具的门槛很高,因为我们不能信任它们,而且我们不能确定这些工具收集的数据确实代表了我们想要调查的内容。因此,科学家的作用比以往任何时候都更重要。相信科学的过程,使用多种方法,并将它们结合起来就是收据!另一个目标是尽我们最大的努力选择主题和合作者——为人类构建更好的软件(质量)。一切从你和我开始。我希望在这篇文章中能够触及安全、测试、自动化、人工智能/机器学习、道德和“人在循环”、分析、工具和技术债务等领域,重点是评估和评估。
{"title":"From Data Analysis to Human Input: Navigating the Complexity of Software Evaluation and Assessment","authors":"Sigrid Eldh","doi":"10.1145/3593434.3596439","DOIUrl":"https://doi.org/10.1145/3593434.3596439","url":null,"abstract":"It is the time of trust and transformation in software. We want explainable AI to assist us in dialogue, write our programs, test our software, and improve how we communicate. It is the time of digitalization, but we must ask ourselves - on what data in what format, when do we collect it, and what is the source? Does “data” make sense? Every action can be automated, should eventually be automated, and as such should be traceable and explainable. The transformation of software – and how we can now train, and feedback in a fast way, enable us to not only utilize existing technologies, but also aids us in faster embracing new technologies. This transformation is much to slow even if things change at a lightning speed. Change is the only thing we can be sure will happen. Evaluating and assessing quality of software sounds easy but is only as good as you design it to be. We, often simplify the problem so we can move forward, but it is the complications that is the real issue – our context, our combination of tools, languages, hardware, history, and way of working. We simply need the labeling, the meta-data, the context – and this data in a form with “many” perspectives to draw the more “accurate” scientific picture. Having a multi-facetted perspective is important when analyzing complex contexts. In software, listening skills and asking the right questions to the right people is often invaluable to complement blunt data. On the other side - much information is probably missing as you are too easily getting “only” what you asked for. So, we cannot judge what we cannot observe – and analyzing this data, is another issue all together. We need to know what is right – because if we cannot trust the source – or double check the outcome, how would we know it is not just a “fake” data? What does the outlier really mean? Is it a sign of a new trend is it the first time we capture this odd event? Therefore, it is easy to lose perspective in a fast-changing world. Despite drowning in tools, we still miss a lot of them. The threshold of using a tool is high, as we cannot trust them, and we cannot be sure that the data these tools collect does represent what we want to investigate. Therefore, the role of the scientist is more important than ever. Trusting the scientific process, utilizing multiple methods, and combining them is the receipt! Another goal is doing our best to select topics and collaborators – as building better software (quality) for humanity. It starts with you and me. I hope I will in this context be able to touch upon areas like security, testing, automation, AI/ML, ethics and “human in the loop”, analysis, tools, and technical debt, with a focus on evaluations and assessments.","PeriodicalId":178596,"journal":{"name":"Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130995749","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
Are security commit messages informative? Not enough! 安全提交消息是否具有信息性?不够的!
Sofia Reis, Rui Abreu, C. Pasareanu
The fast distribution and deployment of security patches are important to protect users against cyberattacks. These fixes can be detected automatically by patch management triage systems. However, previous work has shown that automating the task is not easy, in some cases, because of poor documentation or lack of information in security fixes. For many years, standard practices in the security community have steered engineers to provide cryptic commit messages (i.e., patch software vulnerabilities silently) to avoid potential attacks and reputation damage. However, not providing enough documentation on vulnerability fixes can hinder trust between vendors and users. Current efforts in the security community aim to increase the level of transparency during patch and disclosing times to help build trust in the development community and make patch management processes faster. In this paper, we evaluate how informative security commit messages (i.e., messages attached to security fixes) are and how different levels of information can affect different tasks in automated patch triage systems. We observed that security engineers, in general, do not provide enough detail to enable the three automated triage systems at the same time. In addition, results show that security commit messages need to be more informative—56.7% of the messages analyzed were documented poorly. Best practices to write informative and well-structured security commit messages (such as SECOM) should become a standard practice in the security community.
安全补丁的快速发布和部署对于保护用户免受网络攻击至关重要。补丁管理分类系统可以自动检测到这些补丁。然而,以前的工作已经表明,在某些情况下,由于缺乏文档或缺乏安全修复程序中的信息,使任务自动化并不容易。多年来,安全社区的标准实践引导工程师提供神秘的提交消息(即,默默地修补软件漏洞),以避免潜在的攻击和声誉损害。然而,没有提供足够的漏洞修复文档可能会阻碍供应商和用户之间的信任。安全社区目前的工作旨在提高补丁和公开时间的透明度,以帮助在开发社区中建立信任,并使补丁管理过程更快。在本文中,我们评估了信息安全提交消息(即附加到安全修复程序的消息)的程度,以及不同级别的信息如何影响自动补丁分类系统中的不同任务。我们观察到,安全工程师通常不会提供足够的细节来同时启用三个自动分类系统。此外,结果表明,安全提交消息需要更具信息性——所分析的56.7%的消息记录不佳。编写信息丰富且结构良好的安全提交消息(如SECOM)的最佳实践应该成为安全社区的标准实践。
{"title":"Are security commit messages informative? Not enough!","authors":"Sofia Reis, Rui Abreu, C. Pasareanu","doi":"10.1145/3593434.3593481","DOIUrl":"https://doi.org/10.1145/3593434.3593481","url":null,"abstract":"The fast distribution and deployment of security patches are important to protect users against cyberattacks. These fixes can be detected automatically by patch management triage systems. However, previous work has shown that automating the task is not easy, in some cases, because of poor documentation or lack of information in security fixes. For many years, standard practices in the security community have steered engineers to provide cryptic commit messages (i.e., patch software vulnerabilities silently) to avoid potential attacks and reputation damage. However, not providing enough documentation on vulnerability fixes can hinder trust between vendors and users. Current efforts in the security community aim to increase the level of transparency during patch and disclosing times to help build trust in the development community and make patch management processes faster. In this paper, we evaluate how informative security commit messages (i.e., messages attached to security fixes) are and how different levels of information can affect different tasks in automated patch triage systems. We observed that security engineers, in general, do not provide enough detail to enable the three automated triage systems at the same time. In addition, results show that security commit messages need to be more informative—56.7% of the messages analyzed were documented poorly. Best practices to write informative and well-structured security commit messages (such as SECOM) should become a standard practice in the security community.","PeriodicalId":178596,"journal":{"name":"Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering","volume":"80 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128410340","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
Optimized Tokenization Process for Open-Vocabulary Code Completion: An Empirical Study 开放词汇码补全的优化标记化过程:实证研究
Yasir Hussain, Zhiqiu Huang, Yu Zhou, I. A. Khan, Nasrullah Khan, Muhammad Zahid Abbas
Studies have substantiated the efficacy of deep learning-based models in various source code modeling tasks. These models are usually trained on large datasets that are divided into smaller units, known as tokens, utilizing either an open or closed vocabulary system. The selection of a tokenization method can have a profound impact on the number of tokens generated, which in turn can significantly influence the performance of the model. This study investigates the effect of different tokenization methods on source code modeling and proposes an optimized tokenizer to enhance the tokenization performance. The proposed tokenizer employs a hybrid approach that initializes with a global vocabulary based on the most frequent unigrams and incrementally builds an open-vocabulary system. The proposed tokenizer is evaluated against popular tokenization methods such as Closed, Unigram, WordPiece, and BPE tokenizers, as well as tokenizers provided by large pre-trained models such as PolyCoder and CodeGen. The results indicate that the choice of tokenization method can significantly impact the number of sub-tokens generated, which can ultimately influence the modeling performance of a model. Furthermore, our empirical evaluation demonstrates that the proposed tokenizer outperforms other baselines, achieving improved tokenization performance both in terms of a reduced number of sub-tokens and time cost. In conclusion, this study highlights the significance of the choice of tokenization method in source code modeling and the potential for improvement through optimized tokenization techniques.
研究已经证实了基于深度学习的模型在各种源代码建模任务中的有效性。这些模型通常在大型数据集上进行训练,这些数据集被分成更小的单元,称为标记,利用开放或封闭的词汇系统。标记化方法的选择会对生成的标记数量产生深远的影响,而这反过来又会显著影响模型的性能。本文研究了不同的标记化方法对源代码建模的影响,并提出了一种优化的标记器来提高标记化性能。所提出的标记器采用了一种混合方法,该方法初始化基于最常见字母的全局词汇表,并逐步构建开放词汇表系统。提出的标记器是针对流行的标记器方法(如Closed, Unigram, WordPiece和BPE标记器)以及由大型预训练模型(如PolyCoder和CodeGen)提供的标记器进行评估的。结果表明,标记化方法的选择会显著影响生成的子标记的数量,最终影响模型的建模性能。此外,我们的经验评估表明,所提出的标记器优于其他基准,在减少子标记数量和时间成本方面实现了改进的标记化性能。总之,本研究强调了在源代码建模中选择标记化方法的重要性以及通过优化标记化技术进行改进的潜力。
{"title":"Optimized Tokenization Process for Open-Vocabulary Code Completion: An Empirical Study","authors":"Yasir Hussain, Zhiqiu Huang, Yu Zhou, I. A. Khan, Nasrullah Khan, Muhammad Zahid Abbas","doi":"10.1145/3593434.3594236","DOIUrl":"https://doi.org/10.1145/3593434.3594236","url":null,"abstract":"Studies have substantiated the efficacy of deep learning-based models in various source code modeling tasks. These models are usually trained on large datasets that are divided into smaller units, known as tokens, utilizing either an open or closed vocabulary system. The selection of a tokenization method can have a profound impact on the number of tokens generated, which in turn can significantly influence the performance of the model. This study investigates the effect of different tokenization methods on source code modeling and proposes an optimized tokenizer to enhance the tokenization performance. The proposed tokenizer employs a hybrid approach that initializes with a global vocabulary based on the most frequent unigrams and incrementally builds an open-vocabulary system. The proposed tokenizer is evaluated against popular tokenization methods such as Closed, Unigram, WordPiece, and BPE tokenizers, as well as tokenizers provided by large pre-trained models such as PolyCoder and CodeGen. The results indicate that the choice of tokenization method can significantly impact the number of sub-tokens generated, which can ultimately influence the modeling performance of a model. Furthermore, our empirical evaluation demonstrates that the proposed tokenizer outperforms other baselines, achieving improved tokenization performance both in terms of a reduced number of sub-tokens and time cost. In conclusion, this study highlights the significance of the choice of tokenization method in source code modeling and the potential for improvement through optimized tokenization techniques.","PeriodicalId":178596,"journal":{"name":"Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131806734","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
Ethical Requirements Stack: A framework for implementing ethical requirements of AI in software engineering practices 伦理需求堆栈:在软件工程实践中实现人工智能伦理需求的框架
M. Agbese, Rahul Mohanani, A. Khan, P. Abrahamsson
ACM Reference Format: Mamia Agbese, Rahul Mohanani, Arif Ali Khan, and Pekka Abrahamsson. 2023. Ethical Requirements Stack: A framework for implementing ethical requirements of AI in software engineering practices. In Proceedings of the International Conference on Evaluation and Assessment in Software Engineering (EASE ’23), June 14–16, 2023, Oulu, Finland. ACM, New York, NY, USA, 3 pages. https://doi.org/10.1145/3593434.3593489
ACM参考格式:Mamia Agbese, Rahul Mohanani, Arif Ali Khan和Pekka Abrahamsson。2023。伦理需求堆栈:在软件工程实践中实现人工智能伦理需求的框架。软件工程评估与评估国际会议论文集(EASE’23),2023年6月14-16日,芬兰奥卢。ACM,纽约,美国,3页。https://doi.org/10.1145/3593434.3593489
{"title":"Ethical Requirements Stack: A framework for implementing ethical requirements of AI in software engineering practices","authors":"M. Agbese, Rahul Mohanani, A. Khan, P. Abrahamsson","doi":"10.1145/3593434.3593489","DOIUrl":"https://doi.org/10.1145/3593434.3593489","url":null,"abstract":"ACM Reference Format: Mamia Agbese, Rahul Mohanani, Arif Ali Khan, and Pekka Abrahamsson. 2023. Ethical Requirements Stack: A framework for implementing ethical requirements of AI in software engineering practices. In Proceedings of the International Conference on Evaluation and Assessment in Software Engineering (EASE ’23), June 14–16, 2023, Oulu, Finland. ACM, New York, NY, USA, 3 pages. https://doi.org/10.1145/3593434.3593489","PeriodicalId":178596,"journal":{"name":"Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering","volume":"112 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127981168","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
Effective Agile Contracts Framework for Software Innovation Projects 软件创新项目的有效敏捷合同框架
Adriano Gomes
This research explores the challenges in agile contract modeling for software innovation projects, particularly for outsourced projects. Literature has presented various methods and frameworks for agile contract management, but there is still a gap in effectively establishing the best contract approach for each project based on specific conditions. This work aims to contribute with a framework definition that effectively applies practical approaches for contract deployment suitable for software innovation projects, considering the best contractual practices related to projects specific context. The study will conduct an action research at CESAR, a prominent Brazilian Institute of Science and Technology (ICT) with 1200 employees and 26 years old, to establish effective agile contract models and its implementation that better support agile management and project success. The study hopes to contribute to understanding the relationship between the type of contract and project outcomes and to provide better agile contract implementation for software innovation projects developed by outsourced companies.
本研究探讨了软件创新项目,特别是外包项目的敏捷合同建模中的挑战。文献已经提出了敏捷合同管理的各种方法和框架,但是在根据具体情况为每个项目有效地建立最佳合同方法方面仍然存在差距。这项工作的目的是提供一个框架定义,有效地应用适用于软件创新项目的合同部署的实际方法,考虑到与项目具体环境相关的最佳合同实践。该研究将在CESAR进行一项行动研究,CESAR是巴西著名的科学技术研究所(ICT),拥有1200名员工和26岁,以建立有效的敏捷合同模型及其实施,更好地支持敏捷管理和项目成功。本研究希望有助于理解合同类型与项目成果之间的关系,并为外包公司开发的软件创新项目提供更好的敏捷合同实施。
{"title":"Effective Agile Contracts Framework for Software Innovation Projects","authors":"Adriano Gomes","doi":"10.1145/3593434.3593473","DOIUrl":"https://doi.org/10.1145/3593434.3593473","url":null,"abstract":"This research explores the challenges in agile contract modeling for software innovation projects, particularly for outsourced projects. Literature has presented various methods and frameworks for agile contract management, but there is still a gap in effectively establishing the best contract approach for each project based on specific conditions. This work aims to contribute with a framework definition that effectively applies practical approaches for contract deployment suitable for software innovation projects, considering the best contractual practices related to projects specific context. The study will conduct an action research at CESAR, a prominent Brazilian Institute of Science and Technology (ICT) with 1200 employees and 26 years old, to establish effective agile contract models and its implementation that better support agile management and project success. The study hopes to contribute to understanding the relationship between the type of contract and project outcomes and to provide better agile contract implementation for software innovation projects developed by outsourced companies.","PeriodicalId":178596,"journal":{"name":"Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129079132","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
Towards a User-centred Security Framework for Social Robots in Public Spaces 面向以用户为中心的公共空间社交机器人安全框架
S. O. Oruma
The use of social robots in public spaces is becoming increasingly popular due to their ability to provide personalized services to users. However, the convergence of different technologies and software applications has raised concerns regarding security requirements, standards, and regulations. Specifically, there are significant concerns about the evolving threat landscape for software applications in public settings, where social robots interact without supervision and are in direct contact with threat actors. During the development of social robots software, developers and practitioners need practical tools to continuously assess their products’ security profiles. This paper presents a preventive approach to the dynamic evolving security landscape of Social Robots in Public Spaces (SRPS) using design science research (DSR) methodology to develop a security framework. The study investigates security threats, vulnerabilities, and risks associated with SRPS software development and analyzes existing related frameworks to design a security framework for SRPS software developers. The research aims to provide insights into the security aspects of SRPS software application development processes and contribute to developing effective security frameworks to mitigate evolving risks and ensure secure operation and acceptance in public spaces.
由于能够为用户提供个性化服务,社交机器人在公共场所的使用正变得越来越受欢迎。然而,不同技术和软件应用程序的融合引起了对安全需求、标准和法规的关注。具体来说,在公共环境中,社交机器人在没有监督的情况下互动,并与威胁行为者直接接触,因此对软件应用程序不断演变的威胁前景存在重大担忧。在社交机器人软件的开发过程中,开发人员和从业人员需要实用的工具来持续评估其产品的安全概况。本文采用设计科学研究(DSR)方法,提出了一种预防公共空间社交机器人(SRPS)动态演变的安全格局的方法。该研究调查了与SRPS软件开发相关的安全威胁、漏洞和风险,并分析了现有的相关框架,为SRPS软件开发人员设计了一个安全框架。该研究旨在为SRPS软件应用程序开发过程的安全方面提供见解,并有助于开发有效的安全框架,以减轻不断变化的风险,确保公共空间的安全运行和接受。
{"title":"Towards a User-centred Security Framework for Social Robots in Public Spaces","authors":"S. O. Oruma","doi":"10.1145/3593434.3593446","DOIUrl":"https://doi.org/10.1145/3593434.3593446","url":null,"abstract":"The use of social robots in public spaces is becoming increasingly popular due to their ability to provide personalized services to users. However, the convergence of different technologies and software applications has raised concerns regarding security requirements, standards, and regulations. Specifically, there are significant concerns about the evolving threat landscape for software applications in public settings, where social robots interact without supervision and are in direct contact with threat actors. During the development of social robots software, developers and practitioners need practical tools to continuously assess their products’ security profiles. This paper presents a preventive approach to the dynamic evolving security landscape of Social Robots in Public Spaces (SRPS) using design science research (DSR) methodology to develop a security framework. The study investigates security threats, vulnerabilities, and risks associated with SRPS software development and analyzes existing related frameworks to design a security framework for SRPS software developers. The research aims to provide insights into the security aspects of SRPS software application development processes and contribute to developing effective security frameworks to mitigate evolving risks and ensure secure operation and acceptance in public spaces.","PeriodicalId":178596,"journal":{"name":"Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering","volume":"417 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116705441","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
Gamification of Business Process Modeling Notation education: an experience report 业务流程建模符号教育的游戏化:经验报告
Giacomo Garaccione, Riccardo Coppola, Luca Ardito, Marco Torchiano
Business Process Modeling (BPM) is a skill considered fundamental for computer engineers, with Business Process Modeling Notation (BPMN) being one of the most commonly used notations for this discipline. BPMN modeling is present in different curricula in specific Master’s Degree courses related to software engineering, but, in practice, students often underperform on BPMN modeling exercises due to difficulties in learning good modeling practices. In recent years, more and more fields of computer science have employed gamification (the usage of game elements in non-recreational contexts to gain benefits in terms of interest, participation, motivation, and enjoyment) with positive results during both development and teaching processes. Thus, we have developed a platform for BPMN modeling that employs gamification mechanics to facilitate learning good modeling practices with mechanisms such as rewarding good modeling solutions and penalizing less correct ones, with a dedicated feedback mechanism that maps correctly modeled elements to the corresponding concept. A preliminary laboratory experiment has been conducted with students of an Information Systems course to evaluate how students receive the mechanics and if there may be benefits in using a gamified environment for teaching process modeling throughout an entire course.
业务流程建模(BPM)被认为是计算机工程师的一项基本技能,业务流程建模符号(BPMN)是该学科最常用的符号之一。BPMN建模出现在与软件工程相关的特定硕士学位课程的不同课程中,但是,在实践中,由于难以学习良好的建模实践,学生经常在BPMN建模练习中表现不佳。近年来,越来越多的计算机科学领域在开发和教学过程中都采用了游戏化(游戏邦注:在非娱乐环境中使用游戏元素,以获得兴趣、参与、动机和享受等方面的好处),并取得了积极的成果。因此,我们为BPMN建模开发了一个平台,该平台采用游戏化机制,通过奖励好的建模解决方案和惩罚不太正确的解决方案等机制,促进学习良好的建模实践,并使用专用的反馈机制,将正确建模的元素映射到相应的概念。我们对信息系统课程的学生进行了初步的实验室实验,以评估学生如何接受机制,以及在整个课程中使用游戏化环境来教授过程建模是否有好处。
{"title":"Gamification of Business Process Modeling Notation education: an experience report","authors":"Giacomo Garaccione, Riccardo Coppola, Luca Ardito, Marco Torchiano","doi":"10.1145/3593434.3593956","DOIUrl":"https://doi.org/10.1145/3593434.3593956","url":null,"abstract":"Business Process Modeling (BPM) is a skill considered fundamental for computer engineers, with Business Process Modeling Notation (BPMN) being one of the most commonly used notations for this discipline. BPMN modeling is present in different curricula in specific Master’s Degree courses related to software engineering, but, in practice, students often underperform on BPMN modeling exercises due to difficulties in learning good modeling practices. In recent years, more and more fields of computer science have employed gamification (the usage of game elements in non-recreational contexts to gain benefits in terms of interest, participation, motivation, and enjoyment) with positive results during both development and teaching processes. Thus, we have developed a platform for BPMN modeling that employs gamification mechanics to facilitate learning good modeling practices with mechanisms such as rewarding good modeling solutions and penalizing less correct ones, with a dedicated feedback mechanism that maps correctly modeled elements to the corresponding concept. A preliminary laboratory experiment has been conducted with students of an Information Systems course to evaluate how students receive the mechanics and if there may be benefits in using a gamified environment for teaching process modeling throughout an entire course.","PeriodicalId":178596,"journal":{"name":"Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering","volume":"102 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116712919","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Proceedings of the 27th 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