›› 2017, Vol. 32 ›› Issue (2): 242-249.doi: 10.1007/s11390-017-1718-y

Special Issue: Artificial Intelligence and Pattern Recognition; Software Systems

• Special Section on MOST Cloud and Big Data • Previous Articles     Next Articles

Intelligent Development Environment and Software Knowledge Graph

Ze-Qi Lin1,2, Bing Xie1,2,*, Senior Member, CCF, Yan-Zhen Zou1,2, Member, CCF, ACM, IEEE, Jun-Feng Zhao1,2, Member, CCF, Xuan-Dong Li3, Fellow, CCF, Member, ACM, IEEE, Jun Wei4, Senior Member, CCF, Hai-Long Sun5, Senior Member, CCF, Member, ACM, IEEE, Gang Yin6, Member, CCF   

  1. 1 Key Laboratory of High Confidence Software Technologies(Peking University), Ministry of Education Beijing 100871, China;
    2 Beida(Binhai) Information Research, Tianjin 300450, China;
    3 National Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210023, China;
    4 Technology Center of Software Engineering, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China;
    5 School of Computer Science and Engineering, Beihang University, Beijing 100191, China;
    6 College of Computer, National University of Defense Technology, Changsha 410073, China
  • Received:2016-11-06 Revised:2016-11-28 Online:2017-03-05 Published:2017-03-05
  • Contact: Bing Xie E-mail:xiebing@pku.edu.cn
  • About author:Ze-Qi Lin received his B.E. degree in computer science from Peking University, Beijing, in 2014. He is currently pursuing his Ph.D. degree in computer science at Peking University, Beijing. His main research interests include software engineering, software reuse, knowledge engineering, data mining, etc.
  • Supported by:

    This work is supported by the National Key Research and Development Program of China under Grant No. 2016YFB1000800, and the National Science Fund for Distinguished Young Scholars of China under Grant No. 61525201.

Software intelligent development has become one of the most important research trends in software engineering. In this paper, we put forward two key concepts-intelligent development environment (IntelliDE) and software knowledge graph-for the first time. IntelliDE is an ecosystem in which software big data are aggregated, mined and analyzed to provide intelligent assistance in the life cycle of software development. We present its architecture and discuss its key research issues and challenges. Software knowledge graph is a software knowledge representation and management framework, which plays an important role in IntelliDE. We study its concept and introduce some concrete details and examples to show how it could be constructed and leveraged.

[1] Kaiser G E, Feiler P H, Popovich S S. Intelligent assistance for software development and maintenance. IEEE Software, 1988, 5(3):40-49.

[2] Robillard M, Walker R, Zimmermann T. Recommendation systems for software engineering. IEEE Software, 2010, 27(4):80-86.

[3] Raychev V, Vechev M, Yahav E. Code completion with statistical language models. ACM SIGPLAN Notices, 2014, 49(6):419-428.

[4] Shepperd M, Bowes D, Hall T. Researcher bias:The use of machine learning in software defect prediction. IEEE Transactions on Software Engineering, 2014, 40(6):603-616.

[5] Ye X, Bunescu R, Liu C. Learning to rank relevant files for bug reports using domain knowledge. In Proc. the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, Nov. 2014, pp.689-699.

[6] Trautsch F, Herbold S, Makedonski P, Grabowski J. Adressing problems with external validity of repository mining studies through a smart data platform. In Proc. the 13th International Conference on Mining Software Repositories, May 2016, pp.97-108.

[7] Liu Q, Li Y, Duan H, Liu Y, Qin Z G. Knowledge graph construction techniques. Journal of Computer Research and Development, 2016, 53(3):582-600. (in Chinese)

[8] Dagenais B, RobillardMP. Recovering traceability links between an API and its learning resources. In Proc. the 34th International Conference on Software Engineering, June 2012, pp.47-57.

[9] Ye X, Shen H, Ma X, Bunescu R, Liu C. From word embeddings to document similarities for improved information retrieval in software engineering. In Proc. the 38th International Conference on Software Engineering, May 2016, pp.404-415.

[10] Hua Z B, Li M, Zhao J F, Zou Y Z, Xie B, Li C. Code function mining tool based on topic modeling technology. Computer Science, 2014, 41(9):52-59. (in Chinese)

[11] Wang L J, Fang L, Wang L Y, Li G, Xie B, Yang F Q. APIExample:An effective web search based usage example recommendation system for Java APIs. In Proc. the 26th IEEE/ACM International Conference on Automated Software Engineering, Nov. 2011, pp.592-595.

[12] Marcus A, Antoniol G. On the use of text retrieval techniques in software engineering. In Proc. the 34th IEEE/ACM International Conference on Software Engineering, Technical Briefing, June 2012.

[13] Chan W K, Cheng H, Lo D. Searching connected API subgraph via text phrases. In Proc. the 20th ACM SIGSOFT International Symposium on the Foundations of Software Engineering, Nov. 2012, Article No. 10.

[14] Mcmillan C, Poshyvanyk D, Grechanik M, Xie Q, Fu C. Portfolio:Searching for relevant functions and their usages in millions of lines of code. ACM Transactions on Software Engineering and Methodology, 2013, 22(4):Article No. 37.

[15] Marcus A, Sergeyev A, Rajlich V, Maletic J I. An information retrieval approach to concept location in source code. In Proc. the 11th Working Conference on Reverse Engineering, Nov. 2004, pp.214-223.

[16] Lin Y K, Liu Z Y, Sun M S, Liu Y, Zhu X. Learning entity and relation embeddings for knowledge graph completion. In Proc. the 29th AAAI Conference on Artificial Intelligence, Jan. 2015, pp.2181-2187.

[17] Schuhmacher M, Ponzetto S P. Knowledge-based graph document modeling. In Proc. the 7th ACM International Conference on Web Search and Data Mining, Feb. 2014, pp.543-552.
No related articles found!
Full text



[1] Zhang Bo; Zhang Ling;. Statistical Heuristic Search[J]. , 1987, 2(1): 1 -11 .
[2] Meng Liming; Xu Xiaofei; Chang Huiyou; Chen Guangxi; Hu Mingzeng; Li Sheng;. A Tree-Structured Database Machine for Large Relational Database Systems[J]. , 1987, 2(4): 265 -275 .
[3] Lin Qi; Xia Peisu;. The Design and Implementation of a Very Fast Experimental Pipelining Computer[J]. , 1988, 3(1): 1 -6 .
[4] Sun Chengzheng; Tzu Yungui;. A New Method for Describing the AND-OR-Parallel Execution of Logic Programs[J]. , 1988, 3(2): 102 -112 .
[5] Zhang Bo; Zhang Tian; Zhang Jianwei; Zhang Ling;. Motion Planning for Robots with Topological Dimension Reduction Method[J]. , 1990, 5(1): 1 -16 .
[6] Wang Dingxing; Zheng Weimin; Du Xiaoli; Guo Yike;. On the Execution Mechanisms of Parallel Graph Reduction[J]. , 1990, 5(4): 333 -346 .
[7] Zhou Quan; Wei Daozheng;. A Complete Critical Path Algorithm for Test Generation of Combinational Circuits[J]. , 1991, 6(1): 74 -82 .
[8] Zhao Jinghai; Liu Shenquan;. An Environment for Rapid Prototyping of Interactive Systems[J]. , 1991, 6(2): 135 -144 .
[9] Shang Lujun; Xu Lihui;. Notes on the Design of an Integrated Object-Oriented DBMS Family[J]. , 1991, 6(4): 389 -394 .
[10] Li Tao;. Competition Based Neural Networks for Assignment Problems[J]. , 1991, 6(4): 305 -315 .

ISSN 1000-9000(Print)

CN 11-2296/TP

Editorial Board
Author Guidelines
Journal of Computer Science and Technology
Institute of Computing Technology, Chinese Academy of Sciences
P.O. Box 2704, Beijing 100190 P.R. China
E-mail: jcst@ict.ac.cn
  Copyright ©2015 JCST, All Rights Reserved