Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
Lindvall, M., Sandahl, K.: How well do experienced software developers predict software change? Journal of Systems and Software 43(1), 19–27 (1998)
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)
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)
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)
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)
Brooks, R.E.: Towards a Theory of the Comprehension of Computer Programs. International Journal of Man-Machine Studies 18(6), 543–554 (1983)
Nurvitadhi, E., Leung, W.W., Cook, C.: Do class comments aid Java program understanding? In: Frontiers in Education (FIE), vol. 1 (November 2003)
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)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Witte, R., Sateli, B., Khamis, N., Rilling, J. (2011). Intelligent Software Development Environments: Integrating Natural Language Processing with the Eclipse Platform. In: Butz, C., Lingras, P. (eds) Advances in Artificial Intelligence. Canadian AI 2011. Lecture Notes in Computer Science(), vol 6657. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21043-3_49
Download citation
DOI: https://doi.org/10.1007/978-3-642-21043-3_49
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21042-6
Online ISBN: 978-3-642-21043-3
eBook Packages: Computer ScienceComputer Science (R0)