首页 > 最新文献

Journal of Computer Languages最新文献

英文 中文
Introduction to the special issue on foundations and practice of visual modeling (FPVM) 《可视化建模的基础与实践》特刊导论
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101227
Amleto Di Salle , Ludovico Iovino , Alfonso Pierantonio , Juha-Pekka Tolvanen
{"title":"Introduction to the special issue on foundations and practice of visual modeling (FPVM)","authors":"Amleto Di Salle , Ludovico Iovino , Alfonso Pierantonio , Juha-Pekka Tolvanen","doi":"10.1016/j.cola.2023.101227","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101227","url":null,"abstract":"","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101227"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891922","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Dandelion: A scalable, cloud-based graphical language workbench for industrial low-code development 蒲公英:用于工业低代码开发的可伸缩的、基于云的图形语言工作台
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101217
Francisco Martínez-Lasaca , Pablo Díez , Esther Guerra , Juan de Lara

There is an increasing demand nowadays for low-code development platforms (LCDPs). As they rely heavily on graphical languages rather than writing code, these platforms enable citizen developers to participate in software development. However, creating new LCDPs is very costly, since it requires building support for graphical modelling and its integration with services like model validation, recommendation systems, or code generation. While Model-driven Engineering (MDE) has developed technologies to create these components, most of them are not cloud-based, as required by LCDPs. In particular, a cloud-based graphical workbench capable of providing the scalability required by industrial applications and adequately supporting technological heterogeneity is currently missing.

To fill this gap we introduce Dandelion, a cloud-based graphical language workbench for LCDPs built following an MDE approach. The tool handles model heterogeneity by using a harmonising meta-model to uniformly represent models from diverse technologies, and supports a customisable level of conformance between models and meta-models. Scalability is addressed by persisting models in a distributed, highly flexible database whose infrastructure is designed to conform to the harmonising meta-model, thus favouring model retrieval. Additionally, a customisable scalability component is introduced for lazy model loading.

This paper describes the concepts and principles behind the tool design and reports on an evaluation on large synthetic process mining models, and on domain-specific languages and large industrial models used within the UGROUND company, showing promising results.

如今,对低代码开发平台(LCDPs)的需求越来越大。由于它们严重依赖图形语言而不是编写代码,这些平台使公民开发人员能够参与软件开发。然而,创建新的lcdp是非常昂贵的,因为它需要构建对图形化建模的支持,以及与模型验证、推荐系统或代码生成等服务的集成。虽然模型驱动工程(MDE)已经开发了创建这些组件的技术,但它们中的大多数都不是基于云的,这是lcdp所要求的。特别是,目前缺少能够提供工业应用程序所需的可伸缩性和充分支持技术异构性的基于云的图形工作台。为了填补这一空白,我们介绍了Dandelion,这是一个基于云的图形语言工作台,用于遵循MDE方法构建的lcdp。该工具通过使用协调元模型来统一地表示来自不同技术的模型来处理模型的异构性,并支持模型和元模型之间可定制的一致性级别。可伸缩性是通过在分布式、高度灵活的数据库中持久化模型来解决的,该数据库的基础结构被设计为符合协调元模型,从而有利于模型检索。此外,还引入了一个可定制的可伸缩性组件,用于惰性模型加载。本文描述了工具设计背后的概念和原则,并报告了对大型综合过程挖掘模型的评估,以及对UGROUND公司内使用的特定领域语言和大型工业模型的评估,显示了有希望的结果。
{"title":"Dandelion: A scalable, cloud-based graphical language workbench for industrial low-code development","authors":"Francisco Martínez-Lasaca ,&nbsp;Pablo Díez ,&nbsp;Esther Guerra ,&nbsp;Juan de Lara","doi":"10.1016/j.cola.2023.101217","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101217","url":null,"abstract":"<div><p>There is an increasing demand nowadays for low-code development platforms (LCDPs). As they rely heavily on graphical languages rather than writing code, these platforms enable citizen developers to participate in software development. However, creating new LCDPs is very costly, since it requires building support for graphical modelling and its integration with services like model validation, recommendation systems, or code generation. While Model-driven Engineering (MDE) has developed technologies to create these components, most of them are not cloud-based, as required by LCDPs. In particular, a cloud-based graphical workbench capable of providing the scalability required by industrial applications and adequately supporting technological heterogeneity is currently missing.</p><p>To fill this gap we introduce <em>Dandelion</em>, a cloud-based graphical language workbench for LCDPs built following an MDE approach. The tool handles model heterogeneity by using a harmonising meta-model to uniformly represent models from diverse technologies, and supports a customisable level of conformance between models and meta-models. Scalability is addressed by persisting models in a distributed, highly flexible database whose infrastructure is designed to conform to the harmonising meta-model, thus favouring model retrieval. Additionally, a customisable scalability component is introduced for lazy model loading.</p><p>This paper describes the concepts and principles behind the tool design and reports on an evaluation on large synthetic process mining models, and on domain-specific languages and large industrial models used within the UGROUND company, showing promising results.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101217"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891925","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A new versioning approach for collaboration in blended modeling 混合建模中用于协作的新版本控制方法
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101221
Joeri Exelmans , Jakob Pietron , Alexander Raschke , Hans Vangheluwe , Matthias Tichy

The complexity of modern software-intensive systems and the need for flexibility in their development process forces developers to collaborate using the most appropriate language(s) for each given task, view and component. Blended modeling is the ability to edit a model through multiple concrete syntaxes simultaneously.

To support collaborative blended modeling, we present a variation of operation-based versioning that allows bi-directional propagation of changes between concrete and abstract syntaxes. This allows us to support layout continuity between different versions, and to handle information that is not (yet) available (e.g., layout information) when rendering changes from abstract to concrete syntax. Finally, our approach does not enforce immediate conflict resolution. Rather, different merge options and their consequences can be presented to the users, who may choose to only perform partial conflict resolution, deferring final resolution till later.

In this article, we present the general approach and describe salient parts of an implementation.

现代软件密集型系统的复杂性以及开发过程中对灵活性的需求迫使开发人员为每个给定的任务、视图和组件使用最合适的语言进行协作。混合建模是指通过多种具体语法同时编辑模型的能力。为了支持协作混合建模,我们提出了一种基于操作的版本控制的变体,它允许在具体语法和抽象语法之间双向传播更改。这允许我们支持不同版本之间的布局连续性,并在呈现从抽象语法到具体语法的变化时处理(尚未)可用的信息(例如,布局信息)。最后,我们的方法并不强制立即解决冲突。相反,不同的合并选项及其结果可以呈现给用户,用户可以选择只执行部分冲突解决,将最终解决推迟到以后。在本文中,我们将介绍通用方法并描述实现的重要部分。
{"title":"A new versioning approach for collaboration in blended modeling","authors":"Joeri Exelmans ,&nbsp;Jakob Pietron ,&nbsp;Alexander Raschke ,&nbsp;Hans Vangheluwe ,&nbsp;Matthias Tichy","doi":"10.1016/j.cola.2023.101221","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101221","url":null,"abstract":"<div><p>The complexity of modern software-intensive systems and the need for flexibility in their development process forces developers to collaborate using the most appropriate language(s) for each given task, view and component. Blended modeling is the ability to edit a model through multiple concrete syntaxes simultaneously.</p><p>To support collaborative blended modeling, we present a variation of operation-based versioning that allows bi-directional propagation of changes between concrete and abstract syntaxes. This allows us to support layout continuity between different versions, and to handle information that is not (yet) available (e.g., layout information) when rendering changes from abstract to concrete syntax. Finally, our approach does not enforce immediate conflict resolution. Rather, different merge options and their consequences can be presented to the users, who may choose to only perform partial conflict resolution, deferring final resolution till later.</p><p>In this article, we present the general approach and describe salient parts of an implementation.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101221"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891918","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Towards smart contract distributed directory based on the uniform description language 面向基于统一描述语言的智能合约分布式目录
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-07-29 DOI: 10.1016/j.cola.2023.101225
Wafa Ben Slama Souei , Chiraz El Hog , Raoudha Ben Djemaa , Layth Sliman , Ikram Amous Ben Amor

A Smart Contract (SC) is a piece of code executed on the blockchain to automatically trigger transactions upon the occurrence of predefined events. Due to the intrinsic features regarding traceability and data immutability, many companies started using blockchain Smart Contracts to perform collaborative processes. Despite their promising features, there is a lack of Smart Contacts management platforms that enable blockchain participants to describe and publish their smart contacts or “search and match” already deployed ones. In this paper, a new Distributed Smart Directory (DSD) where providers can publish their SCs description is proposed. The SCs descriptions include metadata covering functional, and non-functional properties of the SC. Hence, users can find SCs according to their non-functional preferences, needs, and constraints. The proposed DSD is an extension of the ebXML directory. It was fully implemented on-chain. The SCs descriptions are generated based on the Uniform Description language for SC (UDL-SC). The proposed solution is implemented on the Ethereum blockchain. It was then tested and evaluated.

智能合约(SC)是在区块链上执行的一段代码,用于在发生预定义事件时自动触发交易。由于可追溯性和数据不变性的内在特征,许多公司开始使用区块链智能合约来执行协作过程。尽管智能联系人具有很好的功能,但缺乏使区块链参与者能够描述和发布他们的智能联系人或“搜索和匹配”已经部署的联系人的智能联系人管理平台。在本文中,提出了一种新的分布式智能目录(DSD),提供商可以在其中发布其SC描述。SC描述包括涵盖SC的功能和非功能属性的元数据。因此,用户可以根据其非功能偏好、需求和约束条件找到SC。拟议的DSD是ebXML目录的扩展。它已在链上全面实施。SC描述是基于SC的统一描述语言(UDL-SC)生成的。所提出的解决方案在以太坊区块链上实现。然后对其进行了测试和评估。
{"title":"Towards smart contract distributed directory based on the uniform description language","authors":"Wafa Ben Slama Souei ,&nbsp;Chiraz El Hog ,&nbsp;Raoudha Ben Djemaa ,&nbsp;Layth Sliman ,&nbsp;Ikram Amous Ben Amor","doi":"10.1016/j.cola.2023.101225","DOIUrl":"10.1016/j.cola.2023.101225","url":null,"abstract":"<div><p>A Smart Contract (SC) is a piece of code executed on the blockchain to automatically trigger transactions upon the occurrence of predefined events. Due to the intrinsic features regarding traceability and data immutability, many companies started using blockchain Smart Contracts to perform collaborative processes. Despite their promising features, there is a lack of Smart Contacts management platforms that enable blockchain participants to describe and publish their smart contacts or “search and match” already deployed ones. In this paper, a new Distributed Smart Directory (DSD) where providers can publish their SCs description is proposed. The SCs descriptions include metadata covering functional, and non-functional properties of the SC. Hence, users can find SCs according to their non-functional preferences, needs, and constraints. The proposed DSD is an extension of the ebXML directory. It was fully implemented on-chain. The SCs descriptions are generated based on the Uniform Description language for SC (UDL-SC). The proposed solution is implemented on the Ethereum blockchain. It was then tested and evaluated.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"77 ","pages":"Article 101225"},"PeriodicalIF":2.2,"publicationDate":"2023-07-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"48820061","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Machine learning with word embedding for detecting web-services anti-patterns 基于单词嵌入的机器学习检测web服务反模式
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-06-01 DOI: 10.1016/j.cola.2023.101207
Lov Kumar , Sahithi Tummalapalli , Sonika Chandrakant Rathi , Lalita Bhanu Murthy , Aneesh Krishna , Sanjay Misra

Software design Anti-pattern is the common feedback to a recurring problem that is ineffective and has a high risk of failure. Early prediction of these Anti-patterns helps reduce the design process’s efforts, resources, and costs. In earlier research, static code or Web Service Description Language (WSDL) metrics were used to develop anti-pattern prediction models. These source code metrics are calculated at either file-level or system-level. So, the values of these metrics are frequently dependent on assumptions that are not defined or standardized and might vary depending on the tools available. This study aims to develop a machine learning-based Anti-patterns prediction model using natural language processing techniques for representing the WSDL file as an input. In this research, the four-word embedding methods have been used to process the WSDL file. The processed outputs are used as input to the models trained using thirty-three classifier techniques. This study also uses eight feature selection techniques to remove ineffective features and five data sampling techniques to handle the class imbalance nature of the datasets. The results indicate that the developed models using text metrics perform better than the static code or WSDL metrics. Additionally, the results suggest that selecting features using feature selection and balancing data using sampling techniques helps improve the models’ performance.

软件设计反模式是对重复出现的问题的常见反馈,该问题无效且有很高的失败风险。这些反模式的早期预测有助于减少设计过程的工作量、资源和成本。在早期的研究中,静态代码或Web服务描述语言(WSDL)度量被用于开发反模式预测模型。这些源代码度量是在文件级别或系统级别计算的。因此,这些指标的值通常取决于未定义或标准化的假设,并且可能因可用工具而异。本研究旨在开发一个基于机器学习的反模式预测模型,该模型使用自然语言处理技术将WSDL文件表示为输入。在本研究中,使用了四个单词的嵌入方法来处理WSDL文件。处理后的输出被用作使用三十三种分类器技术训练的模型的输入。本研究还使用了八种特征选择技术来去除无效特征,并使用了五种数据采样技术来处理数据集的类不平衡性质。结果表明,使用文本度量的开发模型的性能优于静态代码或WSDL度量。此外,研究结果表明,使用特征选择和采样技术平衡数据来选择特征有助于提高模型的性能。
{"title":"Machine learning with word embedding for detecting web-services anti-patterns","authors":"Lov Kumar ,&nbsp;Sahithi Tummalapalli ,&nbsp;Sonika Chandrakant Rathi ,&nbsp;Lalita Bhanu Murthy ,&nbsp;Aneesh Krishna ,&nbsp;Sanjay Misra","doi":"10.1016/j.cola.2023.101207","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101207","url":null,"abstract":"<div><p>Software design Anti-pattern is the common feedback to a recurring problem that is ineffective and has a high risk of failure. Early prediction of these Anti-patterns helps reduce the design process’s efforts, resources, and costs. In earlier research, static code or Web Service Description Language (WSDL) metrics were used to develop anti-pattern prediction models. These source code metrics are calculated at either file-level or system-level. So, the values of these metrics are frequently dependent on assumptions that are not defined or standardized and might vary depending on the tools available. This study aims to develop a machine learning-based Anti-patterns prediction model using natural language processing techniques for representing the WSDL file as an input. In this research, the four-word embedding methods have been used to process the WSDL file. The processed outputs are used as input to the models trained using thirty-three classifier techniques. This study also uses eight feature selection techniques to remove ineffective features and five data sampling techniques to handle the class imbalance nature of the datasets. The results indicate that the developed models using text metrics perform better than the static code or WSDL metrics. Additionally, the results suggest that selecting features using feature selection and balancing data using sampling techniques helps improve the models’ performance.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"75 ","pages":"Article 101207"},"PeriodicalIF":2.2,"publicationDate":"2023-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50187251","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A methodology for refactoring ORM-based monolithic web applications into microservices 一种将基于ORM的单片web应用程序重构为微服务的方法
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-06-01 DOI: 10.1016/j.cola.2023.101205
Francisco Freitas , André Ferreira , Jácome Cunha

In the last few years we have been seeing a drastic change in the way software is developed. Large-scale software projects are being assembled by a flexible composition of many (small) components possibly written in different programming languages and deployed anywhere in the cloud — the so-called microservices-based applications.

The dramatic growth in popularity of microservices-based applications has pushed several companies to apply major refactorings to their software systems. However, this is a challenging task that may take several months or even years.

We propose a methodology to automatically evolve monolithic web applications that use object-relational mapping into microservices-based ones. Our methodology receives the source code and a microservices proposal and refactors the original code to create each microservice. Our methodology creates an API for each method call to classes that are in other services. The database entities are also refactored to be included in the corresponding service. The evaluation performed in 120 applications shows that our tool can successfully refactor about 72% of them. The execution of the unit tests in both versions of the applications yield exactly the same results.

在过去的几年里,我们看到软件开发方式发生了巨大的变化。大规模软件项目由许多(小)组件组成,这些组件可能用不同的编程语言编写,并部署在云中的任何地方,即所谓的基于微服务的应用程序。基于微服务的应用程序的受欢迎程度急剧增长,促使几家公司对其软件系统进行重大重构。然而,这是一项具有挑战性的任务,可能需要几个月甚至几年的时间。我们提出了一种方法来自动将使用对象关系映射的单片web应用程序进化为基于微服务的应用程序。我们的方法接收源代码和微服务提案,并重构原始代码以创建每个微服务。我们的方法为其他服务中的类的每个方法调用创建一个API。数据库实体也被重构为包含在相应的服务中。对120个应用程序进行的评估表明,我们的工具可以成功重构其中约72%的应用程序。在两个版本的应用程序中执行单元测试会产生完全相同的结果。
{"title":"A methodology for refactoring ORM-based monolithic web applications into microservices","authors":"Francisco Freitas ,&nbsp;André Ferreira ,&nbsp;Jácome Cunha","doi":"10.1016/j.cola.2023.101205","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101205","url":null,"abstract":"<div><p>In the last few years we have been seeing a drastic change in the way software is developed. Large-scale software projects are being assembled by a flexible composition of many (small) components possibly written in different programming languages and deployed anywhere in the cloud — the so-called microservices-based applications.</p><p>The dramatic growth in popularity of microservices-based applications has pushed several companies to apply major refactorings to their software systems. However, this is a challenging task that may take several months or even years.</p><p>We propose a methodology to automatically evolve monolithic web applications that use object-relational mapping into microservices-based ones. Our methodology receives the source code and a microservices proposal and refactors the original code to create each microservice. Our methodology creates an API for each method call to classes that are in other services. The database entities are also refactored to be included in the corresponding service. The evaluation performed in 120 applications shows that our tool can successfully refactor about 72% of them. The execution of the unit tests in both versions of the applications yield exactly the same results.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"75 ","pages":"Article 101205"},"PeriodicalIF":2.2,"publicationDate":"2023-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50187257","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
API comparison knowledge extraction via prompt-tuned language model API比较知识的快速语言模型提取
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-06-01 DOI: 10.1016/j.cola.2023.101200
Yangrui Yang, Yaping Zhu, Sisi Chen, Pengpeng Jian

Application Programming Interfaces (APIs) are frequent in software engineering domain texts, such as API references and Stack Overflow. These APIs and the comparison knowledge between them are not only important for solving programming issues (e.g., question answering), but they are also organized into structured knowledge to support many software engineering tasks (e.g., API misuse detection). As a result, extracting API comparison knowledge (API entities and semantic relations) from texts is essential. Existing rule-based and sequence labeling-based approaches must manually enumerate all linguistic patterns or label a large amount of data. Therefore, they involve a significant labor overhead and are exacerbated by morphological and common-word ambiguity. In contrast to matching or labeling API entities and relations, we formulates heterogeneous API extraction and API relation extraction tasks as a sequence-to-sequence generation task. It proposes APICKnow, an API entity-relation joint extraction model based on the large language model. To improve our model’s performance and quick learning ability, we adopt the prompt learning method to stimulate APICKnow to recognize API entities and relations. We systematically evaluate APICKnow on a set of sentences from Stack Overflow. The experimental results show that APICKnow can outperform the state-of-the-art baselines, and APICKnow has a quick learning ability and strong generalization ability.

应用程序编程接口(API)经常出现在软件工程领域的文本中,如API引用和堆栈溢出。这些API和它们之间的比较知识不仅对于解决编程问题(例如,问题回答)很重要,而且它们还被组织成结构化知识,以支持许多软件工程任务(例如,API误用检测)。因此,从文本中提取API比较知识(API实体和语义关系)是必不可少的。现有的基于规则和序列标记的方法必须手动枚举所有语言模式或标记大量数据。因此,它们涉及大量的人工开销,并且由于形态和常用词的歧义而加剧。与匹配或标记API实体和关系相反,我们将异构的API提取和API关系提取任务定义为序列到序列生成任务。提出了基于大型语言模型的API实体关系联合提取模型APICKnow。为了提高模型的性能和快速学习能力,我们采用即时学习方法来刺激APICKnow识别API实体和关系。我们在Stack Overflow的一组句子上系统地评估APICKnow。实验结果表明,APICKnow可以优于最先进的基线,并且具有快速的学习能力和较强的泛化能力。
{"title":"API comparison knowledge extraction via prompt-tuned language model","authors":"Yangrui Yang,&nbsp;Yaping Zhu,&nbsp;Sisi Chen,&nbsp;Pengpeng Jian","doi":"10.1016/j.cola.2023.101200","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101200","url":null,"abstract":"<div><p>Application Programming Interfaces (APIs) are frequent in software engineering domain texts, such as API references and Stack Overflow. These APIs and the comparison knowledge between them are not only important for solving programming issues (e.g., question answering), but they are also organized into structured knowledge to support many software engineering tasks (e.g., API misuse detection). As a result, extracting API comparison knowledge (API entities and semantic relations) from texts is essential. Existing rule-based and sequence labeling-based approaches must manually enumerate all linguistic patterns or label a large amount of data. Therefore, they involve a significant labor overhead and are exacerbated by morphological and common-word ambiguity. In contrast to matching or labeling API entities and relations, we formulates heterogeneous API extraction and API relation extraction tasks as a sequence-to-sequence generation task. It proposes APICKnow, an API entity-relation joint extraction model based on the large language model. To improve our model’s performance and quick learning ability, we adopt the prompt learning method to stimulate APICKnow to recognize API entities and relations. We systematically evaluate APICKnow on a set of sentences from Stack Overflow. The experimental results show that APICKnow can outperform the state-of-the-art baselines, and APICKnow has a quick learning ability and strong generalization ability.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"75 ","pages":"Article 101200"},"PeriodicalIF":2.2,"publicationDate":"2023-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50187290","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
React example viability for efficient API learning (REVEAL): A tool to help programmers utilize incompatible code examples in React.js 高效API学习的React示例可行性(REVEAL):帮助程序员利用React.js中不兼容代码示例的工具
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-06-01 DOI: 10.1016/j.cola.2023.101201
John Allen, Caitlin Kelleher

Programmers typically learn APIs on-the-fly through web examples. Incompatibilities and omissions in copied example code can create barriers for these learners. We present an analysis of example usage barriers programmers faced in a previous study of React.js novices. We show that a small set of errors prevented programmers from using most found code examples. In response, we built REVEAL to detect and repair the common errors we identified in copied code. We describe the formative evaluation of REVEAL and show that REVEAL users were more likely to successfully integrate code examples than participants in the previous study.

程序员通常通过网络示例动态学习API。复制的示例代码中的不兼容和遗漏可能会给这些学习者带来障碍。我们分析了程序员在之前对React.js新手的研究中面临的示例使用障碍。我们展示了一小部分错误使程序员无法使用大多数已找到的代码示例。作为回应,我们构建了REVEAL来检测和修复我们在复制代码中发现的常见错误。我们描述了REVEAL的形成性评估,并表明REVEAL用户比之前研究中的参与者更有可能成功集成代码示例。
{"title":"React example viability for efficient API learning (REVEAL): A tool to help programmers utilize incompatible code examples in React.js","authors":"John Allen,&nbsp;Caitlin Kelleher","doi":"10.1016/j.cola.2023.101201","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101201","url":null,"abstract":"<div><p>Programmers typically learn APIs on-the-fly through web examples. Incompatibilities and omissions in copied example code can create barriers for these learners. We present an analysis of example usage barriers programmers faced in a previous study of React.js novices. We show that a small set of errors prevented programmers from using most found code examples. In response, we built REVEAL to detect and repair the common errors we identified in copied code. We describe the formative evaluation of REVEAL and show that REVEAL users were more likely to successfully integrate code examples than participants in the previous study.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"75 ","pages":"Article 101201"},"PeriodicalIF":2.2,"publicationDate":"2023-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50187258","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A systematic literature review on automatic website generation 关于网站自动生成的系统文献综述
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-06-01 DOI: 10.1016/j.cola.2023.101202
Thisaranie Kaluarachchi, Manjusri Wickramasinghe

Since machine learning became a prominent feature in the modern-day computing landscape, the urge to automate processes has increased. One such process of particular interest has been the automatic generation of websites based on user intention. Though the requirement of such automatic generation is a modern-day need, the quality of the automatic generation still provides a unique set of challenges. As such, to analyze these unique challenges and viable opportunities in automatic website generation, this survey systematically reviews research on the topics of automatic website generation. The analysis initially segments state-of-the-art into three categories based on the dominant strategy used for automatic generation. These strategies are examples-based, mock-up-driven, and artificial intelligence-driven automatic website generation. When considering the example-based strategy, the emphasis is on analyzing how manual design aspects of a professionally developed website are incorporated into generation models and the challenges that arise. Similarly, transformation methods from website visual design into functional GUI code are investigated for the mock-up-driven strategy with a particular reference to the six underlying conversion mechanisms. Finally, artificial intelligence website builders are analyzed based on their ability to build customizable websites to user preferences. Based on this systematic review of 47 research works on the three dominant strategies, this survey outlines unique challenges and future research endeavors that researchers would encounter when developing models that generate websites automatically and provides insights to researchers on selecting a website generation strategy based on user intention appropriately.

自从机器学习成为现代计算领域的一个突出特征以来,自动化过程的呼声越来越高。一个特别感兴趣的过程是基于用户意图自动生成网站。尽管这种自动发电的需求是现代的需求,但自动发电的质量仍然提供了一系列独特的挑战。因此,为了分析网站自动生成中的这些独特挑战和可行机会,本调查系统地回顾了网站自动生成主题的研究。该分析最初根据用于自动生成的主要策略将最先进技术分为三类。这些策略是基于示例、模型驱动和人工智能驱动的自动网站生成。在考虑基于示例的策略时,重点是分析如何将专业开发的网站的手动设计方面纳入生成模型以及出现的挑战。类似地,针对实体模型驱动的策略,研究了从网站视觉设计到功能GUI代码的转换方法,并特别参考了六种底层转换机制。最后,分析了人工智能网站建设者根据用户偏好构建可定制网站的能力。基于对这三种主要策略的47项研究工作的系统回顾,本调查概述了研究人员在开发自动生成网站的模型时会遇到的独特挑战和未来的研究努力,并为研究人员提供了根据用户意愿适当选择网站生成策略的见解。
{"title":"A systematic literature review on automatic website generation","authors":"Thisaranie Kaluarachchi,&nbsp;Manjusri Wickramasinghe","doi":"10.1016/j.cola.2023.101202","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101202","url":null,"abstract":"<div><p>Since machine learning became a prominent feature in the modern-day computing landscape, the urge to automate processes has increased. One such process of particular interest has been the automatic generation of websites based on user intention. Though the requirement of such automatic generation is a modern-day need, the quality of the automatic generation still provides a unique set of challenges. As such, to analyze these unique challenges and viable opportunities in automatic website generation, this survey systematically reviews research on the topics of automatic website generation. The analysis initially segments state-of-the-art into three categories based on the dominant strategy used for automatic generation. These strategies are examples-based, mock-up-driven, and artificial intelligence-driven automatic website generation. When considering the example-based strategy, the emphasis is on analyzing how manual design aspects of a professionally developed website are incorporated into generation models and the challenges that arise. Similarly, transformation methods from website visual design into functional GUI code are investigated for the mock-up-driven strategy with a particular reference to the six underlying conversion mechanisms. Finally, artificial intelligence website builders are analyzed based on their ability to build customizable websites to user preferences. Based on this systematic review of 47 research works on the three dominant strategies, this survey outlines unique challenges and future research endeavors that researchers would encounter when developing models that generate websites automatically and provides insights to researchers on selecting a website generation strategy based on user intention appropriately.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"75 ","pages":"Article 101202"},"PeriodicalIF":2.2,"publicationDate":"2023-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50187291","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
A visual notation for succinct program traces 简洁程序跟踪的可视化表示法
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-06-01 DOI: 10.1016/j.cola.2023.101199
Divya Bajaj , Martin Erwig , Danila Fedorin

Program traces are a widely used representation for explaining the dynamic behavior of programs. They help to make sense of computations and also support the location and elimination of bugs. Unfortunately, program traces can grow quite big very quickly, even for small programs, which compromises their usefulness.

In this paper we present a visual notation for program traces that supports their concise representation. We explain the design decisions of the notation and compare it in detail with several alternatives. An important part of the trace representation is its flexibility and adaptability, which allows users to transform traces by applying filters that capture common abstractions for trace representations.

We also present an evaluation of the trace notation and filters on a set of standard examples. The results show that our representation can reduce the overall size of traces by at least 79%, which suggests that our notation is an effective improvement over the use of plain traces in the explanation of dynamic program behavior.

程序跟踪是一种广泛使用的表示方法,用于解释程序的动态行为。它们有助于理解计算,也支持定位和消除错误。不幸的是,即使对于小程序来说,程序跟踪也会很快变得很大,这会损害它们的有用性。在本文中,我们为程序跟踪提供了一种可视化的表示法,它支持它们的简洁表示。我们解释了符号的设计决策,并将其与几种替代方案进行了详细比较。跟踪表示的一个重要部分是它的灵活性和适应性,它允许用户通过应用过滤器来转换跟踪,这些过滤器捕获跟踪表示的常见抽象。我们还对一组标准示例的跟踪表示法和过滤器进行了评估。结果表明,我们的表示可以将跟踪的总体大小减少至少79%,这表明在解释动态程序行为时,我们的记法是对使用普通跟踪的有效改进。
{"title":"A visual notation for succinct program traces","authors":"Divya Bajaj ,&nbsp;Martin Erwig ,&nbsp;Danila Fedorin","doi":"10.1016/j.cola.2023.101199","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101199","url":null,"abstract":"<div><p>Program traces are a widely used representation for explaining the dynamic behavior of programs. They help to make sense of computations and also support the location and elimination of bugs. Unfortunately, program traces can grow quite big very quickly, even for small programs, which compromises their usefulness.</p><p>In this paper we present a visual notation for program traces that supports their concise representation. We explain the design decisions of the notation and compare it in detail with several alternatives. An important part of the trace representation is its flexibility and adaptability, which allows users to transform traces by applying filters that capture common abstractions for trace representations.</p><p>We also present an evaluation of the trace notation and filters on a set of standard examples. The results show that our representation can reduce the overall size of traces by at least 79%, which suggests that our notation is an effective improvement over the use of plain traces in the explanation of dynamic program behavior.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"75 ","pages":"Article 101199"},"PeriodicalIF":2.2,"publicationDate":"2023-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50187252","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Journal of Computer Languages
全部 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