The citation count of a scientific publication is considered to be an indicator for its impact. Google Scholar includes citation counts for publications and uses this as an important metric for ranking search results. Thus, a paper with many citations is more likely to show up in search results. That makes it more likely that it will be read and cited, resulting in even more citations. This makes literature search with Scholar quite effective. But one effect is that new papers (no citations initially) in an existing field may not be noticed, even if they have relevant results. Papers with many citations hide (shadow) papers with few citations. This mechanism may even be at work in the publications of a single author.

When I examined my Google Scholar author profile before, it was mostly to examine my h-index and top cited publications. And I was happy enough to see that a good number of my publications are being cited well (today my h-index is 35). However, there are more publications with fewer citations. That is to be expected. Not all publications are equally good or important. What I noticed however, is that some papers that I consider to be among the best work of me and my students, are poorly cited. Therefore, I decided to compose a list of recommended publications for the front page of my web site, instead of the usual suspects from the hit list. If you like those other papers, you may like these as well (or even better):


Syntax definition and parsing

Language composition

Transformation and analysis

Integrated development environments

Abstractions for web programming

More publications

In 2008, error recovery for generalized (scannerless) LR parsing appeared to be an unsolvable problem. Now, users of Spoofax get an error recovering parser for free, based on the SDF syntax definition of a language. The integration of our earlier OOPSLA 2009 and SLE 2009 papers into a journal article has now been accepted for publication in ACM TOPLAS. (It may take a while before the paper is actually published; we'll provide a pre-print as soon as possible.)

Maartje de Jonge, Lennart C. L. Kats, Emma Soderberg, Eelco Visser. Natural and Flexible Error Recovery for Generated Modular Language Environments. ACM Transactions on Programming Languages and Systems, 2013 (to appear).

Abstract: Integrated development environments (IDEs) increase programmer productivity, providing rapid, interactive feedback based on the syntax and semantics of a language. Unlike conventional parsing algorithms, scannerless generalized-LR parsing supports the full set of context-free grammars, which is closed under composition, and hence can parse languages composed from separate grammar modules. To apply this algorithm in an interactive environment, this paper introduces a novel error recovery mechanism. Our approach is language-independent, and relies on automatic derivation of recovery rules from grammars. By taking layout information into consideration it can efficiently suggest natural recovery suggestions.

Update: The publication process went faster than expected and the article was published in December 2012.

Today I gave a mini-tutorial at the 5th International Conference on Software Language Engineering (SLE 2012) attempting to explain grammarware to meta-modeling researchers. Since grammarware is a huge area, I chose to discuss a selection of memes from grammarware, illustrated with examples from the Spoofax 'technological space' (as they say). Here are the slides. A recording of the talk may be published as well. Note that the slides do not have much text explaining what they are about. We plan to elaborate the tutorial material in an associated paper for the SLE 2012 post-proceedings.

Read more

Yesterday we deployed a new release of researchr. The release fixes a bug that prevented creation of personal libraries. We have recently also addressed a number of performance bugs that became manifest at scale. But the most significant change in functionality is the advanced support for faceted search. The self implemented support for faceted search allowed selection of publications in a publication list for a single facet at a time. Now you can explore the intersection of multiple facet categories and taking the union or intersection of multiple facets within a category. Try it out. For example, explore the publications on domain-specific language design and find the publications from 2009 tagged 'grammar', or find the publications in the 'oopsla' venue tagged 'language workbench'.

The custom implementation of faceted search lacked features, was slow, not always correct, and took considerable effort to implement. The new faceted search is no longer a custom implementation specific for researchr, but is based on the search DSL for WebDSL that Elmer van Chastelet has been working on for his Master's thesis project. The DSL provides abstractions for search indexing with Apache Lucene and Hibernate Search and a query language for searching objects. With these features, any WebDSL application can use these powerful libraries with a fraction of the effort it took my custom implementation. A full description of the DSL is under construction.