Preview

Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)

Advanced search
Vol 33, No 1 (2021)
View or download the full issue PDF (Russian)
7-32
Abstract

The paper is dedicated to search for taint-based errors in the source code of programs, i.e. errors caused by unsafe use of data obtained from external sources, which could potentially be modified by an attacker. The interprocedural static analyzer Svace was used as a basis. The analyzer searches both for defects in the program and searches for suspicious places where the logic of the program may be violated. The goal is to find as many errors as possible at an acceptable speed and a low level of false positives (< 20-35%). To find errors, Svace with help of modified compiler builds a low-level typed intermediate representation, which is used as an input to the main SvEng analyzer. The analyzer builds a call graph and then performs summary-based analysis. In this analysis, the functions are traversed according to the call graph starting from the leaves. After analyzing the function, its summary is created, which will then be used to analyze the call instructions. The analysis has both high speed and good scalability. Intra-procedural analysis is based on symbolic execution with the union of states at merge points of paths. An SMT solver can be used to filter out infeasible paths for some checkers. In this case, the SMT-solver is called only if there is a suspicion of an error. The analyzer has been expanded to find defects of tainted data using. The checkers are implemented as plugins by using the source-sink scheme. The sources are calls of library functions that receive data from outside the program, as well as the arguments of the main function. Sinks are accessing to arrays, using variables as a step or loop boundary, calling functions that require checked arguments. Checkers covering most of the possible types of vulnerabilities for tainted integers and strings have been implemented. The Juliet project was used to assess the coverage. The false negative rate ranged from 46,31% to 81.17% with a small number of false positives.

33-46
Abstract

The article deals with the problem of recognition of handwritten digits using feedforward neural networks (perceptrons) using a correlation indicator. The proposed method is based on the mathematical model of the neural network as an oscillatory system similar to the information transmission system. The article uses theoretical developments of the authors to search for the global extremum of the error function in artificial neural networks. The handwritten digit image is considered as a one-dimensional input discrete signal representing a combination of "perfect digit writing" and noise, which describes the deviation of the input implementation from "perfect writing". The ideal observer criterion (Kotelnikov criterion), which is widely used in information transmission systems and describes the probability of correct recognition of the input signal, is used to form the loss function. In the article is carried out a comparative analysis of the convergence of learning and experimentally obtained sequences on the basis of the correlation indicator and widely used in the tasks of classification of the function CrossEntropyLoss with the use of the optimizer and without it. Based on the experiments carried out, it is concluded that the proposed correlation indicator has an advantage of 2-3 times.

47-58
Abstract

Ontology based activity learning models play a vital role in diverse fields of Internet of Things (IoT) such as smart homes, smart hospitals or smart communities etc. The prevalent challenges with ontological models are their static nature and inability of self-evolution. The models cannot be completed at once and smart home inhabitants cannot be restricted to limit their activities. Also, inhabitants are not predictable in nature and may perform “Activities of Daily Life (ADL)” not listed in ontological model. This gives rise to the need of developing an integrated framework based on unified conceptual backbone (i.e. activity ontologies), addressing the lifecycle of activity recognition and producing behavioral models according to inhabitant’s routine. In this paper, an ontology evolution process has been proposed that learns particular activities from existing set of activities in daily life (ADL). It learns new activities that have not been identified by the recognition model, adds new properties with existing activities and learns inhabitant’s newest behavior of performing activities through Artificial Neural Network (ANN). The better degree of true positivity is evidence of activity recognition with detection of noisy sensor data. Effectiveness of proposed approach is evident from improved rate of activity learning, activity detection and ontology evolution.

59-64
Abstract

In the last years, autonomous vehicle navigation has had considerable improvements; however, this technology has not yet been able to effectively be integrated with mobile systems that work inside buildings, houses or without the influence of absolute references such as GPS. It is for this reason that this paper provides a methodological proposal that allows the integration of the use of object detection methods such as YOLO (You Only Look Once) or R-CNN (Region Convolutional Neural Networks), with laser scanning systems for the measurement of spatial coordinates and an INS system to obtain spatial positioning through relative references. This method integrates the principle of dynamic triangulation and the methodological proposal IKZ (Inertial Navigation with Kalman and Zero Update) that allow to obtain acceptable mobile autonomy times in which the sector of interest is re-scanned.

65-80
Abstract

