首页 > 最新文献

Journal of Computer Languages最新文献

英文 中文
Correctness of IoT-based systems: From a DSL to a mechanised analysis 基于物联网的系统的正确性:从DSL到机械化分析
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-09-16 DOI: 10.1016/j.cola.2023.101239
Christian Attiogbé , Jérôme Rocheteau

Systems based on the Internet of Things are being widely used in industrial areas such as smart manufacturing, in smart health monitoring, in entertainment and in home automation application. They impact more and more every day life. Ensuring their correct construction, their well functioning and their reliability is an important issue for some of these systems which can be critical in case of dysfunction. The main requirements on physical architectures and control software are common to most of IoT-based systems. We propose, on the basis of the common architectural properties and the behaviour of IoT-based systems, the rigorous analysis of their intrinsic consistency properties; specific properties may also be considered and analysed.

We propose a model-based approach to help in systematically modelling and analysing these systems. Our approach focuses both on the formalisation of the model of the targeted systems for their rigorous analysis purpose, and on the design of a modelling language as a domain specific language dedicated to describe IoT-based systems. We build a generic formal model which captures the common features and the properties required for any IoT-based system. This formal model is then a parametrised model where the parameters are the specific data and properties of a given system. The proposed DSL, named τila , is used to describe an IoT system which will be submitted to formal analysis of correctness. τila is a tiny declarative language, extensible, based on a library of building component blocks available as types.

In fact, a description in τila helps to model a system, by collecting the parameters necessary to instantiate the generic formal model. Therefore the analysis requirements are based on the generic model. We experimented our approach using the proposed τila DSL for modelling and the Event-B framework for the formal analysis. The overall proposed approach is accompanied by a model editor generated to assist users in modelling an application and a prototype tool we have developed to assist the users in analysing their systems. Examples are provided.

The generic formal model is extensible; it may be profitably adapted to more general hybrid or cyber–physical systems. Moreover, our generic model is independent of the target formal modelling tools; it may be implemented in various other formal analysis environments.

基于物联网的系统正被广泛应用于工业领域,如智能制造、智能健康监测、娱乐和家庭自动化应用。它们对日常生活的影响越来越大。对于其中一些系统来说,确保其正确的结构、良好的功能和可靠性是一个重要问题,这在功能失调的情况下可能至关重要。物理体系结构和控制软件的主要要求对于大多数基于物联网的系统来说是常见的。我们建议,在基于物联网的系统的常见架构属性和行为的基础上,严格分析其内在一致性属性;还可以考虑和分析特定的特性。我们提出了一种基于模型的方法来帮助系统地建模和分析这些系统。我们的方法侧重于目标系统模型的形式化,以实现其严格的分析目的,并将建模语言设计为专门用于描述基于物联网的系统的特定领域语言。我们构建了一个通用的形式化模型,该模型捕捉了任何基于物联网的系统所需的共同特征和属性。该形式化模型是一个参数化模型,其中参数是给定系统的特定数据和特性。所提出的DSL名为τila,用于描述物联网系统,该系统将提交正式的正确性分析。τila是一种微小的声明性语言,可扩展,基于可作为类型使用的构建组件块库。事实上,τila中的描述通过收集实例化通用形式模型所需的参数,有助于对系统进行建模。因此,分析需求基于通用模型。我们使用所提出的τila DSL进行建模,并使用Event-B框架进行形式化分析。所提出的总体方法附带了一个模型编辑器,该编辑器用于帮助用户对应用程序进行建模,以及我们开发的一个原型工具,该工具用于帮助用户分析其系统。提供了示例。通用形式模型是可扩展的;它可以有益地适应更通用的混合或网络物理系统。此外,我们的通用模型独立于目标形式建模工具;它可以在各种其他形式化分析环境中实现。
{"title":"Correctness of IoT-based systems: From a DSL to a mechanised analysis","authors":"Christian Attiogbé ,&nbsp;Jérôme Rocheteau","doi":"10.1016/j.cola.2023.101239","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101239","url":null,"abstract":"<div><p>Systems based on the Internet of Things are being widely used in industrial areas such as smart manufacturing, in smart health monitoring, in entertainment and in home automation application. They impact more and more every day life. Ensuring their correct construction, their well functioning and their reliability is an important issue for some of these systems which can be critical in case of dysfunction. The main requirements on physical architectures and control software are common to most of IoT-based systems. We propose, on the basis of the common architectural properties and the behaviour of IoT-based systems, the rigorous analysis of their intrinsic consistency properties; specific properties may also be considered and analysed.</p><p>We propose a model-based approach to help in systematically modelling and analysing these systems. Our approach focuses both on the formalisation of the model of the targeted systems for their rigorous analysis purpose, and on the design of a modelling language as a domain specific language dedicated to describe IoT-based systems. We build a generic formal model which captures the common features and the properties required for any IoT-based system. This formal model is then a parametrised model where the parameters are the specific data and properties of a given system. The proposed DSL, named <span><math><mrow><mi>τ</mi><mi>i</mi><mi>l</mi><mi>a</mi></mrow></math></span> , is used to describe an IoT system which will be submitted to formal analysis of correctness. <span><math><mrow><mi>τ</mi><mi>i</mi><mi>l</mi><mi>a</mi></mrow></math></span> is a tiny declarative language, extensible, based on a library of building component blocks available as types.</p><p>In fact, a description in <span><math><mrow><mi>τ</mi><mi>i</mi><mi>l</mi><mi>a</mi></mrow></math></span> helps to model a system, by collecting the parameters necessary to instantiate the generic formal model. Therefore the analysis requirements are based on the generic model. We experimented our approach using the proposed <span><math><mrow><mi>τ</mi><mi>i</mi><mi>l</mi><mi>a</mi></mrow></math></span> DSL for modelling and the Event-B framework for the formal analysis. The overall proposed approach is accompanied by a model editor generated to assist users in modelling an application and a prototype tool we have developed to assist the users in analysing their systems. Examples are provided.</p><p>The generic formal model is extensible; it may be profitably adapted to more general hybrid or cyber–physical systems. Moreover, our generic model is independent of the target formal modelling tools; it may be implemented in various other formal analysis environments.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"77 ","pages":"Article 101239"},"PeriodicalIF":2.2,"publicationDate":"2023-09-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50188351","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
Easing the tuning of drone autopilots through a model-based framework 通过基于模型的框架简化无人机自动驾驶仪的调整
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-09-15 DOI: 10.1016/j.cola.2023.101240
Soulimane Kamni , Antoine Bertout , Emmanuel Grolleau , Gautier Hattenberger , Yassine Ouhammou

Off-the-shelf open-source autopilots are customized by practitioners to satisfy their customer’s specific needs. When custom functions require low delays and/or fast frequency, in the order of magnitude of hundreds or a couple of thousand hertz, they may impact the behavior of the underlying stabilization loop. This paper proposes a tool chain able to extract a model using a Domain-Specific Language (DSL) based on AADL (Architecture Analysis & Design Language) semantics, extended with specific needs to capture the internal behavior of autopilots. This extraction is done directly during the compilation process of the autopilot. Then, we apply on the model of an autopilot a tool to assign offsets for offset-free systems.

现成的开源自动驾驶是由从业者定制的,以满足客户的特定需求。当自定义函数需要数百赫兹或几千赫兹量级的低延迟和/或快频率时,它们可能会影响底层稳定回路的行为。本文提出了一种工具链,该工具链能够使用基于AADL(架构分析与设计语言)语义的领域特定语言(DSL)提取模型,并根据特定需求进行扩展,以捕捉自动驾驶的内部行为。这种提取是在自动驾驶仪的编译过程中直接完成的。然后,我们在自动驾驶仪的模型上应用一种工具来为无偏移系统分配偏移。
{"title":"Easing the tuning of drone autopilots through a model-based framework","authors":"Soulimane Kamni ,&nbsp;Antoine Bertout ,&nbsp;Emmanuel Grolleau ,&nbsp;Gautier Hattenberger ,&nbsp;Yassine Ouhammou","doi":"10.1016/j.cola.2023.101240","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101240","url":null,"abstract":"<div><p>Off-the-shelf open-source autopilots are customized by practitioners to satisfy their customer’s specific needs. When custom functions require low delays and/or fast frequency, in the order of magnitude of hundreds or a couple of thousand hertz, they may impact the behavior of the underlying stabilization loop. This paper proposes a tool chain able to extract a model using a Domain-Specific Language (DSL) based on AADL (Architecture Analysis &amp; Design Language) semantics, extended with specific needs to capture the internal behavior of autopilots. This extraction is done directly during the compilation process of the autopilot. Then, we apply on the model of an autopilot a tool to assign offsets for offset-free systems.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"77 ","pages":"Article 101240"},"PeriodicalIF":2.2,"publicationDate":"2023-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50188349","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 comparison of three solver-aided programming languages: αRby, ProB, and Rosette 三种求解器辅助编程语言的比较:αRby、ProB和Rosette
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-09-07 DOI: 10.1016/j.cola.2023.101238
Richard St-Denis

The premise of this paper asserts that the source code of software programs must preserve the underlying domain knowledge in the form of declarative domain models and fully exploit the capacity of satisfiability solvers, or constraint solvers in general, to get solutions of domain-specific problem instances so as to interleave data processing with such problem-solving techniques. This way of contemplating programming upsets the usual practice of software developers and lays the foundation for an original programming paradigm that has begun to take root in a novel family of programming languages classified under the name solver-aided programming language. This paper explores and compares three of them: α Rby, ProB, and Rosette. It highlights the wide spectrum of ideas and features that emerged from these research efforts. It reveals how these initial attempts provide valuable clues for how best to design a new generation of programming languages notwithstanding the current limitations of α Rby, ProB, and Rosette to fully achieve the goal conveyed by the above premise.

本文的前提是,软件程序的源代码必须以声明性领域模型的形式保留底层领域知识,并充分利用可满足性求解器(或一般的约束求解器)的能力来获得特定领域问题实例的解决方案,从而将数据处理与此类问题解决技术交织在一起。这种思考编程的方式颠覆了软件开发人员的常规做法,并为原始编程范式奠定了基础,该范式已开始在一个新的编程语言家族中扎根,该家族被归类为求解器辅助编程语言。本文对其中三种进行了探索和比较:αRby、ProB和Rosette。它强调了从这些研究工作中产生的广泛的思想和特征。它揭示了这些最初的尝试如何为如何最好地设计新一代编程语言提供有价值的线索,尽管αRby、ProB和Rosette目前存在局限性,以完全实现上述前提所传达的目标。
{"title":"A comparison of three solver-aided programming languages: αRby, ProB, and Rosette","authors":"Richard St-Denis","doi":"10.1016/j.cola.2023.101238","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101238","url":null,"abstract":"<div><p>The premise of this paper asserts that the source code of software programs must preserve the underlying domain knowledge in the form of declarative domain models and fully exploit the capacity of satisfiability solvers, or constraint solvers in general, to get solutions of domain-specific problem instances so as to interleave data processing with such problem-solving techniques. This way of contemplating programming upsets the usual practice of software developers and lays the foundation for an original programming paradigm that has begun to take root in a novel family of programming languages classified under the name <em>solver-aided programming language</em>. This paper explores and compares three of them: <span><math><mi>α</mi></math></span> <span>Rby</span>, <span>ProB</span>, and <span>Rosette</span>. It highlights the wide spectrum of ideas and features that emerged from these research efforts. It reveals how these initial attempts provide valuable clues for how best to design a new generation of programming languages notwithstanding the current limitations of <span><math><mi>α</mi></math></span> <span>Rby</span>, <span>ProB</span>, and <span>Rosette</span> to fully achieve the goal conveyed by the above premise.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"77 ","pages":"Article 101238"},"PeriodicalIF":2.2,"publicationDate":"2023-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50188382","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 comparison of three solver-aided programming languages: αRby, ProB, and Rosette 三种求解器辅助编程语言:αRby, ProB和Rosette的比较
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-09-01 DOI: 10.1016/j.cola.2023.101238
Richard St-Denis
{"title":"A comparison of three solver-aided programming languages: αRby, ProB, and Rosette","authors":"Richard St-Denis","doi":"10.1016/j.cola.2023.101238","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101238","url":null,"abstract":"","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":" ","pages":""},"PeriodicalIF":2.2,"publicationDate":"2023-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"48328865","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
Programming microcontrollers through high-level abstractions: The OMicroB project 通过高级抽象对微控制器进行编程:OMicroB项目
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-18 DOI: 10.1016/j.cola.2023.101228
Steven Varoumas , Basile Pesin , Benoît Vaugon , Emmanuel Chailloux

In this paper, we present an approach for programming microcontrollers that provides more expressivity and safety than the low-level language approach traditionally used to program such devices. To this end, we provide various abstraction layers (abstraction of the microcontroller, of the electronic components of the circuit, and of concurrency) which, while being adapted to the scarce resources of the hardware, offer high-level programming traits for the development of embedded applications. The various presented abstractions make use of an OCaml virtual machine, called OMicroB, which is able to run on devices with limited resources. These take advantage of the expressivity and safety of the OCaml language (parameterized modules, advanced type system). Its extensibility allows to define a synchronous extension to manage concurrency while keeping a good level of efficiency at execution. We illustrate the value of our work on both entertainment applications and embedded software examples.

在本文中,我们提出了一种对微控制器进行编程的方法,与传统上用于对此类设备进行编程的低级语言方法相比,该方法提供了更多的表现力和安全性。为此,我们提供了各种抽象层(微控制器的抽象、电路的电子组件的抽象和并发的抽象),这些抽象层在适应硬件的稀缺资源的同时,为嵌入式应用程序的开发提供了高级编程特性。所呈现的各种抽象使用了一个名为OMicroB的OCaml虚拟机,该虚拟机能够在资源有限的设备上运行。这些利用了OCaml语言(参数化模块、高级类型系统)的表现力和安全性。它的可扩展性允许定义一个同步扩展来管理并发,同时保持良好的执行效率。我们展示了我们在娱乐应用程序和嵌入式软件示例方面的工作价值。
{"title":"Programming microcontrollers through high-level abstractions: The OMicroB project","authors":"Steven Varoumas ,&nbsp;Basile Pesin ,&nbsp;Benoît Vaugon ,&nbsp;Emmanuel Chailloux","doi":"10.1016/j.cola.2023.101228","DOIUrl":"10.1016/j.cola.2023.101228","url":null,"abstract":"<div><p>In this paper, we present an approach for programming microcontrollers that provides more expressivity and safety than the low-level language approach traditionally used to program such devices. To this end, we provide various abstraction layers (abstraction of the microcontroller, of the electronic components of the circuit, and of concurrency) which, while being adapted to the scarce resources of the hardware, offer high-level programming traits for the development of embedded applications. The various presented abstractions make use of an OCaml virtual machine, called OMicroB, which is able to run on devices with limited resources. These take advantage of the expressivity and safety of the OCaml language (parameterized modules, advanced type system). Its extensibility allows to define a synchronous extension to manage concurrency while keeping a good level of efficiency at execution. We illustrate the value of our work on both entertainment applications and embedded software examples.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"77 ","pages":"Article 101228"},"PeriodicalIF":2.2,"publicationDate":"2023-08-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49484389","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
Model consistency as a heuristic for eventual correctness 将模型一致性作为最终正确性的启发式方法
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101223
Istvan David , Hans Vangheluwe , Eugene Syriani

Inconsistencies between stakeholders’ views pose a severe challenge in the engineering of complex systems. The past decades have seen a vast number of sophisticated inconsistency management techniques being developed. These techniques build on the common idea of “managing consistency instead of removing inconsistency”, as put forward by Finkelstein. While it is clear what and how to do about inconsistencies, it is less clear why inconsistency is particularly useful. After all, it is the correctness of the system that should matter, as correctness is the end-user-facing quality of the product. In this paper, we analyze this question by investigating the relationship between (in)consistency and (in)correctness. We formally prove that, contrary to intuition, consistency does not imply correctness. However, consistency is still a good heuristic for eventual correctness. We elaborate on the consequences of this assertion and provide pointers as to how to make use of it in the next generation of inconsistency management techniques.

利益相关者观点的不一致性对复杂系统的工程设计提出了严峻的挑战。在过去的几十年里,开发了大量复杂的不一致管理技术。这些技术建立在Finkelstein提出的“管理一致性而不是消除不一致性”的共同理念之上。虽然很清楚如何处理不一致,但为什么不一致特别有用还不太清楚。毕竟,系统的正确性才是最重要的,因为正确性是面向最终用户的产品质量。本文通过研究一致性和正确性之间的关系来分析这个问题。我们正式证明,与直觉相反,一致性并不意味着正确性。然而,一致性对于最终的正确性仍然是一个很好的启发式方法。我们详细说明了这一断言的后果,并提供了如何在下一代不一致管理技术中使用它的指针。
{"title":"Model consistency as a heuristic for eventual correctness","authors":"Istvan David ,&nbsp;Hans Vangheluwe ,&nbsp;Eugene Syriani","doi":"10.1016/j.cola.2023.101223","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101223","url":null,"abstract":"<div><p>Inconsistencies between stakeholders’ views pose a severe challenge in the engineering of complex systems. The past decades have seen a vast number of sophisticated inconsistency management techniques being developed. These techniques build on the common idea of “managing consistency instead of removing inconsistency”, as put forward by Finkelstein. While it is clear what and how to do about inconsistencies, it is less clear why inconsistency is particularly useful. After all, it is the correctness of the system that should matter, as correctness is the end-user-facing quality of the product. In this paper, we analyze this question by investigating the relationship between (in)consistency and (in)correctness. We formally prove that, contrary to intuition, consistency does not imply correctness. However, consistency is still a good heuristic for eventual correctness. We elaborate on the consequences of this assertion and provide pointers as to how to make use of it in the next generation of inconsistency management techniques.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101223"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891919","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 describing machine learning datasets 用于描述机器学习数据集的领域特定语言
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101209
Joan Giner-Miguelez , Abel Gómez , Jordi Cabot

Datasets are essential for training and evaluating machine learning (ML) models. However, they are also at the root of many undesirable model behaviors, such as biased predictions. To address this issue, the machine learning community is proposing a data-centric cultural shift, where data issues are given the attention they deserve and more standard practices for gathering and describing datasets are discussed and established.

So far, these proposals are mostly high-level guidelines described in natural language and, as such, they are difficult to formalize and apply to particular datasets. In this sense, and inspired by these proposals, we define a new domain-specific language (DSL) to precisely describe machine learning datasets in terms of their structure, provenance, and social concerns. We believe this DSL will facilitate any ML initiative to leverage and benefit from this data-centric shift in ML (e.g., selecting the most appropriate dataset for a new project or better replicating other ML results). The DSL is implemented as a Visual Studio Code plugin, and it has been published under an open-source license.

数据集对于训练和评估机器学习(ML)模型至关重要。然而,它们也是许多不受欢迎的模型行为的根源,比如有偏见的预测。为了解决这个问题,机器学习社区正在提出一种以数据为中心的文化转变,在这种文化转变中,数据问题得到了应有的关注,并讨论和建立了更多收集和描述数据集的标准实践。到目前为止,这些建议大多是用自然语言描述的高级指导方针,因此,它们很难形式化并应用于特定的数据集。从这个意义上说,受这些建议的启发,我们定义了一种新的领域特定语言(DSL),以精确地描述机器学习数据集的结构、来源和社会关注。我们相信这个DSL将促进任何ML计划利用并受益于ML中这种以数据为中心的转变(例如,为新项目选择最合适的数据集或更好地复制其他ML结果)。DSL是作为Visual Studio Code插件实现的,并且在开源许可下发布。
{"title":"A domain-specific language for describing machine learning datasets","authors":"Joan Giner-Miguelez ,&nbsp;Abel Gómez ,&nbsp;Jordi Cabot","doi":"10.1016/j.cola.2023.101209","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101209","url":null,"abstract":"<div><p>Datasets are essential for training and evaluating machine learning (ML) models. However, they are also at the root of many undesirable model behaviors, such as biased predictions. To address this issue, the machine learning community is proposing a <em>data-centric cultural shift</em>, where data issues are given the attention they deserve and more standard practices for gathering and describing datasets are discussed and established.</p><p>So far, these proposals are mostly high-level guidelines described in natural language and, as such, they are difficult to formalize and apply to particular datasets. In this sense, and inspired by these proposals, we define a new domain-specific language (DSL) to precisely describe machine learning datasets in terms of their structure, provenance, and social concerns. We believe this DSL will facilitate any ML initiative to leverage and benefit from this data-centric shift in ML (e.g., selecting the most appropriate dataset for a new project or better replicating other ML results). The DSL is implemented as a Visual Studio Code plugin, and it has been published under an open-source license.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101209"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891921","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
E-APK: Energy pattern detection in decompiled android applications E-APK:反编译android应用程序中的能量模式检测
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101220
Nelson Gregório , João Bispo , João Paulo Fernandes , Sérgio Queiroz de Medeiros

Energy efficiency is a non-functional requirement that developers must consider, particularly when building software for battery-operated devices like mobile ones: a long-lasting battery is an essential requirement for an enjoyable user experience.

In previous studies, it has been shown that many mobile applications include inefficiencies that cause battery to be drained faster than necessary. Some of these inefficiencies result from software patterns that have been catalogued, and for which more energy-efficient alternatives are also known.

The existing catalogues, however, assume as a fundamental requirement that one has access to the source code of an application in order to be able to analyse it. This requirement makes independent energy analysis challenging, or even impossible, e.g. for a mobile user or, most significantly, an App Store trying to provide information on how efficient an application being submitted for publication is.

We study the viability of looking for known energy patterns in applications by decompiling them and analysing the resulting code. For this, we decompiled and analysed 420 open-source applications by extending an existing tool, which is now capable of transparently decompiling and analysing android applications. With the collected data, we performed a comparative study of the presence of four energy patterns between the source code and the decompiled code.

We performed two types of analysis: (i) comparing the total number of energy pattern detections; (ii) comparing the similarity between energy pattern detections. When comparing the total number of detections in source code against decompiled code, we found that 79.29% of the applications reported the same number of energy pattern detections.

To test the similarity between source code and APKs, we calculated, for each application, a similarity score based on our four implemented detectors. Of all applications, 35.76% achieved a perfect similarity score of 4, and 89.40% got a score of 3 or more out of 4. Furthermore, only two applications got a score of 0.

When viewed in tandem, the results of the two analyses we performed point in a promising direction. They provide initial evidence that static analysis techniques, typically used in source code, can be a viable method to inspect APKs when access to source code is restricted, and further research in this area is worthwhile.

能源效率是开发人员必须考虑的非功能性要求,特别是在为移动设备等电池供电的设备构建软件时:持久的电池是令人愉快的用户体验的基本要求。在之前的研究中,已经证明许多移动应用程序的低效率导致电池耗尽的速度比必要的要快。其中一些效率低下是由已经编目的软件模式造成的,而对于这些模式,更节能的替代方案也是已知的。然而,现有目录的基本要求是,为了能够对应用程序进行分析,必须能够访问应用程序的源代码。这一要求使得独立的能量分析具有挑战性,甚至不可能,例如,对于移动用户,或者最重要的是,对于试图提供有关应用程序提交发布的效率的信息的应用程序商店。我们通过反编译和分析结果代码来研究在应用程序中寻找已知能量模式的可行性。为此,我们通过扩展现有工具来反编译和分析420个开源应用程序,该工具现在能够透明地反编译和分析android应用程序。利用收集到的数据,我们对源代码和反编译代码之间存在的四种能量模式进行了比较研究。我们进行了两种类型的分析:(i)比较能量模式检测的总数;(ii)比较能量模式检测之间的相似性。当比较源代码和反编译代码中的检测总数时,我们发现79.29%的应用程序报告了相同数量的能量模式检测。为了测试源代码和apk之间的相似性,我们基于四个实现的检测器计算了每个应用程序的相似性得分。在所有应用程序中,35.76%的应用程序达到了4分的完美相似度,89.40%的应用程序在4分中得到3分及以上。此外,只有两份申请得到了0分。当我们同时观察时,我们进行的两项分析的结果指向一个有希望的方向。它们提供了最初的证据,证明静态分析技术(通常用于源代码)可以作为一种可行的方法,在对源代码的访问受到限制时检查apk,并且在该领域的进一步研究是值得的。
{"title":"E-APK: Energy pattern detection in decompiled android applications","authors":"Nelson Gregório ,&nbsp;João Bispo ,&nbsp;João Paulo Fernandes ,&nbsp;Sérgio Queiroz de Medeiros","doi":"10.1016/j.cola.2023.101220","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101220","url":null,"abstract":"<div><p>Energy efficiency is a non-functional requirement that developers must consider, particularly when building software for battery-operated devices like mobile ones: a long-lasting battery is an essential requirement for an enjoyable user experience.</p><p>In previous studies, it has been shown that many mobile applications include inefficiencies that cause battery to be drained faster than necessary. Some of these inefficiencies result from software patterns that have been catalogued, and for which more energy-efficient alternatives are also known.</p><p>The existing catalogues, however, assume as a fundamental requirement that one has access to the source code of an application in order to be able to analyse it. This requirement makes independent energy analysis challenging, or even impossible, e.g. for a mobile user or, most significantly, an App Store trying to provide information on how efficient an application being submitted for publication is.</p><p>We study the viability of looking for known energy patterns in applications by decompiling them and analysing the resulting code. For this, we decompiled and analysed 420 open-source applications by extending an existing tool, which is now capable of transparently decompiling and analysing android applications. With the collected data, we performed a comparative study of the presence of four energy patterns between the source code and the decompiled code.</p><p>We performed two types of analysis: (i) comparing the total number of energy pattern detections; (ii) comparing the similarity between energy pattern detections. When comparing the total number of detections in source code against decompiled code, we found that 79.29% of the applications reported the same number of energy pattern detections.</p><p>To test the similarity between source code and APKs, we calculated, for each application, a similarity score based on our four implemented detectors. Of all applications, 35.76% achieved a perfect similarity score of 4, and 89.40% got a score of 3 or more out of 4. Furthermore, only two applications got a score of 0.</p><p>When viewed in tandem, the results of the two analyses we performed point in a promising direction. They provide initial evidence that static analysis techniques, typically used in source code, can be a viable method to inspect APKs when access to source code is restricted, and further research in this area is worthwhile.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101220"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891923","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
Composition operators for modeling languages: A literature review 建模语言的组合运算符:文献综述
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101226
Jérôme Pfeiffer , Bernhard Rumpe , David Schmalzing , Andreas Wortmann

Efficiently engineering modeling languages demands their reuse through composition. Research in language engineering has produced many different operators to reuse and compose languages and language parts. Unfortunately, these operate on different dimensions of languages, produce diverse results, and are distributed across various technological spaces and publications, which hampers understanding the state of language composition for researchers and practitioners. To mitigate this, we report the results of a literature review on modeling language composition operators. In this review, we identify operators, their properties, and supported language dimensions, and relate them to categories of language composition. Through this, our survey draws a new, detailed map of modeling language composition operators that can guide researchers in software language engineering in identifying uncharted territory and practitioners in employing the most suitable composition operators.

高效的工程建模语言需要通过组合进行重用。语言工程的研究产生了许多不同的操作符来重用和组合语言和语言部件。不幸的是,这些方法在不同的语言维度上运行,产生不同的结果,并且分布在不同的技术空间和出版物中,这阻碍了研究人员和从业者对语言构成状况的理解。为了缓解这种情况,我们报告了关于建模语言组合操作符的文献综述的结果。在这篇综述中,我们识别了操作符、它们的属性和支持的语言维度,并将它们与语言组成的类别联系起来。通过这种方式,我们的调查绘制了一幅新的、详细的语言组合运算符建模地图,可以指导软件语言工程的研究人员识别未知领域,并指导从业者使用最合适的组合运算符。
{"title":"Composition operators for modeling languages: A literature review","authors":"Jérôme Pfeiffer ,&nbsp;Bernhard Rumpe ,&nbsp;David Schmalzing ,&nbsp;Andreas Wortmann","doi":"10.1016/j.cola.2023.101226","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101226","url":null,"abstract":"<div><p>Efficiently engineering modeling languages demands their reuse through composition. Research in language engineering has produced many different operators to reuse and compose languages and language parts. Unfortunately, these operate on different dimensions of languages, produce diverse results, and are distributed across various technological spaces and publications, which hampers understanding the state of language composition for researchers and practitioners. To mitigate this, we report the results of a literature review on modeling language composition operators. In this review, we identify operators, their properties, and supported language dimensions, and relate them to categories of language composition. Through this, our survey draws a new, detailed map of modeling language composition operators that can guide researchers in software language engineering in identifying uncharted territory and practitioners in employing the most suitable composition operators.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101226"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891924","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
Minimum modulus visualization of algebraic fractals 代数分形的最小模可视化
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101222
Severino F. Galán

Fractals are a family of shapes formed by irregular and fragmented patterns. They can be classified into two main groups: geometric and algebraic. Whereas the former are characterized by a fixed geometric replacement rule, the latter are defined by a recurrence function in the complex plane. The classical method for visualizing algebraic fractals considers the sequence of complex numbers originated from each point in the complex plane. Thus, each original point is colored depending on whether its generated sequence escapes to infinity. The present work introduces a novel visualization method for algebraic fractals. This method colors each original point by taking into account the complex number with minimum modulus within its generated sequence. The advantages of the novel method are twofold: on the one hand, it preserves the fractal view that the classical method offers of the escape set boundary and, on the other hand, it additionally provides interesting visual details of the prisoner set (the complement of the escape set). The novel method is comparatively evaluated with other classical and non-classical visualization methods of fractals, giving rise to aesthetic views of prisoner sets.

分形是由不规则和破碎的图案形成的一组形状。它们可以分为两大类:几何和代数。前者具有固定的几何替换规则,后者则由复平面上的递归函数定义。可视化代数分形的经典方法考虑从复平面上的每个点出发的复数序列。因此,每个原始点的颜色取决于其生成的序列是否转义到无穷大。本文介绍了一种新的代数分形的可视化方法。该方法通过考虑在其生成的序列中具有最小模数的复数来为每个原始点着色。该方法的优点有两方面:一方面,它保留了经典方法提供的逃跑集边界的分形视图,另一方面,它额外提供了囚犯集(逃跑集的补充)的有趣的视觉细节。将该方法与其他经典和非经典的分形可视化方法进行了比较评价,提出了囚犯集的美学观点。
{"title":"Minimum modulus visualization of algebraic fractals","authors":"Severino F. Galán","doi":"10.1016/j.cola.2023.101222","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101222","url":null,"abstract":"<div><p>Fractals are a family of shapes formed by irregular and fragmented patterns. They can be classified into two main groups: geometric and algebraic. Whereas the former are characterized by a fixed geometric replacement rule, the latter are defined by a recurrence function in the complex plane. The classical method for visualizing algebraic fractals considers the sequence of complex numbers originated from each point in the complex plane. Thus, each original point is colored depending on whether its generated sequence escapes to infinity. The present work introduces a novel visualization method for algebraic fractals. This method colors each original point by taking into account the complex number with minimum modulus within its generated sequence. The advantages of the novel method are twofold: on the one hand, it preserves the fractal view that the classical method offers of the escape set boundary and, on the other hand, it additionally provides interesting visual details of the prisoner set (the complement of the escape set). The novel method is comparatively evaluated with other classical and non-classical visualization methods of fractals, giving rise to aesthetic views of prisoner sets.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101222"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891920","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