Science of Computer Programming最新文献

筛选
英文 中文
Vamos: Middleware for best-effort third-party monitoring Vamos:尽力而为的第三方监控中间件
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-09-23 DOI: 10.1016/j.scico.2024.103212
Marek Chalupa , Fabian Muehlboeck , Stefanie Muroya Lei , Thomas A. Henzinger
{"title":"Vamos: Middleware for best-effort third-party monitoring","authors":"Marek Chalupa ,&nbsp;Fabian Muehlboeck ,&nbsp;Stefanie Muroya Lei ,&nbsp;Thomas A. Henzinger","doi":"10.1016/j.scico.2024.103212","DOIUrl":"10.1016/j.scico.2024.103212","url":null,"abstract":"<div><div>As the complexity and criticality of software increase every year, so does the importance of runtime monitoring. Third-party and best-effort monitoring are especially valuable, yet under-explored areas of runtime monitoring. In this context, third-party monitoring means monitoring with a limited knowledge of the monitored software (as it has been developed by a third party). Best-effort monitoring keeps pace with the monitored software at the cost of possibly imprecise verdicts when keeping up with the monitored software would not be feasible. Most existing monitoring frameworks do not support the combination of third-party and best-effort monitoring because they either require the full access to the monitored code or the ability to process all observable events, or both.</div><div>We present a middleware framework, <span>Vamos</span>, for the runtime monitoring of software. <span>Vamos</span> is explicitly designed to support third-party and best-effort scenarios. The design goals of <span>Vamos</span> are (i) efficiency (tracing events with low overhead), (ii) flexibility (the ability to monitor a variety of different event channels, and to connect to a wide range of monitors), and (iii) ease-of-use. To achieve its goals, <span>Vamos</span> combines aspects of event broker and event recognition systems with aspects of stream processing systems.</div><div>We implemented a prototype toolchain for <span>Vamos</span> and conducted a set of experiments demonstrating the usability of the scheme. The results indicate that <span>Vamos</span> enables writing useful yet efficient monitors, and simplifies key aspects of setting up a monitoring system from scratch.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"240 ","pages":"Article 103212"},"PeriodicalIF":1.5,"publicationDate":"2024-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142326805","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
The VariCity ecosystem: City visualization of object-oriented variability in Java and TypeScript VariCity 生态系统:Java 和 TypeScript 中面向对象可变性的城市可视化
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-09-20 DOI: 10.1016/j.scico.2024.103210
Philippe Collet, Johann Mortara, Yann Brault, Anne-Marie Dery-Pinna
{"title":"The VariCity ecosystem: City visualization of object-oriented variability in Java and TypeScript","authors":"Philippe Collet,&nbsp;Johann Mortara,&nbsp;Yann Brault,&nbsp;Anne-Marie Dery-Pinna","doi":"10.1016/j.scico.2024.103210","DOIUrl":"10.1016/j.scico.2024.103210","url":null,"abstract":"<div><div>In object-oriented variability-rich software systems, the implemented variability often relies on traditional mechanisms (<em>i.e.</em>, inheritance, overloading, and design patterns). It is then not well-documented and buried in a single codebase, hampering its comprehension and maintenance. <em>VariCity</em> helps developers understand the implemented variability in Java and TypeScript using a 3D city metaphor in which classes are buildings shaped by the occurrences of variability implementations, while usage relationships form the city streets. Extensions of <em>VariCity</em> support IDE integration with navigation and spot zones with variability debt through quality metrics mapped on the city buildings.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"240 ","pages":"Article 103210"},"PeriodicalIF":1.5,"publicationDate":"2024-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142319082","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Causal program dependence analysis 因果程序依赖性分析
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-09-12 DOI: 10.1016/j.scico.2024.103208
Seongmin Lee , Dave Binkley , Robert Feldt , Nicolas Gold , Shin Yoo
{"title":"Causal program dependence analysis","authors":"Seongmin Lee ,&nbsp;Dave Binkley ,&nbsp;Robert Feldt ,&nbsp;Nicolas Gold ,&nbsp;Shin Yoo","doi":"10.1016/j.scico.2024.103208","DOIUrl":"10.1016/j.scico.2024.103208","url":null,"abstract":"<div><p>Discovering how program components affect one another plays a fundamental role in aiding engineers comprehend and maintain a software system. Despite the fact that the degree to which one program component depends upon another can vary in strength, traditional dependence analysis typically ignores such nuance. To account for this nuance in dependence-based analysis, we propose Causal Program Dependence Analysis (CPDA), a framework based on causal inference that captures the degree (or strength) of the dependence between program elements. For a given program, CPDA intervenes in the program execution to observe changes in value at selected points in the source code. It observes the association between program elements by constructing and executing modified versions of a program (requiring only light-weight parsing rather than sophisticated static analysis). CPDA applies causal inference to the observed changes to identify and estimate the strength of the dependence relations between program elements. We explore the advantages of CPDA's quantified dependence by presenting results for several applications. Our further qualitative evaluation demonstrates 1) that observing different levels of dependence facilitates grouping various functional aspects found in a program and 2) how focusing on the relative strength of the dependences for a particular program element provides a detailed context for that element. Furthermore, a case study that applies CPDA to debugging illustrates how it can improve engineer productivity.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"240 ","pages":"Article 103208"},"PeriodicalIF":1.5,"publicationDate":"2024-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S016764232400131X/pdfft?md5=59869ae58db39102a7aea3d20ab99b35&pid=1-s2.0-S016764232400131X-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142240494","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
OCLVerifer: Automated verification of OCL contracts in requirements models OCLVerifer:自动验证需求模型中的 OCL 合约
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-08-30 DOI: 10.1016/j.scico.2024.103197
Peiye Yang , Li Zhang , Qin Li , Xiang Gao , Yilong Yang
{"title":"OCLVerifer: Automated verification of OCL contracts in requirements models","authors":"Peiye Yang ,&nbsp;Li Zhang ,&nbsp;Qin Li ,&nbsp;Xiang Gao ,&nbsp;Yilong Yang","doi":"10.1016/j.scico.2024.103197","DOIUrl":"10.1016/j.scico.2024.103197","url":null,"abstract":"<div><p>Object Constraint Language (OCL) is one lightweight formal specification. Integrated within the Unified Modeling Language (UML) standard, it serves as a cornerstone in requirements modeling, enjoying widespread adoption across various domains. OCL can precisely define the pre- and post-condition of system operations and system invariants. While OCL provides a simple yet expressive syntax, it lacks clarity in mapping Object-Oriented (OO) concepts, such as object states, object links, and object attributes. This ambiguity makes it challenging for OO developers to identify errors in requirements. In this paper, we propose an approach named OCLVerifier, which can automatically detect the requirements errors of OCL, such as conflict, redundancy, and failure error. OCLVerifier first transforms OO contracts and detection patterns into SMT formulas and then proves them by using a SMT solver. Finally, the results are mapped to the original OCL contracts to display detailed error type and location information. To evaluate OCLVerifier, we conducted a comprehensive evaluation of four case studies. Experimental results indicate that OCLVerifier successfully identifies 65.5% of error cases, with each identified case offering accurate error location information. Compared with human experts, OCLVerifier can reduce evaluation time by 80.8% while enhancing repair accuracy by 18%. The results are satisfactory, and the proposed approach can be further extended to the software industry for requirements verification.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"240 ","pages":"Article 103197"},"PeriodicalIF":1.5,"publicationDate":"2024-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142129158","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Mi Superpoder es la Programación: A tool for teaching programming to children and youth Mi Superpoder es la Programación:儿童和青少年编程教学工具
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-08-30 DOI: 10.1016/j.scico.2024.103198
Erika J. Gutiérrez Beltrán, Juan C. Martínez Arias
{"title":"Mi Superpoder es la Programación: A tool for teaching programming to children and youth","authors":"Erika J. Gutiérrez Beltrán,&nbsp;Juan C. Martínez Arias","doi":"10.1016/j.scico.2024.103198","DOIUrl":"10.1016/j.scico.2024.103198","url":null,"abstract":"<div><p><em>Mi Superpoder es la Programación</em> is a web tool designed to teach programming to children and young people. It focuses on developing logical thinking through interactive exercises that cover computer parts recognition, sequences, patterns, and flowcharts. The tool was developed to address the educational needs identified in the social project of the same name, where modern technologies and a serverless-based architecture were used to create an accessible and effective solution for teaching programming. Initial results indicate that students found the tool useful and demonstrated improvements in their understanding of computational logic. This analysis is framed within the global challenge of teaching programming to children and youth, demonstrating the potential of gamified tools across diverse educational contexts. Future plans include expanding the tool to incorporate more modules, allowing customization by teachers, and conducting broader evaluations in different educational environments.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"240 ","pages":"Article 103198"},"PeriodicalIF":1.5,"publicationDate":"2024-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0167642324001217/pdfft?md5=9edac08065bab5aa8ad4f527da569819&pid=1-s2.0-S0167642324001217-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142129046","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Report to the readership 向读者报告
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-08-30 DOI: 10.1016/j.scico.2024.103199
{"title":"Report to the readership","authors":"","doi":"10.1016/j.scico.2024.103199","DOIUrl":"10.1016/j.scico.2024.103199","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"240 ","pages":"Article 103199"},"PeriodicalIF":1.5,"publicationDate":"2024-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142173558","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Specification of paraconsistent transition systems, revisited 准一致过渡系统的规范,再论
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-08-28 DOI: 10.1016/j.scico.2024.103196
Juliana Cunha , Alexandre Madeira , Luís Soares Barbosa
{"title":"Specification of paraconsistent transition systems, revisited","authors":"Juliana Cunha ,&nbsp;Alexandre Madeira ,&nbsp;Luís Soares Barbosa","doi":"10.1016/j.scico.2024.103196","DOIUrl":"10.1016/j.scico.2024.103196","url":null,"abstract":"<div><p>The need for more flexible and robust models to reason about systems in the presence of conflicting information is becoming more and more relevant in different contexts. This has prompted the introduction of paraconsistent transition systems, where transitions are characterized by two pairs of weights: one representing the evidence that the transition effectively occurs and the other its absence. Such a pair of weights can express scenarios of <em>vagueness</em> and <em>inconsistency</em>. This paper establishes a foundation for a compositional and structured specification approach of paraconsistent transition systems, framed as <em>paraconsistent institution</em>. The proposed methodology follows the stepwise implementation process outlined by Sannella and Tarlecki.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"240 ","pages":"Article 103196"},"PeriodicalIF":1.5,"publicationDate":"2024-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0167642324001199/pdfft?md5=76e01dc367ec7a7fdb4b6d2cc9ab943c&pid=1-s2.0-S0167642324001199-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142121683","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A hybrid approach to extract conceptual diagram from software requirements 从软件需求中提取概念图的混合方法
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-08-23 DOI: 10.1016/j.scico.2024.103186
Shweta , Ratna Sanyal , Bibhas Ghoshal
{"title":"A hybrid approach to extract conceptual diagram from software requirements","authors":"Shweta ,&nbsp;Ratna Sanyal ,&nbsp;Bibhas Ghoshal","doi":"10.1016/j.scico.2024.103186","DOIUrl":"10.1016/j.scico.2024.103186","url":null,"abstract":"<div><p>Employing rules for the automatic extraction of conceptual diagrams from software requirements has been in practice for some time. However, considering only rules for extraction makes the system complex to handle. Moreover, the rules are predominantly based on the syntactic structure such as Part of Speech tags along with Dependency Grammar of sentences and rarely on semantics. In this paper, we propose to use a probabilistic approach in configuration with the rule-based technique and the Word embeddings to preserve the semantics of the sentence. Hence, reduces the complexity of the extraction procedure. Further, we advocate the use of a divide-and-conquer policy of extraction instead of extracting classes for one entire use case description. We extract the class diagram from small use cases and then merge it to obtain the class diagram. As generated class diagram corresponding to small use cases can be utilized in another similar software design, thus, it increases the scalability and decreases the extraction time. The proposed hybrid approach integrates the knowledge from the experiences. Thus, the proposed approach achieved 90% as F1-score whereas the F1-Score for the existing methods ranged between 79-88%. The proposed hybrid approach also shows a 19.44% reduction in terms of the number of iterations performed to carry out extraction procedures for individual use cases. Hence, reduces the extraction procedure complexity.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"239 ","pages":"Article 103186"},"PeriodicalIF":1.5,"publicationDate":"2024-08-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142089156","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
MDAPW3: MDA-based development of blockchain-enabled decentralized applications MDAPW3:基于 MDA 的区块链去中心化应用开发
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-08-20 DOI: 10.1016/j.scico.2024.103185
Ali Samanipour , Omid Bushehrian , Gregorio Robles
{"title":"MDAPW3: MDA-based development of blockchain-enabled decentralized applications","authors":"Ali Samanipour ,&nbsp;Omid Bushehrian ,&nbsp;Gregorio Robles","doi":"10.1016/j.scico.2024.103185","DOIUrl":"10.1016/j.scico.2024.103185","url":null,"abstract":"<div><p>Web3.0 Decentralized Application (DApp) is a class of decentralized software in which at least the business logic of the software is implemented using blockchain-based smart contracts. Features such as transparency, decentralized execution environment, no need for a central authority, immutability of data from manipulation, as well as a native transaction-based payment system based on cryptographic tokens are the main advantages of Web3.0 DApps over conventional Web2.0 software in which the business logic and user data are centrally controlled by companies with no transparency. However, the development lifecycle of Web3.0 DApps involves many challenges due to the complexity of blockchain technology and smart contracts as well as the difficulties concerning with the integration of DApp on-chain and off-chain components. To alleviate these challenges, a Model Driven Architecture (MDA) approach for the development of Web3.0 DApps is proposed in this paper that streamlines the development of complex multi-lateral DApps and results in a product that is verifiable, traceable, low-cost, maintainable, less error-prone and in conformance with blockchain platform concepts. Opposed to previous studies in this area that applied MDA only for the development of smart contracts, our proposed MDA-based approach covers the full architecture of Web3.0 DApps: on-chain, off-chain and on-chain/off-chain communication patterns. The method application was demonstrated by implementing a land leasing Dapp where the requirement model (a BPMN choreography model) was transformed into CIM, PIM, and PSM instances successively, and finally, the code-base was generated based on the Ethereum platform technology stack. Epsilon Validation Language (EVL), Epsilon Object Language (EOL), and Epsilon Comparison Language (ECL) were used for the verification/validation of the model instances at each step. Furthermore, by evaluating the quality metrics of the proposed meta-models, we show that they have a better ontology coverage and are more reusable and understandable compared to previous meta-models.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"239 ","pages":"Article 103185"},"PeriodicalIF":1.5,"publicationDate":"2024-08-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142048893","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Formal verification of timely knowledge propagation in airborne networks 机载网络中及时知识传播的形式验证
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-08-20 DOI: 10.1016/j.scico.2024.103184
Saswata Paul , Chris McCarthy , Stacy Patterson , Carlos Varela
{"title":"Formal verification of timely knowledge propagation in airborne networks","authors":"Saswata Paul ,&nbsp;Chris McCarthy ,&nbsp;Stacy Patterson ,&nbsp;Carlos Varela","doi":"10.1016/j.scico.2024.103184","DOIUrl":"10.1016/j.scico.2024.103184","url":null,"abstract":"<div><p>Ensuring timely coordination between autonomous aircraft is a challenging problem in decentralized air traffic management (ATM) applications for urban air mobility (UAM) scenarios. This paper presents an approach for formally guaranteeing timely progress in a Two-Phase Acknowledge distributed knowledge propagation protocol by probabilistically modeling the delays using the theory of the Multicopy Two-Hop Relay protocol and the M/M/1 queue system. The guarantee states a probabilistic upper bound to the time for progress as a function of the probabilities of the total transmission and processing delays following two specific distributions. The proof uses a general library of formal theories, that can be used for the rigorous mechanical verification of autonomous aircraft coordination protocols using the Athena proof checker and assistant.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"239 ","pages":"Article 103184"},"PeriodicalIF":1.5,"publicationDate":"2024-08-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142040718","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"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学术文献互助群
群 号:604180095
Book学术官方微信