Digital twins of processes and devices use information from sensors to synchronize their state with the entities of the physical world. The concept of stream computing enables effective processing of events generated by such sensors. However, the need to track the state of an instance of the object leads to the impossibility of organizing instances of digital twins as stateless services. Another feature of digital twins is that several tasks implemented on their basis require the ability to respond to incoming events at near-real-time speed. In this case, the use of cloud computing becomes unacceptable due to high latency. Fog computing manages this problem by moving some computational tasks closer to the data sources. One of the recent solutions providing the development of loosely coupled distributed systems is a Microservice approach, which implies the organization of the distributed system as a set of coherent and independent services interacting with each other using messages. The microservice is most often isolated by utilizing containers to overcome the high overheads of using virtual machines. The main problem is that microservices and containers together are stateless by nature. The container technology still does not fully support live container migration between physical hosts without data loss. It causes challenges in ensuring the uninterrupted operation of services in fog computing environments. Thus, an essential challenge is to create a containerized stateful stream processing based microservice to support digital twins in the fog computing environment. Within the scope of this article, we study live stateful stream processing migration and how to redistribute computational activity across cloud and fog nodes using Kafka middleware and its Stream DSL API.

81-96
Abstract

A Microservice Architecture enables the development of distributed systems using a set of highly cohesive, independent, and collaborative services, ready for current cloud computing demands. Each microservice can be implemented in different technologies, sharing common communication channels, which results in heterogeneous distributed systems that exhibit high scalability, maintainability, performance, and interoperability. Currently, there are many options to build microservices; some of them led by patterns that establish common structures to solve recurrent problems. Nevertheless, as microservices are an emerging trend, the relationship between quality attributes, metrics, and patterns is not clearly defined, which is a concern from a software engineering point of view, since such understanding is fundamental to correctly design systems using this architecture. This paper aims to extend the knowledge on the design of microservices-based systems by presenting a multivocal systematic literature review for microservices related patterns, tying them together with quality attributes and metrics, as can be found in academic and industry research.

97-110
Abstract

Underwater Wireless Sensor Networks (UWSNs) is an emerging technology for the monitoring of aquatic assets and frequently applied in several domains like underwater information gathering, ocean sampling network, anonymous vehicles, disaster prevention and submarine detection.  Recently, UWSNs have been getting significant attention of researchers from both academia and industry. As a result, several studies have been carried out to perform certain improvements in UWSNs techniques, tools, protocols and architectures. In this regard, there is a dire need to investigate and summarize the modern UWSNs trends altogether within a single study. To achieve this, a Systematic Literature Review (SLR) is performed in this article to comprehensively analyze the latest developments in UWSNs. Particularly, 34 research studies published during 2012-2020 have been selected and examined in the area of UWSNs. This leads to the identification of 21 modern routing protocols and 11 tools. Furthermore, 5 different architecture types and 3 communication media technologies are presented in the context of UWSNs. Finally, a comparative analysis of routing protocols is done on the basis of important evaluation metrics. It has been concluded that there exist adequate approaches, protocols and tools for the monitoring of UWSNs. However, the design verification capabilities of existing approaches are insufficient to meet the growing demands of UWSNs. The findings of this article provide solid platform to enhance the current UWSNs tools and techniques for large and complex networks.

111-122
Abstract

Scientific applications require to process, analyze and transfer large volumes of data in the shortest possible time from distributed data sources. In order to improve their performance, it is necessary to provide them with specific QoS parameters. On the other hand, SDN is presented as a new paradigm of communications networks that facilitates the management of the communications infrastructure and consequently allows to dynamically incorporate QoS parameters to the applications running in this type of network. With both these paradigms in mind, we conducted this research to answer the following questions: Do scientific applications that are running in an SDN-Enabled distributed data centers improve their performance? Do they consider network QoS parameters for job scheduling? The methodology used was to consult articles in specialized databases containing the keywords SDN and for scientific applications: HPC and Big Data. Then, we analyzed the articles where these keywords intersect with some of the parameters related to QoS in communications networks. Also, we reviewed QoS proposals in SDN to identify the advances in this research area. The results of this paper are: i) QoS is an open issue to incorporate in scientific applications that are running in an SDN ii) we identified the challenges to join both these paradigms, and iii) we present a strategy to provide QoS to scientific applications that are being executed among SDN-Enabled distributed data centers.

123-136
Abstract

