Neon: A Library for Language Usage Analysis | SpringerLink
Skip to main content

Neon: A Library for Language Usage Analysis

  • Conference paper
Software Language Engineering (SLE 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5452))

Included in the following conference series:

  • 875 Accesses

Abstract

A language is ultimately developed for its users: the programmers. The gap between the language experts who design and implement the language and its associated tools and the programmers can be very large, particularly in areas where the language is developed to be used by non-programmers or novice programmers by design. To verify that assumptions made and beliefs held by the language developers about the actual use made by programmers bear out, some analyis of the usage of the language and its associated tools must be performed, preferably in an automated fashion transparent to the users. In this paper we detail our approach, which is essentially to log compilations in order to obtain compilation histories and to query these compilation histories in order to extract the necessary information. For the latter task, we have designed and implemented the Neon library, and show how relatively complicated queries can be formulated effectively.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Gannon, J.D., Horning, J.J.: The impact of language design on the production of reliable software. In: Proceedings of the international conference on Reliable software, pp. 10–22. ACM Press, New York (1975)

    Chapter  Google Scholar 

  2. Grubb, S.: Ploticus website, http://ploticus.sourceforge.net

  3. Hage, J.: Neon website, http://www.cs.uu.nl/wiki/Hage/Neon

  4. Hage, J.: The Helium logging facility. Technical Report UU-CS-2005-055, Department of Information and Computing Sciences, Utrecht University (2005)

    Google Scholar 

  5. Hage, J., Heeren, B.: Heuristics for type error discovery and recovery. In: Horváth, Z., Zsók, V., Butterfield, A. (eds.) IFL 2006. LNCS, vol. 4449, pp. 199–216. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  6. Heeren, B., Hage, J., Swierstra, S.D.: Scripting the type inference process. In: Eighth ACM Sigplan International Conference on Functional Programming, pp. 3–13. ACM Press, New York (2003)

    Chapter  Google Scholar 

  7. Heeren, B., Leijen, D., van IJzendoorn, A.: Helium, for learning Haskell. In: ACM Sigplan 2003 Haskell Workshop, pp. 62–71. ACM Press, New York (2003), http://www.cs.uu.nl/wiki/bin/view/Helium/WebHome

    Google Scholar 

  8. Jadud, M.C.: A first look at novice compilation behaviour using BlueJ. Computer Science Education 15(1), 25–40 (2005)

    Article  Google Scholar 

  9. Jadud, M.C.: Methods and tools for exploring novice compilation behaviour. In: ICER 2006: Proceedings of the 2006 international workshop on Computing education research, pp. 73–84. ACM Press, New York (2006)

    Chapter  Google Scholar 

  10. Joosten, S., van den Berg, K., van der Hoeven, G.: Teaching functional programming to first-year students. Journal of Functional Programming 3(1), 49–65 (1993)

    Article  Google Scholar 

  11. Litecky, C.R., Davis, G.B.: A study of errors, error-proneness, and error diagnosis in Cobol. Communications of the ACM 19, 33–38 (1976)

    Article  Google Scholar 

  12. Moulton, P.G., Muller, M.E.: Ditran: a compiler emphasizing diagnostics. Communications of the ACM 10, 45–52 (1967)

    Article  Google Scholar 

  13. Jones, S.P. (ed.): Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, Cambridge (2003)

    MATH  Google Scholar 

  14. van Keeken, P.: Analyzing Helium programs obtained through logging, http://www.cs.uu.nl/wiki/Hage/MasterStudents

  15. Wadler, P., Blott, S.: How to make ad-hoc polymorphism less ad hoc. In: POPL 1989: Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 60–76. ACM Press, New York (1989)

    Google Scholar 

  16. Zelkowitz, M.V.: Automatic program analysis and evaluation. In: Proceedings of the 2nd International Conference on Software Engineering, pp. 158–163. IEEE Computer Society Press, Los Alamitos (1976)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hage, J., van Keeken, P. (2009). Neon: A Library for Language Usage Analysis. In: Gašević, D., Lämmel, R., Van Wyk, E. (eds) Software Language Engineering. SLE 2008. Lecture Notes in Computer Science, vol 5452. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-00434-6_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-00434-6_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-00433-9

  • Online ISBN: 978-3-642-00434-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics