Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Junchao Xiao is active.

Publication


Featured researches published by Junchao Xiao.


empirical software engineering and measurement | 2009

The role of software process simulation modeling in software risk management: A systematic review

Dapeng Liu; Qing Wang; Junchao Xiao

Nowadays software projects are still suffering from many problems due to various kinds of software risks. Software risk management is a crucial part of successful project management, but it is often not well implemented in real-world software projects. One reason is that project managers lack effective and practical tools to manage software risks. Software Process Simulation Modeling (SPSM) has been emerging as a promising approach to address a variety of issues in software engineering area, including risk management. However, the current state of how SPSM supports software risk management is not yet clear. This paper presents a systematic literature review which purpose is to obtain the state of the art of the applications of SPSM in software risk management. We drew the following conclusions from the review results: (1) The number of SPSM studies on software risk management is relatively small, but increasing gradually in recent years. (2) SPSM is mainly applied in risk analysis and risk management planning activities. (3) Software risks related to requirements, development process and management process are the ones most studied by SPSM. (4) Discrete-Event Simulation and System Dynamics are two most popular simulation paradigms, while Hybrid simulation methods are more and more widely used. (5) Extend, iThink and Vensim are the most popular simulation tools in SPSM. (6) Most of SPSM approaches and models have not been well applied into real-world risk management practices.


computer software and applications conference | 2013

Analysis of the Key Factors for Software Quality in Crowdsourcing Development: An Empirical Study on TopCoder.com

Ke Li; Junchao Xiao; Yongji Wang; Qing Wang

Crowdsourcing is a distributed problem-solving and production model. It takes advantage of the internet technology, helps enterprises save cost and improve efficiency. However, uncertain quality is a significant challenge for crowdsourcing. On the basis of the existing literatures, this paper proposes 23 software quality factors from two aspects: platform and project. By using multiple regression analysis on the data of one of the most successful software crowdsourcing platforms TopCoder.com, this paper analyzes the impact of the factors on software quality and identifies six key factors, including the average quality score of the platform, the number of contemporary projects, the length of component document, the number of registered developers, the maximum rating of submitted developers, and the design score. According to the result, this paper suggests four aspects for enterprises to improve software quality: choosing the prosperous period of platform to post a project, reducing the scale of projects, attracting more and higher skillful developers to participate, and improving software design score.


fundamental approaches to software engineering | 2010

Dynamic resource scheduling in disruption-prone software development environments

Junchao Xiao; Leon J. Osterweil; Qing Wang; Mingshu Li

Good resource scheduling plays a pivotal role in successful software development projects. However, effective resource scheduling is complicated by such disruptions as requirements changes, urgent bug fixing, incorrect or unexpected process execution, and staff turnover. Such disruptions demand immediate attention, but can also impact the stability of other ongoing projects. Dynamic resource rescheduling can help suggest strategies for addressing such potentially disruptive events by suggesting how to balance the need for rapid response and the need for organizational stability. This paper proposes a multi-objective rescheduling method to address the need for software project resource management that is able to suggest strategies for addressing such disruptions. A genetic algorithm is used to support rescheduling computations. Examples used to evaluate this approach suggest that it can support more effective resource management in disruption-prone software development environments.


international health informatics symposium | 2010

Dynamic scheduling of emergency department resources

Junchao Xiao; Leon J. Osterweil; Qing Wang

The processes carried out in a hospital emergency department can be thought of as structures of activities that require resources in order to execute. Costs are reduced when resource levels are kept low, but this can lead to competition for resources and poor system performance. Careful allocation can improve performance by enabling more efficient use of resources. This paper proposes that resource scheduling be done in a series of dynamic reschedulings that use precise, detailed information about emergency department processes and available department resources to improve the quality of scheduling results. Rescheduling is done over a small set of activities, and uses a genetic algorithm. Simulations are used to evaluate this approach, and results indicate that it can be effective.


symposium on search based software engineering | 2010

Search-based Resource Scheduling for Bug Fixing Tasks

Junchao Xiao; Wasif Afzal

The software testing phase usually results in a large number of bugs to be fixed. The fixing of these bugs require executing certain activities (potentially concurrent) that demand resources having different competencies and workloads. Appropriate resource allocation to these bug-fixing activities can help a project manager to schedule capable resources to these activities, taking into account their availability and skill requirements for fixing different bugs. This paper presents a multi-objective search-based resource scheduling method for bug-fixing tasks. The inputs to our proposed method include i) a bug model, ii) a human resource model, iii) a capability matching method between bug-fixing activities and human resources and iv) objectives of bug-fixing. A genetic algorithm (GA) is used as a search algorithm and the output is a bug-fixing schedule, satisfying different constraints and value objectives. We have evaluated our proposed scheduling method on an industrial data set and have discussed three different scenarios. The results indicate that GA is able to effectively schedule resources by balancing different objectives. We have also compared the effectiveness of using GA with a simple hill climbing algorithm. The comparison shows that GA is able to achieve statistically better fitness values than hill-climbing.


ICSP '09 Proceedings of the International Conference on Software Process: Trustworthy Software Development Processes | 2009

Value-Based Multiple Software Projects Scheduling with Genetic Algorithm

Junchao Xiao; Qing Wang; Mingshu Li; Qiusong Yang; Lizi Xie; Dapeng Liu

