The increasing complexity of modern software development necessitates tools and methodologies for code analysis, maintenance, and migration in multi-language Integrated Development Environments (IDEs). The security ne...
详细信息
The increasing complexity of modern software development necessitates tools and methodologies for code analysis, maintenance, and migration in multi-language Integrated Development Environments (IDEs). The security needs of the software development process also recently led to the introduction of the Software Bill of Materials (SBOM), which vendors must include in their products. Automated tools become imperative to speed up software production and distribution. In the present code development landscape, automated programming language Identification (PLI) helps to develop secure software development with its in-depth insights into programming consequences for code maintenance, legacy system management, code analysis, quality assurance, software modernization, migration, and code search. With the increasing success of Machine Learning (ML) models in detection methods, researchers use them for PLI showing superior performance of detection compared to the basic method of identification based on the source file extension. In this paper, we present the first survey for ML-based PLI methods providing insights into the domain's present status and guiding towards a futuristic tool development for PLI. We evaluate various ML techniques that recognize programming languages. These techniques include conventional, operation-based, and data source-based techniques. Our study examines the advantages and limitations of identifying the programming language in text, images, and videos. Our investigation also emphasizes the capabilities of the existing solutions that improve software development practices. Furthermore, our survey analyzes the strengths and limitations of existing code detection tools such as GitHub's Linguist, Pygments, ***, Ace, Google's Code Prettify, SourcererCC, Guesslang, and SonarLint. We also provide some open research problems for future researchers.
The motion analysis language (MAL) is designed for interactive and automatic analysis of motion measurement data. The language includes instructions for measurement, signal processing, visualisation, data storage and ...
详细信息
The motion analysis language (MAL) is designed for interactive and automatic analysis of motion measurement data. The language includes instructions for measurement, signal processing, visualisation, data storage and scientific calculations. The language interpreter is written in C++ and is already tested on MS-DOS and HP-UX operating systems. New instructions can be defined both in MAL code or by recompiling the interpreter program.
In the last 20years, relative value strategies have increased in popularity in various asset classes, including equity and commodity markets. Due to an increase in market participants, more sophisticated algorithms th...
详细信息
In the last 20years, relative value strategies have increased in popularity in various asset classes, including equity and commodity markets. Due to an increase in market participants, more sophisticated algorithms than those used in the past are now required to generate excess returns in pairs trading strategies. Sophisticated algorithms can cause an increase in complexity which, in-turn, increases computational run time. In our pairs trading example, C++provides the best performance, however, it is also the most time consuming to implement. Among the languages that allow for faster development, Cython provides the best balance between run times and ease of prototyping.
We propose a programming language, Flage, for building software systems which dynamically adapt to changing local situations. In our language, we construct applications by agents;concurrent mobile objects with the met...
详细信息
We propose a programming language, Flage, for building software systems which dynamically adapt to changing local situations. In our language, we construct applications by agents;concurrent mobile objects with the metalevel architecture. Metalevel programming facilities realize a self-control of an agent's actions and an autonomous adaptation to changes. We also introduce another kind of program element called field. A field represents a local situation around agents. For example, one field represents a virtual place to get local information in a network environment and another represents a virtual place where agents do cooperative works. If an agent enters a field, it gets programs and shared information in the field. By moving field to field, an agent can change its program composition by itself and it adapts to changing local situations. In this paper, we describe the language specification of Flage, the implementation of the platform for Flage programming and show some program examples.
Realized cellular automata may be operated by universal computer systems as programmable special-purpose processors for parallelizable problems. Because of their architecture (local neighbourhood, small storage size p...
详细信息
Realized cellular automata may be operated by universal computer systems as programmable special-purpose processors for parallelizable problems. Because of their architecture (local neighbourhood, small storage size per cell, they are well suited for processing systolic algorithms. A cellular programming language — named CEPROL — is presented which offers means for programming and controlling cellular automata processing such algorithms.
Today, it is believed that it is difficult to learn a programming language because it requires a completely different way of thinking from what students are accustomed to and need a lot of work and time to start think...
详细信息
Today, it is believed that it is difficult to learn a programming language because it requires a completely different way of thinking from what students are accustomed to and need a lot of work and time to start thinking in this way. Each method for learning a programming language aims to improve the quality of learning, which is confirmed by a large number of successful students. This paper presents the influence of factors such as motivation, emotion and pre-knowledge of students on the choice of method, which is maximally adapted to the age, abilities and preferences of students. Adequate selection of the method is done by using the tests for checking the given factors to the students' data, which are later used to select the most favorable method for learning a programming language.
We present an extension of the denotational semantic model of the quantum programming language QML, to which computational reversibility is incorporated. The semantics of QML is defined in a functional setting which c...
详细信息
We present an extension of the denotational semantic model of the quantum programming language QML, to which computational reversibility is incorporated. The semantics of QML is defined in a functional setting which consider classical and quantum data, to which we add inverse functions. Additionally we incorporate into the semantics a history track which allows reversibility in QML. From the generation and processing of the history track and the final result of a program, the rules for executing reversibility allow to compute the original input data. This work contributes to the study of reversibility in quantum programming languages and considering that there is not yet a quantum computer in which the language can be implemented, this history and the proposed inverse functions are not trivial and allow us to determine that this language is reversible.
Computational nucleic acid devices show great potential for enabling a broad range of biotechnology applications, including smart probes for molecular biology research, in vitro assembly of complex compounds, high-pre...
详细信息
Computational nucleic acid devices show great potential for enabling a broad range of biotechnology applications, including smart probes for molecular biology research, in vitro assembly of complex compounds, high-precision in vitro disease diagnosis and, ultimately, computational theranostics inside living cells. This diversity of applications is supported by a range of implementation strategies, including nucleic acid strand displacement, localization to substrates, and the use of enzymes with polymerase, nickase, and exonuclease functionality. However, existing computational design tools are unable to account for these strategies in a unified manner. This paper presents a logic programming language that allows a broad range of computational nucleic acid systems to be designed and analyzed. The language extends standard logic programming with a novel equational theory to express nucleic acid molecular motifs. It automatically identifies matching motifs present in the full system, in order to apply a specified transformation expressed as a logical rule. The language supports the definition of logic predicates, which provide constraints that need to be satisfied in order for a given rule to be applied. The language is sufficiently expressive to encode the semantics of nucleic strand displacement systems with complex topologies, together with computation performed by a broad range of enzymes, and is readily extensible to new implementation strategies. Our approach lays the foundation for a unifying framework for the design of computational nucleic acid devices.
It was observed that school children in Arab countries find difficulty in learning programming in a language other than their native language. There are only few Arabic programming languages in the literature;most of ...
详细信息
It was observed that school children in Arab countries find difficulty in learning programming in a language other than their native language. There are only few Arabic programming languages in the literature;most of which are never or partially implemented. In this paper, we present the design of a new Arabic programming language (ARABLAN) which is planned to be implemented for use in teaching programming for school children in Arab countries.
暂无评论