Xiaobing Sun

Xiaobing Sun
Yangzhou University · Department of Computer Science

Ph.D

About

119
Publications
28,022
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
1,619
Citations
Introduction
Xiaobing Sun is a professor in School of Information Engineering at Yangzhou University. He joined School of Computer Science & Engineering at Southeast University, and received his Ph.D in 2012. His research interests include software maintenance and evolution, software repository mining and intelligence analysis, etc. He has been authorized more than 20 patents, and published more than 80 papers in international journals (STVR, IST, JSS, etc.) and conferences (ICSE, ASE, ICPC, etc.).
Additional affiliations
July 2012 - present
Yangzhou University
Position
  • Professor (Associate)
September 2007 - June 2012
Southeast University (China)
Position
  • PhD
Education
February 2009 - June 2012
Southeast Univesity, China
Field of study
  • Software maintainance and evolusion

Publications

Publications (119)
Article
Full-text available
Bug localization is an important field in software engineering research. The traditional bug localization approaches based on information retrieval separate words through lexical analysis. In this way, the comments of the source code are ignored or treated as plain text, which will lose some semantic information. In this paper, MBL_SHL, an automati...
Article
Full-text available
During the bug fixing process, developers usually analyze the historical relevant bug reports in bug repository to support various bug analysis and fixing activities. There are rich semantics and relationships in the bug reports, which can be helpful for bug retrieval, recommendation, and repair. In this paper, our purpose is to quickly extract eff...
Preprint
Memory-related vulnerabilities constitute severe threats to the security of modern software. Despite the success of deep learning-based approaches to generic vulnerability detection, they are still limited by the underutilization of flow information when applied for detecting memory-related vulnerabilities, leading to high false positives. In this...
Article
Full-text available
When a new bug report is assigned to developers, they first need to understand what the bug report expresses (what) and why this bug occurs (why). To do so, developers usually explore different bug related data sources to investigate whether there are historical bugs with similar symptoms and causes related to the bug at hand. Automatic bug classif...
Article
Security bugs can catastrophically impact our increasingly digital lives. Designing effective tools for detecting and fixing software security bugs requires a deep understanding of security bug characteristics. In this paper, we conducted a comprehensive study on security bugs and proposed the classification criteria for security bug category, that...
Article
The spreading of negative influence, such as epidemic, rumor, false information and computer virus, may lead to serious consequences in social networks. The issue of negative influence blocking maximization arouses intense interest of the researchers. However, in the real world social network environment, the exact source of negative influence is u...
Article
Full-text available
Web services are middleware designed to support the interoperation between different software systems and devices over the Web. Today, we encounter a variety of situations in which services deployed on the Internet of things (IoT), such as wireless sensor networks, ZigBee networks, and mobile edge computing frameworks, have become a widely used inf...
Article
Pulmonary Tuberculosis is a plague caused by Mycobacterium tuberculosis or Tubercle bacillus, which kills 1.8 million people worldwide. Tuberculosis is among the top 10 deadly diseases. It can be life-threatening if it does not diagnose at the initial stage. This study identifies Tuberculosis from chest X-ray images, utilizing image preprocessing t...
Article
Full-text available
Web development usually follows with analyzing the functionality, designing the user interface (UI) prototype, implementing the UI by front‐end (FE) developers and implementing the REpresentational State Transfer (RESTful) application programming interface (API) by back‐end (BE) programmers. Unfortunately, web development is a tedious, cumbersome,...
Article
Software bugs are ubiquitous in the process of software development and evolution. To accelerate bug fixing, developers need to quickly obtain bug information and understand the bugs at hand. Many existing approaches often do not try to understand the semantic information of bug data and just directly use keyword matching techniques to obtain more...
Article
Context Previous studies have shown that existing deep learning-based approaches can significantly improve the performance of vulnerability detection. They represent code in various forms and mine vulnerability features with deep learning models. However, the differences of code representation forms and deep learning models make various approaches...
Article
During the bug fixing process, developers usually need to analyze the source code to induce the bug cause, which is useful for bug understanding and localization. The bug fixes of historical bugs usually reflects the bug causes when fixing them. This paper aims at exploiting the corresponding relationship between bug causes and bug fixes to automat...
Article
There is a large volume of bug data in the bug repository, which contains rich bug information. Existing studies on bug data mining mainly rely on using information retrieval (IR) technology to search relevant historical bug reports. These studies basically treat a bug report as a closed unit, ignoring the semantic and structural information within...
Article
Full-text available
Currently, with the growth of the Internet of Things devices and the emergence of massive edge resources, security protection content has not only empowered IoT devices with the accumulation of networked computing and storage as a flexible whole but also enabled storing, transferring and processing DIKW (data, information, knowledge, and wisdom) co...
Article
Context Software defect prediction is important to ensure the quality of software. Nowadays, many supervised learning techniques have been applied to identify defective instances (e.g., methods, classes, and modules). Objective However, the performance of these supervised learning techniques are still far from satisfactory, and it will be importan...
Article
Current trend of shifting computing from centralized Cloud to Edge has not only empowered huge amount of IoT devices with the capability of the accumulation of individualized computing and storage as a flexible whole, but also brought along new privacy challenges originating in emerging new usage requests on the accumulated content or resources fro...
Article
Version issues are becoming more and more prominent with the continuous development of software. Bug localization for version issues is time-consuming and labor-intensive. Although some bug localization techniques such as those based on information retrieval (IR) have been proposed, they cannot handle these bugs very well as version-related bugs ha...
Article
Given a new feature request during software evolution, developers are used to employing existing third-party libraries and APIs for implementation. However, it is usually non-trivial to find suitable APIs and to decide where to use these APIs in the original software. In this paper, we develop an approach for recommending API methods and usage loca...
Article
Searching source code is a commonly activity in many software engineering tasks. To some extent, the quality of the query determines the accuracy of query results. In practice, it is difficult for developers to provide a high-quality query, especially for the novice who just takes over the software project with a short time. What’s more, existing c...
Article
Full-text available
Software change impact analysis (CIA) is a key technique to identify the potential ripple effects of the changes to software. Coarse-grained CIA techniques such as file, class and method level techniques often gain less precise change impacts, which are difficult for practical use. Fine-grained CIA techniques, such as slicing, can be used to gain m...
Chapter
Internet resources are non-deterministic, non-guaranteed and ultra-complex. We provide a progressive search approach towards problems with positive and negative tendencies aiming at improving the credibility of resources through multi times progressive searching. Meanwhile, we introduce Knowledge Graph as a resource process architecture to organize...
Article
Full-text available
Wide application of the Internet of Things (IoT) system has been increasingly demanding more hardware facilities for processing various resources including data, information, and knowledge. With the rapid growth of generated resource quantity, it is difficult to adapt to this situation by using traditional cloud computing models. Fog computing enab...
Conference Paper
Software bug issues are unavoidable in software development and maintenance. In order to manage bugs effectively, bug tracking systems are developed to help to record, manage and track the bugs of each project. The rich information in the bug repository provides the possibility of establishment of entity-centric knowledge bases to help understand a...
Article
GitHub is a software development platform that facilitates collaboration and participation in project development. Typically, developers search for relevant projects in order to reuse functions and identify useful features. Recommending suitable projects for developers can save their time. However, finding suitable projects among many projects on G...
Article
Full-text available
Developer recommendation is an essential task for resolving incoming issues in the evolution of software. Many developer recommendation techniques have been developed in the literature; among these studies, most techniques usually combined historical commits as supplementary information with bug repositories and/or source-code repositories to recom...
Article
Full-text available
To provide guidance to and integrate directly with the information technology side implementation to achieve coherent data, information, and knowledge coordination and robust value-oriented adaptability for maximization of business profitability, we propose to leverage the ideology of service economics to achieve bidirectional computational bridgin...
Conference Paper
Full-text available
Model-Driven Engineering (MDE) alleviates the cognitive complexity and effort through the refinement and abstraction of consecutive models. In MDE, models should accurately and completely accommodate the expected data, information and knowledge in requirement specification following a series of refinement and abstraction. Proper abstraction startin...
Conference Paper
With the development of data mining technology, lack of private resource protection has become a serious challenge. We propose to clarify the expression of Knowledge Graph in three layers including Data Graph, Information Graph and Knowledge Graph and illustrate the representation of Data Graph, Information Graph and Knowledge Graph respectively. W...
Conference Paper
Transaction processing technology is the key technology of reporting information consistency and reliability, and determines whether web services can be applied to e-commerce. We propose an investment defined transaction processing approach towards temporal and spatial optimization with collaborative storage and computation adaptation approach aimi...
Conference Paper
GitHub, one of the largest social coding platforms, fosters a flexible and collaborative development process. In practice, developers in the open source software platform need to find projects relevant to their development work to reuse their function, explore ideas of possible features, or analyze the requirements for their projects. Recommending...
Article
Given a software issue request, one important activity is to recommend suitable developers to resolve it. A number of approaches have been proposed on developer recommendation. These developer recommendation techniques tend to recommend experienced developers, i.e., the more experienced a developer is, the more possible he/she is recommended. Howev...
Article
Full-text available
Program comprehension is an important task faced by developers during software maintenance. With the increasing complexity of evolving systems, program comprehension becomes more and more difficult. In practice, programmers are accustomed to getting a general view of the features in a software system and then finding the interesting or necessary fi...
Article
Full-text available
During software maintenance and evolution, one of the important tasks faced by developers is to understand a system quickly and accurately. With the increasing size and complexity of an evolving system, program comprehension becomes an increasingly difficult activity. Given a target system for comprehension, developers may first focus on the packag...
Article
Full-text available
Service Economics has been successfully proposed and implemented for promoting the macro service market especially in Global value chains which however don't provide guidance to and integrate directly with the IT side implementation to achieve coherent information coordination and robust adaptability which indicts maximization of business profitabi...
Chapter
Full-text available
Model-Driven Engineering (MDE) alleviates the cognitive complexity and effort spent on software development by generating codes from models. In MDE, models should be accurate, refined, reliable and efficient. Class diagram is a structural abstraction of a real system and usually used in software design. A better designed class diagram could lead to...
Chapter
Full-text available
Program comprehension is an important and difficult task in software development and evolution, which is costly and time-consuming. Some software abbreviated identifiers in the source code can further increase the difficulty of the program comprehension, especially for the junior developers who have less developing expertise for the software system...
Article
Program comprehension is one of the first and most frequently performed activities during software maintenance and evolution. In a program, there are not only source code, but also comments. Comments in a program is one of the main sources of information for program comprehension. If a program has good comments, it will be easier for developers to...
Article
Fault localization is an important and challenging task during software testing. Among techniques studied in this field, program spectrum based fault localization is a promising approach. To perform spectrum based fault localization, a set of test oracles should be provided, and the effectiveness of fault localization depends highly on the quality...
Article
Many developer recommendation techniques have been developed in the literature. Among existing studies, most of them are performed based on exploring the historical commit repository. The thought behind them is that developers who submit similar historical commits relevant to the incoming issue are more probably to be the candidates for the current...
Conference Paper
Software changes, new features and bugs are generally reported as issue requests which need to be quickly and efficiently resolved. A large amount of approaches have been proposed to recommend suitable developers to resolve software issues [1, 2, 6, 3]. These techniques tend to recommend senior developers who have luxuriant developing experience, w...
Conference Paper
In this paper, we demonstrate a system for automated transformation rule application in mobile system development. Our application enables correctness and consistency of the automated transformation rules, by leveraging Egyed's work [2] on automated model transformation. Our approach is implemented via finite state automation generation, extending...
Article
Full-text available
Numerous service models have been proposed in the form of "as a Service" or "aaS" in the past. This is especially eminent in the era of the Cloud under the term of anything as a service or everything as a service(XaaS). A unified view of XaaS can aid efficient classification of services for service registration, discovery, and composition. In view...
Article
Full-text available
There are a large number of open source projects in software repositories for developers to reuse. During software development and maintenance, developers can leverage good interfaces in these open source projects and establish the framework of the new project quickly when reusing interfaces in these open source projects. However, if developers wan...
Article
We have identified there is a need to systemically reduce the complexity and increase the robustness of developed service systems through a guided development process. We empirically choose under design (UD) and over design (OD) as core value assets to uniformly represent the target of managing the human errors and deficiencies during a development...
Article
Over Design (OD) and Under Design (UD) are two concepts which are used to express functional incompleteness, unexpected software quality degradation and other unexpected occurrence in design process. Measure of OD and UD is a big challenge which however lays the foundation of systematic usage of them. Based on Feature Modeling, we show in paper an...
Article
Mining software historical repositories (SHR) has emerged as a research direction Sun, over the past decade, which achieved substantial success in both research and practice to support various software maintenance tasks. Use of different types of SHR, or even different versions of the software project may derive different results for the same techn...
Article
Full-text available
Numerous service models have been proposed in the form of 'as a Service' or 'aaS' in the past. This is especially eminent in the era of the Cloud under the term of anything as a service or everything as a service(XaaS). An unified view of XaaS can aid efficient classification of services for service registration, discovery, and composition. In view...