A Generative Programming Approach to Interactive Information Retrieval:Insights and Experiences

  • Saverio Perugini
  • Naren Ramakrishnan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3676)


We describe the application of generative programming to a problem in interactive information retrieval. The particular interactive information retrieval problem we study is the support for ‘out of turn interaction’ with a website – how a user can communicate input to a website when the site is not soliciting such information on the current page, but will do so on a subsequent page. Our solution approach makes generous use of program transformations (partial evaluation, currying, and slicing) to delay the site’s current solicitation for input until after the user’s out-of-turn input is processed. We illustrate how studying out-of-turn interaction through a generative lens leads to several valuable insights: (i) the concept of a web dialog, (ii) an improved understanding of web taxonomies, and (iii) new web interaction techniques and interfaces. These notions allow us to cast the design of interactive (and responsive) websites in terms of the underlying dialog structure and, further, suggest a simple implementation strategy with a clean separation of concerns. We also highlight new research directions opened up by the generative programming approach to interactive information retrieval such as the idea of web interaction axioms.


Generative Programming Partial Evaluation Query Expansion Program Transformation Interaction Sequence 
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.
    Marchionini, G.: Information Seeking in Electronic Environments. In: Cambridge Series on Human-Computer Interaction. Cambridge University Press, Cambridge (1997)Google Scholar
  2. 2.
    Allen, J.F., Guinn, C.I., Horvitz, E.: Mixed-Initiative Interaction. IEEE Intelligent Systems 14, 14–23 (1999)CrossRefGoogle Scholar
  3. 3.
    Perugini, S., Ramakrishnan, N.: Personalizing Web Sites with Mixed-Initiative Interaction. IEEE IT Professional 5, 9–15 (2003)CrossRefGoogle Scholar
  4. 4.
    Narayan, M., Williams, C., Perugini, S., Ramakrishnan, N.: Staging Transformations for Multimodal Web Interaction Management. In: Proceedings of the Thirteenth ACM International World Wide Web Conference (WWW), New York, pp. 212–223 (2004)Google Scholar
  5. 5.
    Jones, N.D.: An Introduction to Partial Evaluation. ACM Computing Surveys 28, 480–503 (1996)CrossRefGoogle Scholar
  6. 6.
    Ullman, J.: Elements of ML Programming, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)Google Scholar
  7. 7.
    Tip, F.: A Survey of Program Slicing Techniques. Journal of Programming Languages 3, 121–189 (1995)Google Scholar
  8. 8.
    Friedman, D.P., Wand, M., Haynes, C.T.: Essentials of Programming Languages, 2nd edn. MIT Press, Cambridge (2001)zbMATHGoogle Scholar
  9. 9.
    Baeza-Yates, R., Ribeiro-Neto, B.: Modern Information Retrieval. Addison-Wesley, Reading (1999)Google Scholar
  10. 10.
    Belkin, N.J., Cool, C., Stein, A., Thiel, U.: Cases, Scripts, and Information-Seeking Strategies: On the Design of Interactive Information Retrieval Systems. Expert Systems with Applications 9, 379–395 (1995)CrossRefGoogle Scholar
  11. 11.
    Ricca, F., Tonella, P.: Web Application Slicing. In: Proceedings of the International Conference on Software Maintenance (ICSM), Florence, Italy, pp. 148–157 (2001)Google Scholar
  12. 12.
    Ricca, F., Tonella, P., Baxter, I.D.: Restructuring Web Applications via Transformation Rules. In: Proceedings of the First International Workshop on Source Code Analysis and Manipulation (SCAM), Florence, Italy, pp. 150–160 (2001)Google Scholar
  13. 13.
    Graunke, P., Findler, R., Krishnamurthi, S., Felleisen, M.: Automatically Restructuring Programs for the Web. In: Proceedings of the Sixteenth IEEE International Conference on Automated Software Engineering (ASE), San Diego, CA, pp. 211–222 (2001)Google Scholar
  14. 14.
    Queinnec, C.: The Influence of Browsers on Evaluators or, Continuations to Program Web Servers. In: Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming (ICFP), Montreal, Canada, pp. 23–33 (2000)Google Scholar
  15. 15.
    Quan, D., Huynh, D., Karger, D.R., Miller, R.: User Interface Continuations. In: Proceedings of the Sixteenth Annual ACM Symposium on User Interface Software and Technology (UIST), Vancouver, Canada, pp. 145–148 (2003)Google Scholar
  16. 16.
    Agrawal, R., Imielinski, T., Swami, A.N.: Mining Association Rules between Sets of Items in Large Databases. In: Proceedings of the ACM International Conference on Management of Data (SIGMOD), Washington, DC, pp. 207–216 (1993)Google Scholar
  17. 17.
    Perugini, S.: Program Transformations for Information Personalization. Ph.D. dissertation, Department of Computer Science, Virginia Tech (2004), US Copyright Office Registration Number TX 6-040-012, Available in the Virginia Tech. ETD collection at:
  18. 18.
    McGuffin, M.J., schraefel, m.c.: A Comparison of Hyperstructures: Zzstructures, mSpaces, and Polyarchies. In: Proceedings of the Fifteenth ACM Conference on Hypertext and Hypermedia (HT), Santa Cruz, CA, pp. 153–162 (2004)Google Scholar
  19. 19.
    Perugini, S., Ramakrishnan, N.: Personalization by Program Slicing. Journal of Object Technology 4, 5–11 (2005); Special issue: Sixth ACM GPCE Young Researchers Workshop, Vancouver, Canada (October 2004)CrossRefGoogle Scholar
  20. 20.
    Srehl, A., Ghosh, J., Mooney, R.: Impact of Similiarity Measures on Web-page Clustering. In: Proceedings of the AAAI Worshop of Artificial Intelligence for Web Search, Austin, TX, pp. 58–64 (2000)Google Scholar
  21. 21.
    Perugini, S., McDevitt, K., Richardson, R., Pérez-Quiñones, M.A., Shen, R., Ramakrishnan, N., Williams, C., Fox, E.A.: Enhancing Usability in CITIDEL: Multimodal, Multilingual, and Interactive Visualization Interfaces. In: Proceedings of the Fourth ACM/IEEE Joint Conference on Digital Libraries (JCDL), Tucson, AZ, pp. 315–324 (2004)Google Scholar
  22. 22.
    Despeyroux, T.: Practical Semantic Analysis of Web sites and Documents. In: Proceedings of the Thirteenth ACM International World Wide Web Conference (WWW), New York, pp. 685–693 (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Saverio Perugini
    • 1
  • Naren Ramakrishnan
    • 2
  1. 1.Department of Computer ScienceUniversity of DaytonUSA
  2. 2.Department of Computer ScienceVirginia TechUSA

Personalised recommendations