Abstract
Modern IDEs have an open-ended plugin architecture to allow customizability. However, developing a plugin is costly in terms of effort and expertise required by the customizer. We present a two-pronged approach that allows for open-ended customizations while keeping the customization cost low. First, we explicitly limit the portion of the design space targeted by the configuration mechanism. This reduces customization cost by simplifying the configuration interface. Second, we use a declarative programming language as our configuration language. This facilitates open-ended specification of behavior without burdening the user with operational details.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
JHotDraw (2002), http://www.jhotdraw.org/
Chen, W., Warren, D.S.: Tabled evaluation with delaying for general logic programs. J. ACM 43(1), 20–74 (1996)
Chen, Y.-F.R., Fowler, G.S., Koutsofios, E., Wallach, R.S.: Ciao: A graphical navigator for software and document repositories. In: Proc. Int. Conf. Software Maintenance, ICSM, pp. 66–75. IEEE Computer Society Press, Los Alamitos (1995)
Chu-Carroll, M.C., Sprenkle, S.: Coven: brewing better collaboration through software configuration management. In: Proceedings of the eighth international symposium on Foundations of software engineering for twenty-first century applications, pp. 88–97. ACM Press, New York (2000)
Chu-Carroll, M.C., Wright, J., Shield, D.: Aspect-oriented programming: Supporting aggregation in fine grained software configuration management. In: Proceedings of the tenth ACM SIGSOFT symposium on Foundations of software engineering, pp. 99–108. ACM Press, New York (2002)
Consens, M., Mendelzon, A., Ryman, A.: Visualizing and querying software structures. In: ICSE 1992: Proceedings of the 14th international conference on Software engineering, pp. 138–156. ACM Press, New York (1992)
Crew, R.F.: Astlog: A language for examining abstract syntax trees. In: Proceedings of the USENIX Conference on Domain-Specific Languages, Santa Barbara, California (October 1997)
De Volder, K.: Tyruba website, http://tyruba.sourceforge.net
McK, C.A., Grant: Grant. Software Visualizatio In Prolog. PhD thesis, Queens College, Cambridge (December 1999)
Henderson, F., Conway, T., Somogyi, Z., Jeffery, D.: The mercury language reference manual (1996)
Janzen, D., De Volder, K.: Navigating and querying code without getting lost. In: AOSD 2003: Proceedings of the 2nd international conference on Aspect-oriented software development, pp. 178–187. ACM Press, New York (2003)
Muller, H., Wong, K., Tilley, S.: Understanding software systems using reverse engineering technology. In: The 62nd Congress of L’Association Canadienne Francaise pour l’Avancement des Sciences Proceedings (ACFAS) (1994)
Rajagopalan, R.: Qjbrowser: A query-based approach to explore crosscutting concerns. Master’s thesis, University of British Columbia (2002)
Riecken, J., De Volder, K.: Jquery website, http://jquery.cs.ubc.ca
Robillard, M.P., Murphy, G.C.: Concern Graphs: Finding and describing concerns using structural program dependencies. In: Proc. of International Conference on Software Engineering (2002)
Storey, M.-A.D., Best, C., Michaud, J.: Shrimp views: An interactive and customizable environment for software exploration. In: Proc. of International Workshop on Program Comprehension, IWPC 2001 (2001)
Wuyts, R.: Declarative reasoning about the structure of object-oriented systems. In: Proceeding of TOOLS USA 1998 Conference, pp. 112–124. IEEE Computer Society Press, Los Alamitos (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
De Volder, K. (2005). JQuery: A Generic Code Browser with a Declarative Configuration Language. In: Van Hentenryck, P. (eds) Practical Aspects of Declarative Languages. PADL 2006. Lecture Notes in Computer Science, vol 3819. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11603023_7
Download citation
DOI: https://doi.org/10.1007/11603023_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-30947-5
Online ISBN: 978-3-540-31685-5
eBook Packages: Computer ScienceComputer Science (R0)