The paper continues the investigations on the implementation of virtual networks on the SDN data plane which is modeled by a graph of physical connections between network nodes. A virtual network is defined as a set of ordered host pairs (sender, receiver), and it is implemented by a set of host-host paths that uniquely determine the switch settings. The opportunities to transmit a packet are limited by the host weights (priorities): a packet can be only transmitted from a host to a host if the sender has at most the same priority as the recipient, and thus, a set of paths is permissible if its every subset connects permissible host pairs. In the paper, it is proven that differently from the case when every host pair is permissible, in the graph with priorities a permissible path implementation does not exist for every set of permissible hosts. Moreover, it is shown that is some cases when such an implementation exists, the implementation is not possible without paths with cycles where packets can move infinite and without duplicate paths when a host can get the same packet several times. Using the notion of a perfect set of paths a criterion is established when every permissible set of hosts can be safely implemented by a set of paths without cycles but possibly with duplicate paths.

137-150
Abstract

The paper studies the emerging trends in advanced computing and information technology for efficient solutions of fault identification problem for mobile robot groups under the unmatched disturbances. The sliding mode observers are considered for mentioned problem solution. It facilitates the concept of Smart everything inside the considered robotic group during its generalized control: smart surrounding sensing, communication, processing, and scanned data storing. The suggested novel approach to sliding mode observer design is based on obtaining the reduced order model of the initial system. This allows reduce the complexity of sliding mode observer and relax restrictions imposed on the initial system.

151-172
Abstract

The paper represents new means of the Orlando Tools framework. This framework is used as the basis of an integrated software environment for developing distributed applied software packages. The additional means are focused on mitigating various types of uncertainties arising from the job distribution in an integrated computing environment. They provide continuous integration, delivery, and deployment of applied and system software of packages. This helps to significantly reduce the negative impact of uncertainty on problem-solving time, computing reliability, and resource efficiency. An experimental analysis of the results of solving practical problems clearly demonstrates the advantages of applying these means.

173-188
Abstract

Cloud computing trends such as Software as a Service (SaaS) enable providers to host complex applications over the Internet, making them available to external consumers through an Application Programming Interface (API). The success of a SaaS, and in some sense any distributed system, is greatly influenced by its API. Highly usable APIs improve the efficiency of the development process and its quality, ensuring that programmers continue to appreciate other aspects of the API while increasing their productivity. Different studies state that the design phase within the development process of an API is the most appropriate to address usability issues. Therefore, usability should be considered as an explicit criterion in the design of an API. In this paper, we propose a design guide for web APIs with an emphasis on usability, using the best practices of usable web APIs design. Our design guide is based on an adaptation of the design science research methodology (DSRM), and it is complemented with a systematic literature review and gray literature analysis concerning methods, techniques, and tools used to develop usable APIs.

189--208
Abstract

Tamil talk is a speech to text application and was designed from a perspective of language and philosophy. This paper takes an indigenous approach in reflecting on the design and user acceptance of Tamil talk. The paper makes use of literature in critically reflecting on the design and the potential user acceptance of the application. It takes a multi-disciplinary approach and explores the influence of factors like language shift, language maintenance and philosophy in the context of user acceptance of speech to text. The application may appeal to a section of the native Tamil speakers as suggested in the literature but there are complex challenges that needs further research. Further research shall be in developing the application that conforms to the conceptual framework and widely test with the native speakers to arrive at a more precise prediction of user acceptance.

209-224
Abstract

In this work we study the application of intrinsic stylometric methods to the task of plagiarism detection in Armenian texts. We use two task setups from PAN’s series of conferences on text forensics and stylometry: style change detection and style breach detection. Style change detection aims to determine whether the text is written by more than one author, while style breach detection detects the boundaries of stylistically distinct text fragments. For these tasks, we generate synthetic test sets for three genres of text: academic, literature, and news, and then use them to evaluate the effectiveness of hierarchical clustering and other relevant models from PAN conferences. We employ a standard set of character-level, lexical and readability features, and additionally perform morphological and dependency parsing of text fragments to extract syntactic features encoding author style information. The evaluation results show that the clustering-based approach fails to correctly detect style change detection in longer texts and is only marginally better for shorter texts. For style breach detection, hierarchical clustering-based approach performs better than a random baseline classifier, but the difference is not sufficient to warrant its practical use. In a complementary experiment, we show that reducing the number of features and multicollinearity in them via PCA helps to increase the precision of style breach detection methods for certain text categories.



Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)