skip to main content
10.1145/2984380.2984385acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Exemplifying Moldable Development

Published: 18 July 2016 Publication History

Abstract

Developing and evolving software requires developers to continuously make decisions about how to steer the design and implementation of their applications. To make informed decisions developers commonly formulate detailed and domain-specific questions about their software systems and use tools to explore available information and answer those questions. Development tools however focus on generic programming tasks while program comprehension and analysis tools typically are not tightly integrated with their development tools and environments. This has a negative effect on program comprehension as it increases the effort and the time needed to obtain an answer.
To improve program comprehension we propose that developers build software using development tools tailored to their specific application domains, as this can directly answer domain-specific questions. We introduce moldable development as an approach for developing software in which developers evolve development tools together with their applications. In this paper we sketch the idea of moldable development and give examples to illustrate how it can be applied in practice. Through these examples we show that given a low cost for extending development tools, developers can create relevant and useful customizations to help them evolve their own applications.

References

[1]
ANTLR -- debugging ANTLR grammars using ANTLR Studio, accessed June 3, 2016. http://www.placidsystems.com/articles/article-debugging/usingdebugger.htm.
[2]
V. P. Araya, A. Bergel, D. Cassou, S. Ducasse, and J. Laval. Agile visualization with Roassal. In Deep Into Pharo, pages 209--239. Square Bracket Associates, Sept. 2013.
[3]
K. Beck. Simple Smalltalk testing: With patterns. www.xprogramming.com/testfram.htm.
[4]
A. Bergel, S. Ducasse, C. Putney, and R. Wuyts. Creating sophisticated development tools with OmniBrowser. Journal of Computer Languages, Systems and Structures, 34(2-3):109--129, 2008.
[5]
N. Bouraqadi, L. Fabresse, A. Bergel, D. Cassou, S. Ducasse, and J. Laval. Sockets. In Deep Into Pharo, page 21. Square Bracket Associates, Sept. 2013.
[6]
P. Bunge. Scripting browsers with Glamour. Master's thesis, University of Bern, Apr. 2009.
[7]
A. Chiş, M. Denker, T. Gîrba, and O. Nierstrasz. Practical domain-specific debuggers using the Moldable Debugger framework. Computer Languages, Systems & Structures, 44, Part A:89--113, 2015. Special issue on the 6th and 7th International Conference on Software Language Engineering (SLE 2013 and SLE 2014).
[8]
A. Chiş, T. Gîrba, and O. Nierstrasz. Towards moldable development tools. In Proceedings of the 6th Workshop on Evaluation and Usability of Programming Languages and Tools, PLATEAU '15, pages 25--26, New York, NY, USA, 2015. ACM.
[9]
A. Chiş, T. Gîrba, O. Nierstrasz, and A. Syrel. The Moldable Inspector. In Proceedings of the 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2015, pages 44--60, New York, NY, USA, 2015. ACM.
[10]
K. De Volder. JQuery: A generic code browser with a declarative configuration language. In Proceedings of the 8th International Conference on Practical Aspects of Declarative Languages, PADL'06, pages 88--102, Berlin, Heidelberg, 2006. Springer-Verlag.
[11]
L. Erlikh. Leveraging legacy system dollars for e-business. IT Professional, 2(3):17--23, 2000.
[12]
R. K. Fjeldstad and W. T. Hamlen. Application Program Maintenance Study: Report to Our Respondents. In Proceedings GUIDE 48, Apr. 1983.
[13]
T. Gîrba and A. Chiş. Pervasive Software Visualizations. In Proceedings of 3rd IEEE Working Conference on Software Visualization, VISSOFT'15, pages 1--5. IEEE, Sept. 2015.
[14]
A. N. Habermann and D. Notkin. Gandalf: Software development environments. IEEE Transactions on Software Engineering, 12(12):1117--1127, 1986.
[15]
P. R. Henriques, M. J. V. Pereira, M. Mernik, M. Lenic, J. Gray, and H. Wu. Automatic generation of language-based tools using the LISA system. Software, IEE Proceedings -, 152(2):54--69, 2005.
[16]
P. Klint. A meta-environment for generating programming environments. ACM Transactions on Software Engineering and Methodology (TOSEM), 2(2):176--201, 1993.
[17]
A. Ko, B. Myers, M. Coblenz, and H. Aung. An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. Software Engineering, IEEE Transactions on, 32(12):971 --987, Dec. 2006.
[18]
J. Kubelka, A. Bergel, A. Chiş, T. Gîrba, S. Reichhart, R. Robbes, and A. Syrel. On understanding how developers use the Spotter search tool. In Proceedings of 3rd IEEE Working Conference on Software Visualization - New Ideas and Emerging Results, VISSOFT-NIER'15, pages 145--149. IEEE, Sept. 2015.
[19]
R. I. Medina-Mora. Syntax-directed Editing: Towards Integrated Programming Environments. Ph.D. thesis, Carnegie Mellon University, 1982. AAI8215892.
[20]
R. Minelli, A. M. and, and M. Lanza. I know what you did last summer: An investigation of how developers spend their time. In Proceedings of the 2015 IEEE 23rd International Conference on Program Comprehension, ICPC '15, pages 25--35, Piscataway, NJ, USA, 2015. IEEE Press.
[21]
D. Pavletic, M. Voelter, S. Raza, B. Kolb, and T. Kehrer. Extensible debugger framework for extensible languages. In J. A. de la Puente and T. Vardanega, editors, Reliable Software Technologies -- Ada--Europe 2015, volume 9111 of Lecture Notes in Computer Science, pages 33--49. Springer International Publishing, 2015.
[22]
L. Renggli, S. Ducasse, T. Gîrba, and O. Nierstrasz. Practical dynamic grammars for dynamic languages. In 4th Workshop on Dynamic Languages and Applications (DYLA 2010), pages 1--4, Malaga, Spain, June 2010.
[23]
T. Reps and T. Teitelbaum. The synthesizer generator. SIGSOFT Softw. Eng. Notes, 9(3):42--48, Apr. 1984.
[24]
T. Roehm, R. Tiarks, R. Koschke, and W. Maalej. How do professional developers comprehend software? In Proceedings of the 2012 International Conference on Software Engineering, ICSE 2012, pages 255--265, Piscataway, NJ, USA, 2012. IEEE Press.
[25]
J. Sillito, G. C. Murphy, and K. De Volder. Asking and answering questions during a programming change task. IEEE Trans. Softw. Eng., 34:434--451, July 2008.
[26]
E. K. Smith, C. Bird, and T. Zimmermann. Build it yourself! Homegrown tools in a large software company. In Proceedings of the 37th International Conference on Software Engineering. IEEE -- Institute of Electrical and Electronics Engineers, May 2015.
[27]
A. Syrel, A. Chiş, T. Gîrba, J. Kubelka, O. Nierstrasz, and S. Reichhart. Spotter: towards a unified search interface in IDEs. In Proceedings of the Companion Publication of the 2015 ACM SIGPLAN Conference on Systems, Programming, and Applications: Software for Humanity, SPLASH Companion 2015, pages 54--55, New York, NY, USA, 2015. ACM.
[28]
M. Taeumel, M. Perscheid, B. Steinert, J. Lincke, and R. Hirschfeld. Interleaving of modification and use in data-driven tool development. In Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software, Onward! 2014, pages 185--200, New York, NY, USA, 2014. ACM.
[29]
M. van den Brand, B. Cornelissen, P. Olivier, and J. Vinju. TIDE: A generic debugging framework---tool demonstration. Electronic Notes in Theoretical Computer Science, 141(4):161--165, 2005. Proceedings of the Fifth Workshop on Language Descriptions, Tools, and Applications (LDTA 2005) Language Descriptions, Tools, and Applications 2005.
[30]
T. Verwaest, C. Bruni, M. Lungu, and O. Nierstrasz. Flexible object layouts: enabling lightweight language extensions by intercepting slot access. In Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications, OOPSLA '11, pages 959--972, New York, NY, USA, 2011. ACM.
[31]
M. Voelter. Generic tools, specific languages. Ph.D. thesis, Delft University of Technology, 2014.
[32]
M. Voelter, D. Ratiu, B. Schaetz, and B. Kolb. Mbeddr: An extensible C-based programming language and IDE for embedded systems. In Proceedings of the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity, SPLASH '12, pages 121--140, New York, NY, USA, 2012. ACM.
[33]
J. Whittle, J. Hutchinson, M. Rouncefield, H. Burden, and R. Heldal. Model-Driven Engineering Languages and Systems: 16th International Conference, (MODELS 2013), chapter Industrial Adoption of Model-Driven Engineering: Are the Tools Really the Problem?, pages 1--17. Springer Berlin Heidelberg, Berlin, Heidelberg, 2013.
[34]
M. Zelkowitz, A. Shaw, and J. Gannon. Principles of Software Engineering and Design. Prentice Hall, 1979.

Cited By

View all
  • (2017)Moldable Tools for Object-Oriented DevelopmentPresent and Ulterior Software Engineering10.1007/978-3-319-67425-4_6(77-101)Online publication date: 6-Sep-2017

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PX/16: Proceedings of the Programming Experience 2016 (PX/16) Workshop
July 2016
60 pages
ISBN:9781450347761
DOI:10.1145/2984380
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 July 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Domain-specific tools
  2. Program comprehension
  3. Programming environments
  4. User interfaces

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

Conference

PX/16

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2017)Moldable Tools for Object-Oriented DevelopmentPresent and Ulterior Software Engineering10.1007/978-3-319-67425-4_6(77-101)Online publication date: 6-Sep-2017

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media