Journal of Computer Languages最新文献

筛选
英文 中文
Method name recommendation based on source code metrics 基于源代码度量的方法名称推荐
IF 2.2 3区 计算机科学
Journal of Computer Languages Pub Date : 2023-01-01 DOI: 10.1016/j.cola.2022.101177
Saeed Parsa, Morteza Zakeri-Nasrabadi, Masoud Ekhtiarzadeh, Mohammad Ramezani
{"title":"Method name recommendation based on source code metrics","authors":"Saeed Parsa,&nbsp;Morteza Zakeri-Nasrabadi,&nbsp;Masoud Ekhtiarzadeh,&nbsp;Mohammad Ramezani","doi":"10.1016/j.cola.2022.101177","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101177","url":null,"abstract":"<div><p>Method naming is a critical factor in program comprehension, affecting software quality. State-of-the-art naming techniques use deep learning to compute the methods’ similarity considering their textual contents. They highly depend on identifiers’ names and do not compute semantical interrelations among methods’ instructions. Source code metrics compute such semantical interrelations. This article proposes using source code metrics to measure semantical and structural cross-project similarities. The metrics constitute features of a KNN model, determining the k-most similar methods to a given method. Experiments with 4000000 Java methods on the proposed model demonstrate improvements in precision and recall of state-of-the-arts with 4.25 and 12.08%.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"74 ","pages":"Article 101177"},"PeriodicalIF":2.2,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49875703","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
Preserving hand-drawn qualities in audiovisual performance through sketch-based interaction 通过基于草图的交互保留视听表演中的手绘品质
IF 2.2 3区 计算机科学
Journal of Computer Languages Pub Date : 2023-01-01 DOI: 10.1016/j.cola.2022.101186
Samuelle Bourgault, Jennifer Jacobs
{"title":"Preserving hand-drawn qualities in audiovisual performance through sketch-based interaction","authors":"Samuelle Bourgault,&nbsp;Jennifer Jacobs","doi":"10.1016/j.cola.2022.101186","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101186","url":null,"abstract":"<div><p>Live coding – the real-time procedural creation of audiovisual works – suggests opportunities to extend hand-drawn animation; however, existing live coding systems are incompatible with manual animation workflows. Manual input is not a primary datatype in existing live coding languages and live coding tools require using symbolic programming environments. We theorize that by applying direct manipulation to the domain of live coding, we can enable animators to create expressive mappings between hand-drawn animations and audio effects in realtime. We present Megafauna, a sketch-based system for audiovisual performance, informed by interviews with professional animators. Megafauna supports the integrated generation and control of hand-drawn animation and audio sequences by enabling animators to directly sketch mapping functions between animation frames and sound generators. We demonstrate the expressive potential of Megafauna by reproducing animated compositions from procedural and manual domains. We evaluate the opportunities of our approach for live production through an expert review of a performance piece created with Megafauna.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"74 ","pages":"Article 101186"},"PeriodicalIF":2.2,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49875704","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 domain-specific language for structure manipulation in constraint system-based GUIs 用于在基于约束系统的gui中进行结构操作的领域特定语言
IF 2.2 3区 计算机科学
Journal of Computer Languages Pub Date : 2023-01-01 DOI: 10.1016/j.cola.2022.101175
Knut Anders Stokke , Mikhail Barash , Jaakko Järvi
{"title":"A domain-specific language for structure manipulation in constraint system-based GUIs","authors":"Knut Anders Stokke ,&nbsp;Mikhail Barash ,&nbsp;Jaakko Järvi","doi":"10.1016/j.cola.2022.101175","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101175","url":null,"abstract":"<div><p>A common frustration with programming Graphical User Interfaces (GUIs) is that features for manipulating structures, such as lists and trees, are limited, inconsistent, buggy, or even missing. Implementing complete and convenient sets of operations for inserting, removing, and reordering elements in such structures can be tedious and difficult: a structure that appears as one collection to the user can be implemented as several different data structures and a web of dependencies between them. Structural modifications require changes both to the GUI’s model and view, and possibly extraneous bookkeeping operations, such as adding and removing event handlers.</p><p>This paper introduces a DSL that helps programmers to implement a complete set of operations to structures displayed in GUIs. The programmer specifies structures and relations between elements in the structure. Concretely, the latter are definitions of methods for establishing and unestablishing relations. Operations that manipulate structures are specified as rules that control which relations should hold before and after a rule is applied. From these specifications, our tools generate an easy-to-use API for structure manipulation. We target constraint system-based Web GUIs: the DSL generates JavaScript and relies on dataflow constraint systems for expressing dependencies between elements in GUI structures. Our DSL gives tangible representations with well-defined operations for ad-hoc and incidental GUI structures.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"74 ","pages":"Article 101175"},"PeriodicalIF":2.2,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49875707","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
A sensemaking analysis of API learning using React 使用React的API学习的语义分析
IF 2.2 3区 计算机科学
Journal of Computer Languages Pub Date : 2023-01-01 DOI: 10.1016/j.cola.2022.101189
Caitlin Kelleher , Michelle Brachman
{"title":"A sensemaking analysis of API learning using React","authors":"Caitlin Kelleher ,&nbsp;Michelle Brachman","doi":"10.1016/j.cola.2022.101189","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101189","url":null,"abstract":"<div><p>Current programming practices rely heavily on the use of APIs (Application Programming Interfaces) and frameworks. However, APIs can be challenging to learn and use. Existing research focuses on specific barriers programmers encounter while learning APIs, providing a fragmented understanding of the process. In this paper, we analyze the holistic process of twelve programmers learning the React JS API using sensemaking theory as a guiding framework for qualitative coding of behaviors. We describe how these API learners moved through sensemaking stages and how they interacted with information during each sensemaking stage. Our results highlighted programmers’ tendency to seek understanding when they encountered problems.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"74 ","pages":"Article 101189"},"PeriodicalIF":2.2,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49903347","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
MoTrans-BDI: Leveraging the Beliefs-Desires-Intentions agent architecture for collaborative model transformation by example MoTrans-BDI:通过示例利用信念-愿望-意图代理体系结构进行协作模型转换
IF 2.2 3区 计算机科学
Journal of Computer Languages Pub Date : 2023-01-01 DOI: 10.1016/j.cola.2022.101174
Ahmed Siabdelhadi , Abdelhafid Chadli , Hadda Cherroun , Abdelkader Ouared , Houari Sahraoui
{"title":"MoTrans-BDI: Leveraging the Beliefs-Desires-Intentions agent architecture for collaborative model transformation by example","authors":"Ahmed Siabdelhadi ,&nbsp;Abdelhafid Chadli ,&nbsp;Hadda Cherroun ,&nbsp;Abdelkader Ouared ,&nbsp;Houari Sahraoui","doi":"10.1016/j.cola.2022.101174","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101174","url":null,"abstract":"<div><p>Due to the growing interest in model-driven system development techniques, the efficient design of automated model transformations between heterogeneous models has become a major challenge in software development. While a number of specialized languages have been proposed, aiming at specifying model transformations, there is currently no matured foundation for specifying transformations between such models that are based on designers/experts collaboration in order to propose a solution that satisfies users’ requirements and application constraints. This transformation process is a complex task and must emulate how designers and experts with different perspectives behave and reflect about model transformations. In this paper, we propose a framework based on a novel approach for the specification and design of model transformations called MoTrans-BDI, which leverages Evolutionary Multi-Agent System (EMAS) to simulate designers’ expertise for the transformation of models. Our approach is based on the Belief-Desire-Intention (BDI) agent model and the Contract Net Protocol where agents’ beliefs feed from a series of transformation examples. The emphasis of using the specific model is the opportunity to produce a target model that may be composed of parts from different experts’ designs. We first experimentally evaluate MoTrans-BDI on twelve handmade UML2REL model transformation problems. All types of agents are able to produce perfect target models compared to human experts’ collaboratively-produced target models. Second, we empirically evaluate MoTrans-BDI’s proposal in terms of response time on Star Schema Benchmark (SSB) queries. An application of MoTrans-BDI in the case of UML2REL transformation is performed to stress and highlight the transformation process steps.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"74 ","pages":"Article 101174"},"PeriodicalIF":2.2,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49903349","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
PeachPie: Mature PHP to CLI compiler PeachPie:成熟的PHP到CLI编译器
IF 2.2 3区 计算机科学
Journal of Computer Languages Pub Date : 2022-12-01 DOI: 10.1016/j.cola.2022.101152
Robert Husák , Jakub Míšek , Filip Zavoral , Jan Kofroň
{"title":"PeachPie: Mature PHP to CLI compiler","authors":"Robert Husák ,&nbsp;Jakub Míšek ,&nbsp;Filip Zavoral ,&nbsp;Jan Kofroň","doi":"10.1016/j.cola.2022.101152","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101152","url":null,"abstract":"<div><p>PeachPie is a compiler of PHP code into Common Language Infrastructure (CLI) assemblies, enabling direct interoperability between PHP and .NET projects. This work describes the overall PeachPie architecture and the implementation of its components, highlighting and explaining the differences from its predecessor Phalanger. PeachPie can compile both legacy proprietary PHP applications and modern PHP frameworks, porting them into CLI with the ability to integrate with other projects written in languages such as C#. This work might provide helpful insight for people performing static analysis of PHP, developing a custom compiler targeting CLI, or exploring possibilities of dynamic language compilation.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"73 ","pages":"Article 101152"},"PeriodicalIF":2.2,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2590118422000491/pdfft?md5=bf3582af81d9fe8f3919741e6d7e16da&pid=1-s2.0-S2590118422000491-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72221282","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
COMORP: Rapid prototyping for mathematical database cost models development COMORP:用于数学数据库成本模型开发的快速原型
IF 2.2 3区 计算机科学
Journal of Computer Languages Pub Date : 2022-12-01 DOI: 10.1016/j.cola.2022.101173
Abdelkader Ouared , Moussa Amrani , Pierre-Yves Schobbens
{"title":"COMORP: Rapid prototyping for mathematical database cost models development","authors":"Abdelkader Ouared ,&nbsp;Moussa Amrani ,&nbsp;Pierre-Yves Schobbens","doi":"10.1016/j.cola.2022.101173","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101173","url":null,"abstract":"<div><p>The database technology evolution trends had pushed the researchers to redesign and adapt the past mathematical database cost models with the consideration of additional aspects due to the emergence of this evolution. As a result, many scientists today propose database cost models by rethinking query processing<span> and optimization with every change in hardware, workload, and applications. This requires a high level of domain expertise. However, assisting users to build database cost models by context-aware is difficult and an increasingly harder challenge. A new paradigm is needed to change cost model development methodology by designing it at a high level of abstraction to mitigate the gap between core database and conceptual modeling communities in order to shorten its long development cycle. Moreover, we need to support incrementally complex design of cost models and follow the evolution of database technologies that change rapidly and continuously to fit the new requirements. We investigate Model-Driven Engineering paradigms that enable database cost models, fast prototyping of modeling/analysis and optimize reusability of its integration components. This article presents a framework that aims to develop cost models as an extensible and customized kernel that provides metrics related to the most sensitive layers of database systems and assists the cost model composition process by combinations of fundamental primitives. We implement our framework to help designers/researchers create a successful cost model product semi-automatically correlate with their manifests. Experimental evaluations show that by using our framework, we can reduce the time spent by 60% on CM building, while being able to recommend useful components with up to 90%.</span></p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"73 ","pages":"Article 101173"},"PeriodicalIF":2.2,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72221283","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}
引用次数: 1
Block-based abstractions and expansive services to make advanced computing concepts accessible to novices 基于块的抽象和扩展服务,使高级计算概念可供新手访问
IF 2.2 3区 计算机科学
Journal of Computer Languages Pub Date : 2022-12-01 DOI: 10.1016/j.cola.2022.101156
Corey Brady , Brian Broll , Gordon Stein , Devin Jean , Shuchi Grover , Veronica Cateté , Tiffany Barnes , Ákos Lédeczi
{"title":"Block-based abstractions and expansive services to make advanced computing concepts accessible to novices","authors":"Corey Brady ,&nbsp;Brian Broll ,&nbsp;Gordon Stein ,&nbsp;Devin Jean ,&nbsp;Shuchi Grover ,&nbsp;Veronica Cateté ,&nbsp;Tiffany Barnes ,&nbsp;Ákos Lédeczi","doi":"10.1016/j.cola.2022.101156","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101156","url":null,"abstract":"<div><p>Many block-based programming environments have proven to be effective at engaging novices in learning programming. However, most offer only restricted access to the outside world, limiting learners to commands and computing resources built in to the environment. Some allow learners to drag and drop files, connect to sensors and robots locally or issue HTTP requests. But in a world where most of the applications in our daily lives are <em>distributed</em><span> (i.e., their functionality depends on communicating with other computers or accessing resources and data on the internet), the limited support for beginners to envision and create such distributed programs is a lost opportunity. We argue that it is feasible to create environments with simple yet powerful abstractions that open up distributed computing<span> and other widely-used but advanced computing concepts including networking, the Internet of Things, and cybersecurity to novices. The paper presents the architecture of and design decisions behind NetsBlox, a programming environment that supports these ideas. We show how NetsBlox expands opportunities for learning considerably: NetsBlox projects can access a wealth of online data and web services, and they can communicate with other projects. Moreover, the tool infrastructure enables young learners to collaborate with each other during program construction, whether they share their physical location or study remotely. Importantly, providing access to the wider world will also help counter widespread student perceptions that block-based environments are mere toys, and show that they are capable of creating compelling applications. In this way, NetsBlox offers an illuminating example of how tools can be designed to democratize access to powerful ideas in computing.</span></span></p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"73 ","pages":"Article 101156"},"PeriodicalIF":2.2,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72221277","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}
引用次数: 3
Context-sensitive parsing for programming languages 程序设计语言的上下文敏感解析
IF 2.2 3区 计算机科学
Journal of Computer Languages Pub Date : 2022-12-01 DOI: 10.1016/j.cola.2022.101172
Boštjan Slivnik
{"title":"Context-sensitive parsing for programming languages","authors":"Boštjan Slivnik","doi":"10.1016/j.cola.2022.101172","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101172","url":null,"abstract":"<div><p>Parsing programming languages using context-sensitive rather than context-free grammars is being considered here because a stronger formalism might be beneficial for dealing with increasingly complex programming languages and their syntax, or is more appropriate in some applications. A new deterministic non-backtracking algorithm for parsing deterministic context-sensitive languages is described. It is a significant improvement of the algorithm built into <span>WEAVE</span> and <span>CWEAVE</span> tools for literate programming and requires that the language is described by a context-sensitive reduction system, namely a deterministic formalism similar to a context-sensitive grammar but with strict rules about how reductions are to be applied. The new algorithm uses a reduction automaton for finding the position of the next reduction at each step during parsing rather than a hardcoded trie that is build into the original algorithm of <span>WEAVE</span> and <span>CWEAVE</span>. The new algorithm performs at least twice as few operations per input symbol as the original one. Furthermore, it is shown that parsing a language described by a context-sensitive reduction system need not be limited to typesetting purposes as in literate programming but can be used as a general parsing approach.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"73 ","pages":"Article 101172"},"PeriodicalIF":2.2,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2590118422000697/pdfft?md5=71c396f28a0247b058401c5f5001037f&pid=1-s2.0-S2590118422000697-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72221279","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Where-provenance for bidirectional editing in spreadsheets 电子表格中双向编辑的出处
IF 2.2 3区 计算机科学
Journal of Computer Languages Pub Date : 2022-12-01 DOI: 10.1016/j.cola.2022.101155
Jack Williams , Andrew D. Gordon
{"title":"Where-provenance for bidirectional editing in spreadsheets","authors":"Jack Williams ,&nbsp;Andrew D. Gordon","doi":"10.1016/j.cola.2022.101155","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101155","url":null,"abstract":"<div><p>We explore the idea of adding bidirectionality to spreadsheet formulas, so that editing the output can directly affect the input. We introduce the portal: a value paired with its where-provenance, that is, one or more links to its origin. When a portal is the result of a formula in a cell, that cell inherits the capability to edit locations described by the provenance. The simplicity of portals makes them amenable to implementation in existing systems. We analyse the list of functions provided by a widely used commercial spreadsheet and find that many frequently used functions work with portals with no modification.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"73 ","pages":"Article 101155"},"PeriodicalIF":2.2,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72287707","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
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信