skip to main content
10.1145/2554850.2555016acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Activities performed by programmers while using framework examples as a guide

Published:24 March 2014Publication History

ABSTRACT

It is now a common approach pursued by programmers to develop new software systems using Object-Oriented Application Frameworks such as Spring, Struts and, Eclipse. This improves the quality and the maintainability of the code. Furthermore, it reduces development cost and time. However, the main problem is that these frameworks usually have a complicated Application Programming Interface (API), and typically suffer from the lack of enough documentation and appropriate user manuals. To solve these problems, programmers often refer to existing sample applications of those frameworks to learn how to implement the desired functionality in their own code. This is called the Monkey See, Monkey Do rule in software engineering literature. The aim of this paper is to investigate and analyze the activities programmers perform to achieve a successful use of this rule. The results of this analysis will help us to build automated tools which are helpful for programmers while perusing the aforementioned Monkey See, Monkey Do rule.

References

  1. J. Brandt, P. J. Guo, J. Lewenstein, M. Dontcheva, and S. R. Klemmer. Two studies of opportunistic programming: Interleaving web foraging, learning, and writing code. In Proceedings of the SIGHCI Conference on Human Factors in Computing Systems. ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. G. Butler. Object-oriented frameworks. In Proceedings of the 15th European Conference on Object-Oriented Programming, 2001.Google ScholarGoogle Scholar
  3. B. Dagenais and M. P. Robillard. Recovering traceability links between an API and its learning resources. In Proceedings of the 34th International Conference on Software Engineering. IEEE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. L. P. Deutsch. Reusability in the smalltalk-80 programming system. IEEE Tutorial on Software Reusability, 1987.Google ScholarGoogle Scholar
  5. E. Duala-Ekoko and M. P. Robillard. Asking and answering questions about unfamiliar APIs: An exploratory study. In Proceedings of the 2012 International Conference on Software Engineering. IEEE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. E. Gamma and K. Beck. Contributing to Eclipse: Principles, Patterns, and Plugins. Addison-Wesley Professional, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. B. Hartmann, M. Dhillon, and M. K. Chan. HyperSource: Bridging the gap between source and code-related web sites. In Proceedings of the SIGHCI Conference on Human Factors in Computing Systems. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Heydarnoori, K. Czarnecki, W. Binder, and T. T. Bartolomei. Two studies of framework-usage templates extracted from dynamic traces. IEEE Transactions on Software Engineering, 38(6): 1464--1487, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Hou, J. Hoover, and C. Yin. The framework use problem: A preliminary study with GUI frameworks. In Proceedings of the 1st Midwest Software Engineering Conference, 2003.Google ScholarGoogle Scholar
  10. M. P. Robillard. What makes APIs hard to learn? answers from developers. IEEE Software, 26(6): 27--34, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Sillito, G. C. Murphy, and K. D. Volder. Asking and answering questions during a programming change task. IEEE Transactions on Software Engineering, 34(4): 434--451, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. Viljamaa. Reverse engineering framework reuse interfaces. ACM SIGSOFT Software Engineering Notes, 28(5): 217--226, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. T. Ying and M. P. Robillard. The influence of the task on programmer behaviour. In Proceedings of the 19th International Conference on Program Comprehension. IEEE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Activities performed by programmers while using framework examples as a guide

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                SAC '14: Proceedings of the 29th Annual ACM Symposium on Applied Computing
                March 2014
                1890 pages
                ISBN:9781450324694
                DOI:10.1145/2554850

                Copyright © 2014 ACM

                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 ACM 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: 24 March 2014

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article

                Acceptance Rates

                SAC '14 Paper Acceptance Rate218of939submissions,23%Overall Acceptance Rate1,650of6,669submissions,25%

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader