Intelligent Software Development Environments: Integrating Natural Language Processing with the Eclipse Platform

  • René Witte
  • Bahar Sateli
  • Ninus Khamis
  • Juergen Rilling
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6657)


Software engineers need to be able to create, modify, and analyze knowledge stored in software artifacts. A significant amount of these artifacts contain natural language, like version control commit messages, source code comments, or bug reports. Integrated software development environments (IDEs) are widely used, but they are only concerned with structured software artifacts – they do not offer support for analyzing unstructured natural language and relating this knowledge with the source code. We present an integration of natural language processing capabilities into the Eclipse framework, a widely used software IDE. It allows to execute NLP analysis pipelines through the Semantic Assistants framework, a service-oriented architecture for brokering NLP services based on GATE. We demonstrate a number of semantic analysis services helpful in software engineering tasks, and evaluate one task in detail, the quality analysis of source code comments.


Natural Language Processing Software Development Environment Language Service Java Source Code Natural Language Processing Tool 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Cunningham, H., Maynard, D., Bontcheva, K., Tablan, V.: GATE: A framework and graphical development environment for robust NLP tools and applications. In: Proceedings of the 40th Annual Meeting of the ACL (2002)Google Scholar
  2. 2.
    Witte, R., Gitzinger, T.: Semantic Assistants – User-Centric Natural Language Processing Services for Desktop Clients. In: Domingue, J., Anutariya, C. (eds.) ASWC 2008. LNCS, vol. 5367, pp. 360–374. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  3. 3.
    Lindvall, M., Sandahl, K.: How well do experienced software developers predict software change? Journal of Systems and Software 43(1), 19–27 (1998)CrossRefGoogle Scholar
  4. 4.
    Khamis, N., Witte, R., Rilling, J.: Automatic Quality Assessment of Source Code Comments: The JavadocMiner. In: Hopfe, C.J., Rezgui, Y., Métais, E., Preece, A., Li, H. (eds.) NLDB 2010. LNCS, vol. 6177, pp. 68–79. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  5. 5.
    Kotula, J.: Source Code Documentation: An Engineering Deliverable. In: Int. Conf. on Technology of Object-Oriented Languages, p. 505. IEEE Computer Society, Los Alamitos (2000)Google Scholar
  6. 6.
    Kramer, D.: API documentation from source code comments: a case study of Javadoc. In: SIGDOC 1999: Proceedings of the 17th Annual International Conference on Computer Documentation, pp. 147–153. ACM, New York (1999)CrossRefGoogle Scholar
  7. 7.
    Khamis, N., Rilling, J., Witte, R.: Generating an NLP Corpus from Java Source Code: The SSL Javadoc Doclet. In: New Challenges for NLP Frameworks, Valletta, Malta, ELRA, May 22, pp. 41–45 (2010)Google Scholar
  8. 8.
    Brooks, R.E.: Towards a Theory of the Comprehension of Computer Programs. International Journal of Man-Machine Studies 18(6), 543–554 (1983)CrossRefGoogle Scholar
  9. 9.
    Nurvitadhi, E., Leung, W.W., Cook, C.: Do class comments aid Java program understanding? In: Frontiers in Education (FIE), vol. 1 (November 2003)Google Scholar
  10. 10.
    Bunyakiati, P., Finkelstein, A.: The Compliance Testing of Software Tools with Respect to the UML Standards Specification - The ArgoUML Case Study. In: Dranidis, D., Masticola, S.P., Strooper, P.A. (eds.) AST, pp. 138–143. IEEE, Los Alamitos (2009)Google Scholar
  11. 11.
    Mencl, V.: Deriving behavior specifications from textual use cases. In: Proceedings of Workshop on Intelligent Technologies for Software Engineering, pp. 331–341. Oesterreichische Computer Gesellschaft, Linz (2004)Google Scholar
  12. 12.
    Kof, L.: Natural language processing: Mature enough for requirements documents analysis? In: Montoyo, A., Muńoz, R., Métais, E. (eds.) NLDB 2005. LNCS, vol. 3513, pp. 91–102. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    Buse, R.P.L., Weimer, W.R.: A metric for software readability. In: Proc. Int. Symp. on Software Testing and Analysis (ISSTA), New York, NY, USA, pp. 121–130 (2008)Google Scholar
  14. 14.
    Padioleau, Y., Tan, L., Zhou, Y.: Listening to programmers Taxonomies and characteristics of comments in operating system code. In: ICSE 2009, pp. 331–341. IEEE Computer Society, Washington, DC (2009)Google Scholar
  15. 15.
    Tan, L., Yuan, D., Krishna, G., Zhou, Y.: /*icomment: bugs or bad comments?*/. In: SOSP 2007: Proceedings of Twenty-first ACM SIGOPS Symposium on Operating Systems Principles, pp. 145–158. ACM, New York (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • René Witte
    • 1
  • Bahar Sateli
    • 1
  • Ninus Khamis
    • 1
  • Juergen Rilling
    • 1
  1. 1.Department of Computer Science and Software EngineeringConcordia UniversityMontréalCanada

Personalised recommendations