• Volume 32,Issue 5,2021 Table of Contents
    Select All
    Display Type: |
    • >Special Issue's Articles
    • Microservice Resilience Risk Identification and Analysis Based on Chaos Engineering

      2021, 32(5):1231-1255. DOI: 10.13328/j.cnki.jos.006231

      Abstract (2392) HTML (2866) PDF 2.78 M (4851) Comment (0) Favorites

      Abstract:Microservice architecture has already become the mainstream architecture pattern of Internet applications in recent years. However, compared with traditional software architectures, microservice architecture has a more sophisticated deployment structure, which makes it have to face more potential threats that make the system in fault, as well as the greater diversity of fault symptoms. Since traditional measurements like reliability cannot fully show a microservice architecture system's capability to cope with failures, microservice developers started to use the word "resilience" to describe such capability. In order to improve a microservice architecture system's resilience, developers usually need to design specific mechanisms for different system environment disruptions. How to judge whether a system environment disruption is a risk to microservice resilience, and how to find these resilience risks as much as possible before the system is released, are the research questions in microservice development. According to the microservice resilience measurement model which is proposed in authors' previous research, by integrating the chaos engineering practice, resilience risk identification and analysis approaches for microservice architecture systems are proposed. The identification approach continuously generates random system environment disruptions to the target system and monitors variations in system service performance, to find potential resilience risks, which greatly reduces human effort in risk identification. For identified resilience risks, by collecting performance monitoring data during chaos engineering, the analysis approach uses the causality search algorithm to build influence chains among system performance indicators, and provide chains with high possibility to system operators for further analysis. Finally, the effectiveness of the proposed approach is proved by a case study on a microservice architecture system.

    • Evaluation Framework for Development Organizations' Adaptability to Micro-services Architecture

      2021, 32(5):1256-1283. DOI: 10.13328/j.cnki.jos.006232

      Abstract (2529) HTML (2109) PDF 3.08 M (4466) Comment (0) Favorites

      Abstract:At present, an architectural style called microservices is receiving more and more attention. While it brings benefits to software projects, it also affects development organizations that use microservices architectures. This study's goal is to clarify the impact of microservices on the organization, whether these effects are beneficial or challenging for the organization. A systematic literature review is conducted and qualitative data are synthesized through meta-ethnography. Finally, seven aspects of using microservices architecture to affect an organization are identified, namely, organizational structure, autonomous team, technology/tool, organizational culture, developer, DevOps, and communication. At the same time, it is also found that although a lot of researches on microservices emphasizes that in order to fully obtain the expected benefits of microservices, it is necessary to solve organizational problems, currently there are few scholarly literatures published on organizational problems. Hence high quality grey literatures, which may be close to the viewpoint of industry, are also included in this study. Based on the result of systematic literature review and synthesis of qualitative data, four higher-order explanations have come up and an evaluation framework is proposed that helps companies evaluate and improve the adaptability of their development organizations to microservices architectures. The proposed evaluation framework provides the guidelines for development organizations adapt to microservices. Finally, based on the framework, this paper designed and conducted an industrial survey and interviews. The results of both confirmed the effectiveness of the adaptability evaluation framework proposed in this paper.

    • Optimized Dataflow-driven Approach for Microservices-oriented Decomposition

      2021, 32(5):1284-1301. DOI: 10.13328/j.cnki.jos.006233

      Abstract (2311) HTML (2543) PDF 1.91 M (4750) Comment (0) Favorites

      Abstract:In recent years, microservices architecture (MSA) has become a prevalent architectural style in the field of software engineering. The natural characteristics of MSA, e.g., supporting DevOps andcontinuous delivery, scalability and extensibility, motivate practitioners to migrate their legacy systems to this new architectural style. However, the migration to MSA also causes many challenges, among which the most critical one is lacking an automated and integrated solution for the microservices-oriented decomposition and the evaluation of candidate microservices. To address this challenge, an optimized approach (DFD-A) is proposed through overcoming two limitations of an existing data flow-driven decomposition solution (DFD), i.e. efficiency and flexibility. The proposed DFD-A approach realizes the automatic data flow information collection through combining the dynamic and static analysis technology and identifies microservices using a more flexible two-phase clustering algorithm. A prototype tool is also implemented to automatically support the whole process of the data collection, the decomposition, and even the evaluation of microservice candidates using some typical metrics. The results of a case study demonstrate the effectiveness, efficiency, and flexibility of the proposed DFD-A method for microservices-oriented decomposition and evaluation.

    • Storage Design of Tracing-logs for Application Performance Management System

      2021, 32(5):1302-1321. DOI: 10.13328/j.cnki.jos.006234

      Abstract (2072) HTML (2313) PDF 2.01 M (3850) Comment (0) Favorites

      Abstract:With the software system becoming more and more complex and distributed, it is more and more important to provide monitoring services with complete functions for the system. APM (application performance management) system analyzes the running state of software by collecting various indicator data of software system, such as CPU, memory utilization, the consuming time of garbage collection, QPS. In addition, the APM system can also generate various types of logs during the operation of the software. Generally speaking, it can provide three types of monitoring data:statistic metrics, tracing data, and discrete event records. The data can help the maintenance personnel of the system or service understand the running state, so as to ensure the stable operation of the system or service. Based on the open-source APM monitoring system (i.e., CAT system), this study proposes a storage design scheme for tracing data. It improves the storage efficiency by memory block which is designed for batch writing logs, and query efficiency by the structure of the two-level index. Through analyzing the real on-line running data, the proposed scheme has sound performance in both write performance and query performance.

    • Microservice Maintainability Measurement Based on Multi-sourced Feature Space

      2021, 32(5):1322-1340. DOI: 10.13328/j.cnki.jos.006235

      Abstract (2465) HTML (2035) PDF 4.37 M (4492) Comment (0) Favorites

      Abstract:Software industrial practices decouple legacy software systems into microservice architectures to improve software maintainability and to achieve faster market delivery. Evaluating microservice code maintainability during the development is a critical issue, facing the difficulties of multi-sourced data and diverse concerns of maintainability. By analyzing source code, code execution trace, and code revision history, a multi-sourced feature space model is proposed to unify the representation of software multi-sourced data. Based on this model, a microservice maintainability measurement system is established with comprehensive metrics, in terms of the concerns of functionality, modularity, modifiability, and interaction complexity. Accordingly, a tool prototype called MicroEvaluator is also implemented, and experimental analysis is carried out on open-source software systems.

    • Self-adaptative Evoluationary Method of Multi-version Coexisting Microservice Systems

      2021, 32(5):1341-1359. DOI: 10.13328/j.cnki.jos.006236

      Abstract (2031) HTML (2794) PDF 2.15 M (4286) Comment (0) Favorites

      Abstract:A microservice-based system is composed of a set of microservices that are developed and deployed independently for agile DevOps. Intensive and iterative adaptations/upgrades of microservices are essential for such systems to adapt to user requirement changes and DevOps, and as a consequence, result in the phenomenon of "multi-version microservice coexistence" in a system. Besides traditional API-based functional dependencies between different microservices, there appear complicated dependencies between different versions of difference microservices, which dramatically deteriorate the maintainability of microservice systems, especially when systems evolve to adapt to user requirement changes and DevOps. To meet this challenge, a version dependency model is proposed for describing the complex dependencies between different versions of microservices, and greedy-based optimization algorithms are developed for generating an optimal evolution plan according to changes in user requirements and DevOps at different scenarios. A programming framework (MF4MS) and cloud-edge based infrastructure (MI4MS) are implemented to facilitate microservice systems to automatically execute the evolution plan. Experiments show that the proposed approach performs well on service down time, service availability, and the developers' cost of DevOps coping with self-adaptation in the situation where complicated version dependencies exist.

    • Convergence Analysis of Belief Propagation Algorithm for Satisfiability Problem

      2021, 32(5):1360-1372. DOI: 10.13328/j.cnki.jos.005844

      Abstract (1105) HTML (1068) PDF 1.26 M (2559) Comment (0) Favorites

      Abstract:Belief propagation (BP) algorithm is a message passing algorithm based on a factor graph, and it passes messages from one node to another through edges in the graph to determine the value of some variables with high probability. This method is experimentally proven to be very effective when solving the satisfiability (SAT) problem. However, there is no explanation for its effectiveness from a theoretical point of view at present. Through the analysis of convergence of the BP algorithm, the effectiveness of the algorithm is explained theoretically. In this study, the sufficient conditions are also derived for convergence of the BP for satisfiability problem, and extending message (0,1) to message (-∞,+∞). Lastly, experimental results show that the conditions for convergence of BP are very effective in random SAT instances, and it proves the correctness of the conclusion.

    • >Review Articles
    • Intelligent Program Synthesis Techniques: Literature Review

      2021, 32(5):1373-1384. DOI: 10.13328/j.cnki.jos.006200

      Abstract (2995) HTML (4151) PDF 458.73 K (5328) Comment (0) Favorites

      Abstract:In recent years, with the rapid development of the information technology, the importance of software is increasing day by day, which greatly promotes the development of economic society. However, in the face of more and more complex business forms and faster and faster demand changes, the cost of software development and maintenance has increased dramatically, so it is necessary to study new technologies and explore new software development models. Large scale software codes and data are accumulated in specific fields in software activities throughout the whole life cycle, and these software assets establish a data base for software intelligent development. At the same time, AI technologies such as deep learning have been successfully applied in many fields, which prompted researchers to consider using the combination of intelligent technology and software engineering technology to solve the problem of automatic program generation. The method of intelligent program synthesis not only realizes the automation of software development process and improves software productivity, but also enables software to have the function of intelligent change with the change of environment and demand, greatly reducing maintenance costs. This study starts from exploring the development process and challenges of software engineering, then the research layout in the field of intelligent software synthesis technology, as well as the advantages and disadvantages of each method are studied. Finally, the intelligent program synthesis technology is summarized in a comparative perspective and suggestions are given for future research.

    • Generating Algorithm for the Behavior Equivalent Process Tree Based on Complete Finite Prefix Unfolding

      2021, 32(5):1385-1403. DOI: 10.13328/j.cnki.jos.006162

      Abstract (1755) HTML (1104) PDF 895.52 K (3119) Comment (0) Favorites

      Abstract:The process tree has both the behavior and the structure of process model, and it is significant on simplifying the complexity of the process model. Existing methods can only transform the block structured process model into process tree. However, it is difficult to transform process model with complex structure into process tree. To solve this problem, a generating algorithm for the behavior equivalent process tree based on complete finite prefix unfolding is proposed. The algorithm is used to transform the process tree in behavior equivalent's process model into behavior equivalent process tree. This algorithm analyzes the process model based on an incomplete prefix unfolding technique and extracts the relationships between process model activities. After analyzing the activity relation, the algorithm reconstructs the process model. The behavior equivalent process tree is constructed through activity relation judgment and the iterative operation of model reconstruction. The validity and feasibility of the proposed algorithm in the generation of behavioral equivalent process tree are verified by experiments on the test model.

    • >Review Articles
    • Survey on Fairness in Trustworthy Machine Learning

      2021, 32(5):1404-1426. DOI: 10.13328/j.cnki.jos.006214

      Abstract (4621) HTML (4490) PDF 1.37 M (8939) Comment (0) Favorites

      Abstract:Artificial intelligence raises legal and ethical issues or risks when used to automated decision-making in areas closely related to daily life. Trustworthy machine learning is the core technology in artificial intelligence safety. It is a trending research direction, of which fairness is an essential aspect. Fairness is the absence of any prejudice or favoritism towards an individual or a group based on their inherent or acquired characteristics which are irrelevant in the particular context of decision-making. A comprehensive and structured overview of three research contents is provided, namely, fair representation, fair modeling, and fair decision-making algorithm. The potential causes and harmful consequences of unfairness are first identified in data and algorithm processing. Then, the abstract definition and primary mechanisms for eliminating unfairness are summarized. The research on fairness is at its early stage in fields such as computer vision, natural language processing, recommender systems, multi-agent systems, and federated learning. Fairness is a prerequisite for the application of machine learning, and constructing fair algorithms has theoretical significance and practical values.

    • Overview and Prospect of Deep Learning for Image Segmentation in Digital Pathology

      2021, 32(5):1427-1460. DOI: 10.13328/j.cnki.jos.006205

      Abstract (4732) HTML (5109) PDF 1.34 M (15676) Comment (0) Favorites

      Abstract:The quantitative analysis of digital pathology images plays a significant role in the diagnosis of benign and malignant diseases such as breast cancer and prostate cancer, in which the morphology measurements of histologic primitives serve as a basis of quantitative analyses. However, the complex nature of digital pathology data, such as diversity, present significant challenges for such segmentation task, which might lead to difficulties in feature extraction and instance segmentation. By converting complex pathology data into minable image features using artificial intelligence assisted pathologist's analysis, it becomes possible to automatically extract quantitative information of individual primitives. Machine learning algorithms, in particular deep models, are emerging as leading tools in quantitative analyses of digital pathology. It has exhibited great power in feature learning with producing improved accuracy of various tasks. This survey provides a comprehensive review of this fast-growing field. Popular deep models are briefly introduced, including convolutional neural networks, fully convolutional networks, encoder-decoder architectures, recurrent neural networks, and generative adversarial networks, and current deep learning achievements in various tasks are summarized, such as detection and segmentation. This study also presents the mathematical theory, key steps, main advantages and disadvantages, and performance analysis of deep learning algorithms, and interprets their formulations or modelings for specific tasks. In addition, the open challenges and potential trends of future research are discussed in pathology image segmentation using deep learning.

    • Survey on Trajectory Representation Learning Techniques

      2021, 32(5):1461-1479. DOI: 10.13328/j.cnki.jos.006210

      Abstract (3215) HTML (4172) PDF 584.14 K (5754) Comment (0) Favorites

      Abstract:The rapid development of location-aware applications and services poses new challenges for trajectory data mining. The raw trajectory data usually consist of ordered sequences of coordinate-timestamp tuple, while many algorithms widely used for data analysis require input data to be in vector space. Therefore, it is an important and necessary step to effectively represent trajectory data from variable-length coordinate-timestamp sequence to a fixed-length vector that maintains the spatial-temporal characteristics of the movement. Most conventional trajectory representation methods are based on feature engineering, in which trajectory representation is usually considered as part of the data preprocessing. With the prevalence of deep learning, the ability of learning from large-scale data endows deep learning-based methods for trajectory representation with more potential and vitality, which achieved better performance compared to traditional methods. This paper provides a comprehensive review of recent progress in trajectory representation and summarizes the trajectory representation methods into two categories according to the different scales:trajectory unit representation and entire trajectory representation. In each category, the methods of different principles are compared and analyzed. Among them, the methods based on trajectory point are emphasized, and also the widely used methods based on neural networks are systematically classified. Besides, the applications related to trajectory representation under each category are introduced. Finally, the future research directions are pointed out in the field of trajectory representation.

    • Cuckoo Search Algorithm with Gravitational Acceleration Mechanism

      2021, 32(5):1480-1494. DOI: 10.13328/j.cnki.jos.006056

      Abstract (1264) HTML (1187) PDF 1.44 M (2728) Comment (0) Favorites

      Abstract:In this paper, a new cuckoo search algorithm with gravitational acceleration search mechanism is presented to address low convergence rate and deteriorated search precision. The algorithm is fundamentally inspired by the fact that gravitational search can also get the global optimal without perceiving the change on the driving effect of external environment. Each of the cuckoo nests exerted on different quality not only follows the Levy flight law but also abides the law of universal gravitation during the process of optimization, which accelerates the convergence significantly due to the intrinsic gravitational attraction between individuals within the cuckoo nests. Furthermore, a new probability mutation approach is formally given to achieve a balance between the global and local search for the proposed algorithm. Consequently, the global convergence efficiency and search precision of the algorithm are significantly enhanced. Via mathematical analysis and 26 benchmark test functions, the proposed agorithm is competitive for the convergence rate and search precision in a comparison with other variants of intelligent optimization algorithm.

    • >Review Articles
    • Research Progress on Attack and Defense Techniques in Block-chain System

      2021, 32(5):1495-1525. DOI: 10.13328/j.cnki.jos.006213

      Abstract (4026) HTML (3363) PDF 781.51 K (9820) Comment (0) Favorites

      Abstract:Blockchain, as an emerging service architecture integrating multi-technology, has attracted extensive attention from the academia and industry due to its decentralization and immutability. However, blockchain is vulnerable to various attacks due to its complex architecture, and the increasing security incidents year by year lead to huge economic losses, which seriously hampers the development and application of blockchain technology. This work studies the architecture, principle, and defenses of existing blockchain attacks from two dimensions of hierarchical classification and attack association analysis. Firstly, the existing blockchain attacks are classified according to the hierarchical structure of the blockchain, the attack principles of these attacks are introduced, and their commonness and characteristics are analyzed. Secondly, some efficient defenses are given based on the analysis and summary of the existing solutions. Finally, this study constructs a comprehensive blockchain defense system based on several blockchain attack clusters summarized by attack association analysis, and prospects the security situation of blockchain in complex service scenarios in the future.

    • Research on Behavior-Prediction for Intelligent Attacks

      2021, 32(5):1526-1546. DOI: 10.13328/j.cnki.jos.006204

      Abstract (2650) HTML (3646) PDF 532.84 K (5471) Comment (0) Favorites

      Abstract:The rapid development and broad application of artificial intelligence have promoted the overall leap in digital technology. However, intelligent attacks based on artificial intelligence technology have gradually become a new type of attack method. Traditional attack protection methods have been far from meeting the requirements of security protection. By predicting the future steps of the attack behavior and deploying targeted defense measures in advance, the opportunities and advantages can be obtained in the confrontation of intelligent attacks and system security is effectively protected. This study first defines the problem domain of behavior-prediction and intelligent attacks and outlines its related research areas. Then it combs the research methods of behavior-prediction for intelligent attacks, and introduces the classification and related work in detail. After that, the principle and mechanism of different types of prediction methods are explained, respectively. Each type's methods are further compared, discussed, and analyzed from the perspective of characteristics and adaptation scope. Finally, the challenges and future directions of intelligent attack behavior-prediction are prospected.

    • Inter-domain Access Control Model Based on Blockchain

      2021, 32(5):1547-1564. DOI: 10.13328/j.cnki.jos.006011

      Abstract (1945) HTML (1872) PDF 2.46 M (3319) Comment (0) Favorites

      Abstract:The emergence of new computing paradigms such as cloud computing, the Internet of Things, and the mobile Internet has increased the need for inter-domain access and data sharing, while at present the "centralized" traditional access control technology have showed opaque of access control policy execution, inflexibility of dynamic data management, low-autonomy of resource owners, these shortcomings make it difficult to satisfy the requirements of access control for new computing paradigms with massive, dynamic, and distributed features, an inter-domain access control model based on ABAC model and blockchain interaction is proposed. This paper introduces the technical principle, characteristics and research status of the ABAC model and blockchain, elaborates the model framework, defines the definition of the ABAC model. At the same time, the smart contract in the model is described in detail, and the application in the specific scenario and the specific access control flow are given. Finally, compared with the existing research solution, this model can provide standardized security, convenient, autonomous, and fine-grained access control for inter-domain access.

    • Gaussian Convolution Angle: Shape Description Invariant for Leaf Image Retrieval

      2021, 32(5):1565-1578. DOI: 10.13328/j.cnki.jos.006015

      Abstract (1866) HTML (1090) PDF 1.61 M (3075) Comment (0) Favorites

      Abstract:Plant leaf image recognition is one of important applications of computer vision and image processing technology to biology and modern agriculture. It is a challenging problem due to the large size of the plant species community and great inter-class similarity, which makes it very difficult to describe the variants between classes of leaf images. In this study, a novel shape description method, Gaussian convolution angle, is proposed for identifying leaf image. For each contour point, its left and right neighborhood vectors are convolved with a Gaussian function respectively to form Gaussian convolution angle. By changing the scale parameter of the Gaussian function, multiscale Gaussian convolution angles are derived to form a feature vector. Combing the feature vectors of all the contour points, a set of feature vectors is built for describing leaf shape. The similarity of the two leaf images can be simply measured by calculating the Hausdorff distance between their feature vector sets. The proposed Gaussian convolution angle descriptor is inherently invariant to translation, rotation, scaling, and mirror transformation which have been theoretically proved in this study. The descriptor also has the excellent characteristics of describing the leaf shape from coarse to fine, which makes it have a strong ability to identify the leaf. Two publicly available leaf image datasets are used to test the performance of the proposed method. The experimental results show that the proposed method outperforms the state-of-the-art methods on leaf image recognition, which indicates the effectiveness of the proposed method.

Current Issue


Volume , No.

Table of Contents

Archive

Volume

Issue

联系方式
  • 《Journal of Software 》
  • 主办单位:Institute of Software, CAS, China
  • 邮编:100190
  • 电话:010-62562563
  • 电子邮箱:jos@iscas.ac.cn
  • 网址:https://www.jos.org.cn
  • 刊号:ISSN 1000-9825
  •           CN 11-2560/TP
  • 国内定价:70元
You are the firstVisitors
Copyright: Institute of Software, Chinese Academy of Sciences Beijing ICP No. 05046678-4
Address:4# South Fourth Street, Zhong Guan Cun, Beijing 100190,Postal Code:100190
Phone:010-62562563 Fax:010-62562533 Email:jos@iscas.ac.cn
Technical Support:Beijing Qinyun Technology Development Co., Ltd.

Beijing Public Network Security No. 11040202500063