Scheduling human resources to multiple projects under various resource requirements, constraints and value objectives is a key problem that many software organizations struggle with. This paper gives a value-based human resource scheduling method among multiple software projects by using a genetic algorithm. The method synthesizes the constraints such as those of schedule and cost as well as the value objectives among different projects, and also the construction of comprehensive value function for evaluating the results of human resource scheduling. Under the guidance of value function, capable human resources can be scheduled for project activities by using the genetic algorithm and make the near-maximum value for organizations. Case study and the simulation results show that the method can perform the scheduling and reflect the value objectives of different projects effectively, and the results provide a concrete decision support for project managers.


international conference on software maintenance | 2008

A constraint-driven human resource scheduling method in software development and maintenance process

Junchao Xiao; Qing Wang; Mingshu Li; Ye Yang; Fan Zhang; Lizi Xie

Software processes are highly people-dependent and knowledge transfer-centric compared to traditional manufacturing processes. Different people are responsible for different types of knowledge transformation according to the skill set and expertise they master. This adds a great deal of complicated factors in resolving the scheduling problem in software development and maintenance process planning. The existing human resource scheduling methods do not take into account the differences between human resource capabilities and capacities in processes execution. This paper presents a constraint-driven human resource scheduling method in software development and maintenance process. A constraint model is set up based on the software process model and human resource model. A constraint-driven scheduling method is provided to realize the optimal human resource scheduling in software development and maintenance process. The method can be used in the mature organizations whose human resources have the determinate capabilities. It provides the excellent decision support to the project manager.


international conference on software and system process | 2013

Search based risk mitigation planning in project portfolio management

Junchao Xiao; Leon J. Osterweil; Jie Chen; Qing Wang; Mingshu Li

Software projects are always facing various risks. These risks should be identified, analyzed, prioritized, mitigated, monitored and controlled. After risks are identified and analyzed, resources must then be devoted to mitigation. However, risk prioritization and mitigation planning are complicated problems. Especially in project portfolio management (PPM), resource contention among projects leads to difficulty in choosing and executing mitigation actions. This paper introduces a search based risk mitigation planning method that is useful in PPM. It integrates the analysis of risks, consideration of available resources, and evaluation of possible effects when taking risk mitigation actions. The method uses a genetic algorithm to search for the risk mitigation plan of optimal value. A case study shows how this method can identify effective risk mitigation plans, thus providing useful decision support for managers.


Empirical Software Engineering | 2016

Perspectives on refactoring planning and practice: an empirical study

Jie Chen; Junchao Xiao; Qing Wang; Leon J. Osterweil; Mingshu Li

Iterative development increasingly seeks to incorporate design modification and continuous refactoring in order to maintain code quality even in highly dynamic environments. However, there does not appear to be consensus on how to do this, especially because research results seem to be inconsistent. This paper presents an empirical study based upon an industry survey of refactoring practices and attitudes. The study explored differences in attitudes about refactoring among participants who played roles in software development, and how these different attitudes affected actual practice. The study found strong agreement among all roles about the importance of refactoring, and agreement about the negative effects upon agility of deferring refactoring. Nevertheless, the survey found that roles had different perspectives on the different kinds of tasks in an agile process. Accordingly, there was no universally agreed-upon strategy for how to plan to carry out refactoring. Analysis of the survey results has raised many interesting questions suggesting the need for a considerable amount of future research.


ICSP'10 Proceedings of the 2010 international conference on New modeling concepts for today's software processes: software process | 2010

Disruption-driven resource rescheduling in software development processes

Junchao Xiao; Leon J. Osterweil; Qing Wang; Mingshu Li

Real world systems can be thought of as structures of activities that require resources in order to execute. Careful allocation of resources can improve system performance by enabling more efficient use of resources. Resource allocation decisions can be facilitated when process flow and estimates of time and resource requirements are statically determinable. But this information is difficult to be sure of in disruption prone systems, where unexpected events can necessitate process changes and make it difficult or impossible to be sure of time and resource requirements. This paper approaches the problems posed by such disruptions by using a Time Window based INcremental resource Scheduling method (TWINS). We show how to use TWINS to respond to disruptions by doing reactive rescheduling over a relatively small set of activities. This approach uses a genetic algorithm. It is evaluated by using it to schedule resources dynamically during the simulation of some example software development processes. Results indicate that this dynamic approach produces good results obtained at affordable costs.

Collaboration


Dive into the Junchao Xiao's collaboration.

Top Co-Authors

Avatar

Qing Wang

Chinese Academy of Sciences

View shared research outputs
Top Co-Authors

Avatar

Mingshu Li

Chinese Academy of Sciences

View shared research outputs
Top Co-Authors

Avatar

Lizi Xie

Chinese Academy of Sciences

View shared research outputs
Top Co-Authors

Avatar

Qiusong Yang

Chinese Academy of Sciences

View shared research outputs
Top Co-Authors

Avatar

Leon J. Osterweil

University of Massachusetts Amherst

View shared research outputs
Top Co-Authors

Avatar

Dapeng Liu

Chinese Academy of Sciences

View shared research outputs
Top Co-Authors

Avatar

Jian Zhai

Chinese Academy of Sciences

View shared research outputs
Top Co-Authors

Avatar

Lei Zhang

Chinese Academy of Sciences

View shared research outputs
Top Co-Authors

Avatar

Jie Chen

Chinese Academy of Sciences

View shared research outputs
Top Co-Authors

Avatar

Yongji Wang

Huazhong University of Science and Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge