About
190
Publications
34,415
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
777
Citations
Introduction
Additional affiliations
June 1998 - present
June 1998 - present
Agent-oriented software engineering Lab
Position
- Professor (Full)
Education
May 1995 - June 1998
September 1992 - March 1995
Publications
Publications (190)
The reputation mechanism is a commonly used incentive mechanism to motivate users to participate in Q&A communities, which needs to be carefully reviewed before application. Predicting the impact of reputation mechanisms can help community managers to choose an appropriate mechanism. However, existing methods are difficult to establish the connecti...
Transformers are now widely utilized in code intelligence tasks. To better fit highly structured source code, various structure information is passed into Transformer, such as positional encoding and abstract syntax tree (AST) based structures. However, it is still not clear how these structural features affect code intelligence tasks, such as code...
Incentive mechanisms steer users in Q&A communities to achieve community goals, which need to be cautiously reviewed and revised before actual industrial application. Simulating incentive mechanisms is significant for predicting how changes in incentive mechanisms will affect community emergence, such as user answering patterns. However, due to the...
Context
Just-in-time defect prediction (JITDP) leverages modern machine learning models to predict the defect-proneness of commits. Such models require adequate training data, which is unavailable in projects with short histories. To address this problem, cross-project methods reuse the data or models in other projects to make predictions, grounded...
In real-world scenarios, reinforcement learning under sparse-reward synergistic settings has remained challenging, despite surging interests in this field. Previous attempts suggest that intrinsic reward can alleviate the issue caused by sparsity. In this paper, we present a novel intrinsic reward that is inspired by human learning, as humans evalu...
The sparsity of extrinsic rewards poses a serious challenge for reinforcement learning (RL). Currently, many efforts have been made on curiosity which can provide a representative intrinsic reward for effective exploration. However, the challenge is still far from being solved. In this paper, we present a novel curiosity for RL, named DyMeCu, which...
Nowadays, autonomous robots are increasingly accomplishing tasks in the dynamic world where environment states may change unexpectedly and be partially observable. The robot tasks in dynamic environments generally expect the robot to continuously deliberate upon the task goal while effectively obtaining environmental information with sensor and act...
Pull-based development has become an important paradigm for distributed software development. In this model, each developer independently works on a copied repository (i.e., a fork) from the central repository. It is essential for developers to maintain awareness of the state of other forks to improve collaboration efficiency. In this paper, we pro...
Microservice architecture is a dominant architec-tural style in SaaS industry, which helps to develop a singleapplication as a collection of independent, well-defined, and inter-communicating services. The number of microservice-relatedquestions in Q&A websites, such as Stack Overflow, has ex-panded substantially over the last years. Due to its inc...
Docker containers are being widely used in large-scale industrial environments. In practice, developers must manually specify the base image in the dockerfile in the process of container creation. However, finding the proper base image is a nontrivial task because manually searching is time-consuming and easily leads to the use of unsuitable base i...
To encourage developers' volunteer contributions, modern programming question and answer (Q&A) sites like Stack Overflow (SO) employ gamified incentive mechanisms such as reputation and badges. Understanding developers' motivations in the presence of gamification and the relationship between their motivations and behavioral outcomes is crucial for...
In the real world, robot task plans may easily become invalid due to unexpected state dynamics, preventing the robot from accessing the complete task-relevant information. The possible occurrence of information incompleteness during robot plan execution expects the robot to sense the environment and obtain the missing information actively. A set of...
Autonomous robots that execute plans in real-world environments may easily get failed due to unexpected environment dynamics. For robust plan execution, a great number of plan execution monitoring works has been proposed to estimate plan execution effects and make recovery plans for any detected plan failures. However, most works have assumed the f...
Behavior Trees (BTs) have received increasing popularity in the robotics community, serving as an efficient way of modeling robot behavior and structuring behavior interactions. Utilizing automated planning with BT task-level robot control has been proven efficiently reactive to environment dynamics, allowing iterative expansion of BT action nodes...
Communication and coordination between open source software (OSS) developers who do not work physically in the same location have always been the challenging issues. The pull-based development model, as the state-of-the-art collaborative development mechanism, provides high openness and transparency to improve the visibility of contributors’ work....
Modern programming question & answer (Q&A) sites such as Stack Overflow (SO) employ gamified mechanisms to stimulate volunteers' contributions. To maximize the chances of winning gamification rewards such as reputation and badges, a portion of users race to post answers as quickly as possible (i.e., fast answers or FAs), which makes SO the fastest...
Stack Overflow is the most popular programming question and answer community that continuously receives a large number of questions every day. To ensure the quality of questions, the community grants privileges for the moderators and a group of experienced users to review the quality of questions and close the low-quality ones (e.g. duplicate or ir...
It is difficult for swarm robots to allocate tasks efficiently by self-organization in a dynamic unknown environment. The computational cost of swarm robots will be significantly increased for large-scale tasks, and the unbalanced task allocation of robots will also lead to a decrease in system efficiency. To address these issues, we propose a dyna...
Cross-community collaboration can exploit the expertise and knowledges of crowds in different communities. Recently increasing users in open source software (OSS) community like GitHub attempt to gather software requirements from question and answer (Q&A) communities such as Stack Overflow (SO). In order to investigate this emerging cross-community...
Cross-community collaboration can exploit the expertise and knowledges of crowds in different communities. Recently increasing users in open source software (OSS) community like GitHub attempt to gather software requirements from question and answer (Q&A) communities such as Stack Overflow (SO). In order to investigate this emerging crosscommunity...
To enhance training in software development, we argue that students of software engineering should be exposed to software development activities early in the curriculum. This entails meeting the challenge of engaging students in software development before they take the software engineering course. In this paper, we propose a method to connect cour...
Yao Lu Xinjun Mao Tao Wang- [...]
Zude Li
College students majoring in computer science and software engineering need to master skills for high-quality programming. However, rich research has shown that both the teaching and learning of high-quality programming are challenging and deficient in most college education systems. Recently, the continuous inspection paradigm has been widely used...
In mobile robotic control models, control parameters are always generated by sensors’ information and a set of Impact Factors (IFs, such as the P-value in the PID model). The IFs take forms of fixed coefficients in control models and need to be pre-defined at design-time. However, when operating in an open environment, IFs of the control model are...
To ensure the internal code quality of contributions in open source software (OSS) communities, static analysis tools (e.g. Code Climate and SonarQube) have been integrated into the modern pull-based workflow for detecting code quality issues (CQIs). Automated CQI fixing is conducive to improve the efficiency of converging massive contributions. In...
In recent years, GitHub, the most popular social coding site, has been increasingly employed for managing learning content, sharing knowledge, imparting experience, and requesting and contributing learning resources in a crowdsourced way. We thus refer to this type of e-learning practices in which people perform learning-related tasks with open cal...
Location-based services (LBSs) have increasingly provided by a broad range of devices and applications, but one associated risk is location disclosure. To solve this problem, a commonly method is to adopt K-anonymity in the centralized architecture based on a single trusted anonymizer. However, this strategy may compromise user privacy involving co...
A multi-robot system in resource-constrained environments needs to obtain resources for task execution. Typically, resources can be fetched from fixed stations, which, however, can be costly and even impossible when fixed stations are unavailable, depleted or distant from task execution locations. We present a method that allows robots to acquire u...
In diverse and self-governed multiple clouds context, the service management and discovery are greatly challenged by the dynamic and evolving features of services. How to manage the features of cloud services and support accurate and efficient service discovery has become an open problem in the area of cloud computing. This paper proposes a field m...
Based on connectivism pedagogy crowd-based education provides a practical method to extensively exploit wisdoms of core learners in education organization and external crowds on Internet. However, when applying such a method in education field, several design questions about why, what, when, who, where and how to adopt such method should be clarifi...
Certain open issues challenge the software engineering of autonomous robot software (ARS). One issue is to provide enabling software technologies to support autonomous and rational behaviours of robots operating in an open environment, and another issue is the development of an effective engineering approach to manage the complexity of ARS to simpl...
Rich research has shown that both the teaching and learning of high-quality programming are challenging and deficient in most colleges' education systems. Recently the continuous inspection paradigm has been widely used by developers on social coding sites (e.g., GitHub) as an important method to ensure the internal quality of massive code contribu...
Spatial formations of swarm robots are increasingly applied in many domains in which the environments are dynamic and unpredictable. The autonomy of the individual robots and decentralization of the entire system increase the complexity of the response to environmental changes, which could prolong the formation convergence and significantly increas...
Yao Lu Xinjun Mao Zude Li- [...]
Gang Yin
For popular open-source software projects, there are always a large number of worldwide developers who have been glued to making code contributions, while most of these developers play the role of casual contributors because of their very limited code commits. The frequent turnover of such a group of developers and the wide variations in their codi...
Agent-oriented programming (AOP) represents a novel programming paradigm that adopts concepts and technologies of multi-Agent system to implement software. It has gained great attentions of researchers and practitioners from both artificial intelligence field and software engineering field. Dozens of AOP languages have been proposed in the past two...
The decision and execution of autonomous robot behaviors highly depend on constant perceiving of the situated environment, in order to respond to various changes. Existing control architectures for robot software generally follow a sequential sense-model-plan-act (SMPA) architecture, in which the sensing activity only interacts with the modelling a...
Yao Lu Xinjun Mao Gang Yin- [...]
Yu Bai
The pull-based development model is an emerging way of contributing to distributed software projects within the Open Source Software (OSS) communities. To train students’ development skills with this modern paradigm and evaluate the effects in classroom settings, we designed a pull-based development model in classroom settings. In addition, we buil...
Online learning platform, which has taken higher education by storm, provides an opportunity to track students’ learning behaviors. The vast majority of educational data mining research has been carried out based on the online learning platform in Europe and America but few of them use the data from programming courses with large scale. In this pap...
Development of self-adaptive systems situated in open and uncertain environments is a great challenge in the community of software engineering due to the unpredictability of environment changes and the variety of self-adaptation manners. Explicit specification of expected changes and various self-adaptations at design-time, an approach often adopte...
Software of autonomous robot is a complex physical and social technical system that is context-aware, autonomous and capable of self-management to achieve tasks. It typically consists of a large amount of autonomous entities and interactions. To develop such system needs high-level metaphors and effective mechanisms independent of physical and tech...
With the rapid development and application of cloud computing, there exist plenty of clouds that are distributed on the open Internet, decentralized in the management, evolving with various services providing diverse functionalities and QoS. Moreover, because of the potential correlativity of cloud services and the dynamic of tenants' requirements,...
Development of self-adaptive systems situated in open and uncertain environments is a great challenge in the community of software engineering due to the unpredictability of environment changes and the variety of self-adaptation manners. Explicit specification of expected changes and various self-adaptations at design-time, an approach often adopte...
Abstract—Can software maintainability be assessed at the early design stage? For a preliminary answer, we conducted a case study. The study adopts a set of metrics for class diagram measurement, and defines three indices for maintainability assessment from the defect-correction perspectives. The dataset under investigation includes the defect repos...
A robot is a typical cyber-physical system whose behaviors are driven and controlled by software which are highly related with robot safety. In order to ensure the safety of robot behaviors, programmers need to embed safety logic into the programs in charge of behaviors. This paper proposes an AOP-based robot behaviors safety checking method to ens...
Today's Internet-based service systems tend to run in open environments and try to satisfy varying requirements. In the context, the changes of requirements and environments can emerge at any point of their life cycle, and their runtime variability is supposed to be evolvable to deal with the changes. In other words, the number, type or attribute o...
Social propagation issue that appears in both the real world and the cyberspace recently gains great attentions in several communities. It typically is involved with a great number of autonomous participated individuals and their local interactions, and may arise global emergent behaviors or properties. It is therefore necessary to investigate what...
The advent and successful practices of software crowdsourcing needs to investigate its in-depth essence and seek effective technologies to support its activities and satisfy increasing requirements. We highlight crowdsourcing participants consist of a multi-agent system and software crowdsourcing is a multi-agent problem-solving process. This paper...
Cloud services in dynamic and open Internet environment are typically decentralized, evolving, and heterogeneous. To satisfy the dynamic application demands and to respond to the continuous changes of the cloud environment, cloud services need to be provided and managed in a flexible and adaptive way. Aiming to address the challenge, this paper pro...
In order to select effective policies for emergency management in a timely manner, this paper proposes an agile and lightweight social computing approach to facilitating policy selection, evaluation, and adjustment relative to emergency management in both quantitative and qualitative ways. The approach consists of three components represented as PZ...
The services in open and dynamic Cloud Computing environments are often decentralized, evolving and are cross-organized. Efficient management of the Cloud resources for the improvement of the quality and efficiency of the service provisions is still being a continuous challenge in Cloud domain. To this end, this paper proposes a self-management app...
With the emergence and popularization of open distributed software system, it shows some new characteristics, such as the heterogeneity and openness of the environment, the autonomy and heterogeneity of system members, the distribution and hierarchical of the system itself as well as having the characteristics of social organization. So, it brings...
Agent-Oriented programming (AOP) is inspired from the concepts and metaphors of multi-agent systems and borrows agent theory and technology to construct software systems. It represents a novel programming paradigm because its method, model, theory, and language are actually different from ones of existing mainstream programming technologies like OO...
In the construction of dynamic and open multi-agent systems, several issues in existing agent-oriented programming should be solved including a lack of high-level abstraction, a great gap between the implementation and design models, insufficient execution mechanism and programming constructs to support dynamics. To deal with these issues, this pap...
Today’s Internet-based service systems tend to run in open environments and try to satisfy varying requirements. In the context, the changes of requirements and environments can emerge at any point of their life cycle, and their runtime variability is supposed to be evolvable to deal with the changes. In other words, the number, type or attribute o...
The services over Internet are often dynamic, evolving and growing due to the changes of the requirements and operating contexts. Therefore, it is necessary to effectively manage the dynamics of services in order to support flexible, efficient, and transparent services access for applications at run-time. This paper proposes an agent-based technica...