Currently, our research group mainly applies empirical methods in the research of software engineering and technology. The specific research directions include:

Empirical Software Engineering

Empirical Software Engineering plays an important role in Software Engineering Research. Our group focuses on the research of emprical software engineering methodology, and achieve some outcomes over the data sources, data collection methods, data synthesis methods and so on.

DevOps & Security

Emerging from the agile culture, DevOps particularly emphasizes development and deployment speed to achieve rapid value delivery, which however brings some security risks to the software development process. DevSecOps is an extension of DevOps, which is considered as a means to intertwine development, operation and security. Based on the core idea of DevSecOps, DevOps+ Research Laboratory conduct a comprehensive survey to investigate the state-of-the-practice of DevSecOps. We devote ourselves to promote the adoption of DevSecOps from aspects of culture, technology and process.

Blockchain

Blockchain is currently a technical field highly valued by the country and has good application prospects at home and abroad. DevOps+ Research Laboratory focuses on the research of empowering blockchain-based software systems through software engineering methods and practices and has achieved important phased results, e.g., a catalog of architecture design tactics for blockchain-based supply chain applications, a technique for smart contract microservitization, and a survey about high-performance cross-chain mechanisms for the interoperability of heterogeneous blockchains. We aim to help to increase the production capacity of enterprises using blockchain from the theoretical and technical aspects.

Software Security Threat Modeling

The research direction is software security threat modeling, including automatic identification of security threats, threat processing and solving, security test design, etc., to ensure system security. At the same time, threat modeling for DevOps is also researched to improve the quality and speed of threat modeling, adapt to the new development mode, and ensure system security to the maximum extent in the continuous iterative requirements. The project that our group cooperates with the industry is CCF-HUAWEI project, which not only researches and innovates, but also applies in the industry.

Big Data Analysis

Modern software development has generated a large quantity and variety of data. The use of Big Data Analytics techniques (e.g., mathematical statistics, machine learning) is beneficial for development efficiency, product quality, and business expansion. It is also helpful for management and decision-making. Big Data Analytics (BDA) group has continuously studied the state-of-the-art and state-of-the-practice of software engineering. The group has provided Internet and ICT companies with solutions for data collection, evaluation, and governance. Results and findings have been validated by domain experts and have been published in academic journals and patent applications. Join us if you are interested in applying data science to solve software engineering challenges.

Software Process

The software process is a series of software engineering practice combinations established to achieve the goals of controlling software development costs, improving software quality, and achieving on-schedule delivery. With the continuous increase of software scale and deposited software process data, software process management has become more and more important. Our software process group has long-term research on software process modeling, software process mining, software process improvement, software process quality measurement, software process data governance and other related work. Through the combination of theory and practice, the work related to software process simulation modeling has been published in leading international software process conferences for many years, and it has been put into practice in famous domestic IT companies.

Software Architecture

Software architecture is the cornerstone of the development and maintenance of software systems, and an important research field of software engineering. In this field, DevOps+ Laboratory focuses on the guidance on migrating to microservices architecture especially the determination of microservices boundaries based on data-driven methods and domain-driven design, and the evolution of microservices architecture through identifying and refactoring architectural smells in microservices. We have achieved important research results in the aspects of microservice decomposition and the supports for domain-driven design, which provides a solid theoretical and technological basis for high-quality microservices architecture design.

Engineering

Our group focuses on improving the process of software engineering research.