Real-time collaborative programming is an emerging approach that supports a team of programmers to view and edit shared source code at the same time. Each programmer can edit any part of the source code, and changes become instantly visible at other collaborating sites. With a broad range of application scenarios and benefits, real-time collaborative programming has attracted increasing interest from academia and industry. Lightweight integrated development environments (lightweight IDEs) have rapidly grown in popularity in the recent years, but there are serious problems and limitations with existing real-time collaboration support for lightweight IDEs. In this study, we contribute a novel real-time collaborative programming environment named CoVSCode that supports unconstrained and flexible real-time collaboration based on Visual Studio Code, one of the most popular and widely used lightweight IDEs. We present design objectives and rationales, the workflow and functional design from collaborating programmers’ perspectives, major technical issues and solutions, and prototype implementation, as well as a set of experimental evaluations that have demonstrated the technical feasibility and good performance of the prototype system. All approaches, techniques and solutions derived in this work are generic, which can also be applied in building real-time collaborative programming environments for other lightweight IDEs.
23 July 2019 in IEEE Transactions on Industrial Informatics
With the rapid development of industrial IoT (IIoT), a large number of embedded devices, such as sensors and tag readers, have been widely deployed for gathering and sending data. These devices are commonly unreliable and vulnerable to many threats, because they are located in unattended areas which are vulnerable to device capture attacks. Such environments can be regarded as white-box attack contexts, in which the adversary has total visibility and full control of the implementations. White-box cryptography (WBC) aims to protect implementations of symmetric encryption algorithms in white-box attack contexts. Unfortunately, existing WBC schemes are vulnerable to various attacks, and most of them are insufficiently secure in strict white-box attack contexts. Based on the investigation of existing designs and the corresponding cryptanalysis, we propose a novel design approach for securing WBC schemes, which is named state dependent selectable random substitutions (SDSRS). It uses state-dependent selectable random substitutions to defeat various related white-box cryptanalytic approaches. With special considerations for IIoT systems such as high performance for supporting real-time applications and small block size for fitting industrial protocols, a concrete WBC scheme designed with the proposed approach has been provided. Our theoretical analysis shows that the proposed scheme is secure. Additionally, experimental results indicate that the scheme performs well in practice, and it is significantly efficient in time and energy consumptions compared with existing secure white-box cryptographic schemes.
Pansharpening aims at fusing the rich spectral information of multispectral (MS) images and the spatial details of panchromatic (PAN) images to generate a fused image with both high resolutions. In general, the existing pansharpening methods suffer from the problems of spectral distortion and lack of spatial detail information, which might prevent the accuracy computation for ground object identification. To alleviate these problems, we propose a Hybrid Attention mechanism-based Residual Neural Network (HARNN). In the proposed network, we develop an encoder attention module in the feature extraction part to better utilize the spectral and spatial features of MS and PAN images. Furthermore, the fusion attention module is designed to alleviate spectral distortion and improve contour details of the fused image. A series of ablation and contrast experiments are conducted on GF-1 and GF-2 datasets. The fusion results with less distorted pixels and more spatial details demonstrate that HARNN can implement the pansharpening task effectively, which outperforms the state-of-the-art algorithms.
Signcryption is a cryptographic technique for simultaneously performing both digital signature and data encryption. It is effective for protecting the confidentiality and unforgeability of communications in Internet of Things (IoT) systems, especially when a number of generated ciphertexts can be aggregated into a compact form. However, device capture attacks are commonly threatening the implementations of signcryption on unattended devices by enabling an attacker to extract the cryptographic key from a captured device. Motivated by this issue, we propose a novel and specialized obfuscatable aggregatable signcryption scheme (OASC) together with an obfuscator for the signcryption algorithm, which has been designed by taking into account that the computational and communication costs should be sufficiently small (light-weighted) to fit applications in resource-constrained embedded devices. The proposed obfuscator can protect signcryption programs from key-extraction attacks by transforming the programs into unintelligible obfuscated programs. To the best of our knowledge, this is the first OASC in the community. The scheme's security features with respect to obfuscation, confidentiality, and unforgeability have been theoretically proved. Moreover, in comparison with other (nonobfuscatable) aggregatable signcryption schemes, the scheme's computational efficiency is positioned at a medium level while the communication cost is also relatively small, with extra unique security features benefiting from obfuscation. Experiments on different devices indicated that the proposed scheme performs reasonably well as expected. The scheme is widely applicable for various scenarios of IoT, where information is sent from unattended leaf nodes to a sink point.
Real-time collaborative programming environments support a team of programmers to edit the same shared source code document concurrently over communication networks. This paper presents the design and implementation of a novel real-time collaborative programming system named CoEclipse, which transparently converts the single-user Eclipse IDE into a multi-user real-time collaborative programming tool, incorporates and integrates syntactic and semantic consistency maintenance techniques derived from our prior work, and provides advanced awareness features for supporting semantic conflict prevention. The novelties of CoEclipse include its full compatibility with existing single-user programming environments in terms of user interfaces and working processes, seamless integration of syntactic and semantic consistency maintenance features, and providing complementary approaches of awareness and locking in collectively supporting semantic conflict prevention. Furthermore, the CoEclipse approach in supporting advanced real-time collaboration is generic, which can be applied to other application domains for achieving similar design objectives and rationales.
Operational Transformation (OT) is commonly used for conflict resolution in real-time collaborative applications, but none of existing OT techniques is able to solve a special type of conflict - orthogonal conflict, which may occur when concurrent operations are inserting/deleting an arbitrary number of objects in different dimensions of a two-dimensional (2D) workspace, such as spreadsheet documents. This paper is the first to identify and solve the orthogonal conflict problem by extending OT with a new capability of resolving 2D conflicts. Extending OT from one- to two-dimensional conflict resolution is fundamental to the theory and application of OT, and technically challenging as well because 2D orthogonal conflict is different from but intimately related to the one-dimensional positional shifting conflict and necessitates new and integral solutions for multi-dimensional conflicts. In this paper, we present formal definitions of orthogonal conflict, pseudo-code description, design rationale analysis, and correctness verification and complexity analysis of the 2DOT solution.