Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/581339.581402acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Supporting reuse by delivering task-relevant and personalized information

Published: 19 May 2002 Publication History

Abstract

Technical, cognitive, and social factors inhibit the widespread success of systematic software reuse. Our research is primarily concerned with the cognitive and social challenges faced by software developers: how to motivate them to reuse and how to reduce the difficulty of locating components from a large reuse repository. Our research has explored a new interaction style between software developers and reuse repository systems enabled by information delivery mechanisms. Instead of passively waiting for software developers to explore the reuse repository with explicit queries, information delivery autonomously locates and presents components by using the developers' partially written programs as implicit queries.We have designed, implemented, and evaluated a system called CodeBroker, which illustrates different techniques to address the essential challenges in information delivery: to make the delivered information relevant to the task-at-hand and personalized to the background knowledge of an individual developer. Empirical evaluations of CodeBroker show that information delivery is effective in promoting reuse.

References

[1]
Anquetil, N., and Lethbridge, T. Extracting Concepts from File Names: A New File Clustering Criterion, in Proceedings of 20th ICSE (Kyoto, Japan, 1998), 84-93.]]
[2]
Basili, V., Briand, L., and Melo, W. How Reuse Influences Productivity in Object-Oriented Systems. Commun. ACM, 1996. 39(10): 104-116.]]
[3]
Basili, V.R., Selby, R.W., and Hutchen, D.H. Experimentation in Software Engineering. IEEE Trans. on Software Engineering, 1986. SE-12(7): 733-743.]]
[4]
Creech, M.L., Freeze, D.F., and Griss, M.L. Using Hypertext in Selecting Reusable Software Components, in Proceedings of Hypertext'91 (San Antonio, TX, 1991), 25-38.]]
[5]
Devanbu, P., et al. LaSSIE: A Knowledge-Based Software Information System. Commun. ACM, 1991. 34(5): 34-49.]]
[6]
Drummond, C., Ionescu, D., and Holte, R. A Learning Agent that Assists the Browsing of Software Libraries. IEEE Trans. on Software Engineering, 2000. 26(12): 1179-1196.]]
[7]
Fafchamps, D. Organizational Factors and Reuse. IEEE Software, 1994. 11(5): 31-41.]]
[8]
Fischer, G. Cognitive View of Reuse and Redesign. IEEE Software, 1987. 4(4): 60-72.]]
[9]
Fischer, G. User Modeling in Human-Computer Interaction. User Modeling and User-Adapted Interaction, 2001. 11(1&2): 65-86.]]
[10]
Fischer, G., et al. Seeding, Evolutionary Growth and Reseeding: The Incremental Development of Collaborative Design Environments, in Coordination Theory and Collaboration Technology, Olson, G., Malone, T., and Smith, J. (eds.), Lawrence Erlbaum, Mahwah, NJ, 2001, 447-472.]]
[11]
Fischer, G., Henninger, S., and Redmiles, D. Cognitive Tools for Locating and Comprehending Software Objects for Reuse, in Proceedings of 13th ICSE (Austin, TX, 1991), 318-328.]]
[12]
Fischer, G., et al. Embedding Critics in Design Environments. The Knowledge Engineering Review Journal, 1993. 8(4): 285-307.]]
[13]
Fischer, G., and Ye, Y. Personalizing Delivered Information in a Software Reuse Environment, in Proceedings of 8th International Conference on User Modeling (Sonthofen, Germany, 2001), 178-187.]]
[14]
Frakes, W.B., and Fox, C.J. Sixteen Questions about Software Reuse. Commun. ACM, 1995. 38(6): 75-87.]]
[15]
Frakes, W.B., and Fox, C.J. Quality Improvement Using a Software Reuse Failure Modes Model. IEEE Trans. on Software Engineering, 1996. 22(4): 274-279.]]
[16]
Frakes, W.B., and Pole, T.P. An Empirical Study of Representation Methods for Reusable Software Components. IEEE Trans. on Software Engineering, 1994. 20(8): 617-630.]]
[17]
Gamma, E., et al. Design Patterns---Elements of Reusable Object-Oriented Systems. Addison-Wesley, Reading, MA, 1994.]]
[18]
Hall, R.J. Generalized Behavior-Based Retrieval, in Proceedings of 15th ICSE (Baltimore, MD, 1993), 371-380.]]
[19]
Henninger, S. An Evolutionary Approach to Constructing Effective Software Reuse Repositories. ACM Trans. on Software Engineering and Methodology, 1997. 6(2): 111-140.]]
[20]
Isoda, S. Experiences of a Software Reuse Project. Journal of Systems and Software, 1995. 30: 171-186.]]
[21]
Kintsch, W. Comprehension: A Paradigm for Cognition. Cambridge University Press, Cambridge, UK, 1998.]]
[22]
Krueger, C.W. Software Reuse. ACM Computing Surveys, 1992. 24(2): 131-183.]]
[23]
Lüer, C., and Rosenblum, D.S. Wren---An Environment for Component-Based Development, in Proceedings of the Joint ESEC-8 and FSE-9 (Vienna, Austria, 2001), 207-217.]]
[24]
Landauer, T.K., and Dumais, S.T. A Solution to Plato's Problem: The Latent Semantic Analysis Theory of Acquisition, Induction and Representation of Knowledge. Psychological Review, 1997. 104(2): 211-240.]]
[25]
Lange, B.M., and Moher, T.G. Some Strategies of Reuse in an Object-oriented Programming Environment, in Proceedings of Human Factors in Computing Systems (Austin, TX, 1989), 69-73.]]
[26]
Lieberman, H. Autonomous Interface Agents, in Proceedings of Human Factors in Computing Systems (Altanta, GA, 1997), 67-74.]]
[27]
Maarek, Y.S., Berry, D.M., and Kaiser, G.E. An Information Retrieval Approach for Automatically Constructing Software Libraries. IEEE Trans. on Software Engineering, 1991. 17(8): 800-813.]]
[28]
Maletic, J.I., and Marcus, A. Supporting Program Comprehension Using Semantic and Structural Information, in Proceedings of 23rd ICSE (Toronto, Canada, 2001), 103-112.]]
[29]
Michail, A., and Notkin, D. Assessing Software Libraries by Browsing Similar Classes, Functions and Relationships, in Proceedings of 21st ICSE (Los Angeles, CA, 1999), 463-472.]]
[30]
Mili, A., Mili, R., and Mittermeir, R. Storing and Retrieving Software Components: A Refinement-Based System. IEEE Trans. on Software Engineering, 1997. 23(7): 445-460.]]
[31]
Nardi, B.A., Miller, J.R., and Wright, D.J. Collaborative, Programmable Intelligent Agents. Commun. ACM, 1998. 41(3): 96-104.]]
[32]
Prieto-Diaz, R. Implementing Faceted Classification for Software Reuse. Commun. ACM, 1991. 34(5): 88-97.]]
[33]
Raymond, E.S., and Young, B. The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. O'Reilly, Sebastopol, CA, 2001.]]
[34]
Rhodes, B.J., and Maes, P. Just-in-time Information Retrieval Agents. IBM Systems Journal, 2000. 39: 685-704.]]
[35]
Rich, C.H., and Waters, R.C. The Programmer's Apprentice. Addison-Wesley, Reading, MA, 1990.]]
[36]
Robbins, J.E., and Redmiles, D.F. Software Architecture Critics in the Argo Design Environment. Knowledge-Based Systems, 1998. 11: 47-60.]]
[37]
Salton, G., and McGill, M.J. Introduction to Modern Information Retrieval. McGraw-Hill, New York, 1983.]]
[38]
Sen, A. The Role of Opportunism in the Software Design Reuse Process. IEEE Trans. on Software Engineering, 1997. 23(7): 418-436.]]
[39]
Simon, H.A. The Sciences of the Artificial, Third edition. The MIT Press, Cambridge, MA, 1996.]]
[40]
Soloway, E., and Ehrlich, K. Empirical Studies of Programming Knowledge. IEEE Trans. on Software Engineering, 1984. SE-10(5): 595-609.]]
[41]
Tracz, W. The 3 Cons of Software Reuse, in Proceedings of 3rd Annual Workshop on Institutionalizing Software Reuse (Syracuse, NY, 1990).]]
[42]
Visser, W. More or Less Following a Plan during Design: Opportunistic Deviations in Specification. International Journal of Man-Machine Studies, 1990. 33(3): 247-278.]]
[43]
Vivacqua, A. Agents for Expertise Location, in Proceedings of 1999 AAAI Spring Symposium on Intelligent Agents in Cyberspace (Stanford, CA, 1999), 9-13.]]
[44]
Williams, M. What Makes RABBIT Run? International Journal of Man-Machine Studies, 1984. 21: 333-352.]]
[45]
Ye, Y. Supporting Component-Based Software Development with Active Component Repository Systems, Ph.D. Dissertation, Department of Computer Science, University of Colorado, Boulder, CO, 2001]]
[46]
Ye, Y., Fischer, G., and Reeves, B. Integrating Active Information Delivery and Reuse Repository Systems, in Proceedings of FSE-8 (San Diego, CA, 2000), 60-68.]]
[47]
Zaremski, A.M., and Wing, J.M. Signature Matching: A Tool for Using Software Libraries. ACM Trans. on Software Engineering and Methodology, 1995. 4(2): 146-170.]]

Cited By

View all
  • (2022)Nalanda: a socio-technical graph platform for building software analytics tools at enterprise scaleProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3558949(1246-1256)Online publication date: 7-Nov-2022
  • (2022)Context-aware code recommendation in Intellij IDEAProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3558937(1647-1651)Online publication date: 7-Nov-2022
  • (2022)Automated assertion generation via information retrieval and its integration with deep learningProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510149(163-174)Online publication date: 21-May-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '02: Proceedings of the 24th International Conference on Software Engineering
May 2002
797 pages
ISBN:158113472X
DOI:10.1145/581339
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 May 2002

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

ICSE02
Sponsor:

Acceptance Rates

ICSE '02 Paper Acceptance Rate 45 of 303 submissions, 15%;
Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)19
  • Downloads (Last 6 weeks)2
Reflects downloads up to 20 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Nalanda: a socio-technical graph platform for building software analytics tools at enterprise scaleProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3558949(1246-1256)Online publication date: 7-Nov-2022
  • (2022)Context-aware code recommendation in Intellij IDEAProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3558937(1647-1651)Online publication date: 7-Nov-2022
  • (2022)Automated assertion generation via information retrieval and its integration with deep learningProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510149(163-174)Online publication date: 21-May-2022
  • (2022)POEMLJournal of Software: Evolution and Process10.1002/smr.245634:6Online publication date: 1-Jun-2022
  • (2021)Searching a database of source codes using contextualized code searchProceedings of the VLDB Endowment10.14778/3401960.340197213:10(1765-1778)Online publication date: 10-Mar-2021
  • (2021)An Intelligent Code Search Approach Using Hybrid EncodersWireless Communications & Mobile Computing10.1155/2021/99909882021Online publication date: 1-Jan-2021
  • (2021)How end-user programmers forage in online repositories? An information foraging perspectiveJournal of Computer Languages10.1016/j.cola.2020.10101062(101010)Online publication date: Feb-2021
  • (2021)FACER: An API usage-based code-example recommender for opportunistic reuseEmpirical Software Engineering10.1007/s10664-021-10000-w26:6Online publication date: 18-Aug-2021
  • (2020)Use of Patterns for Know-How Reuse in a Model-Based Systems Engineering FrameworkIEEE Systems Journal10.1109/JSYST.2020.297511614:4(4765-4776)Online publication date: Dec-2020
  • (2020)Mining Source Code for Component ReuseMining Software Engineering Data for Software Reuse10.1007/978-3-030-30106-4_6(133-174)Online publication date: 31-Mar-2020
  • Show More Cited By

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