Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2591062.2591081acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Holistic recommender systems for software engineering

Published: 31 May 2014 Publication History

Abstract

Software maintenance is a relevant and expensive phase of the software development process. Developers have to deal with legacy and undocumented code that hinders the comprehension of the software system at hand. Enhancing program comprehension by means of recommender systems in the Integrated Development Environment (IDE) is a solution to assist developers in these tasks. The recommender systems proposed so far generally share common weaknesses: they are not proactive, they consider a single type of data-source, and in case of multiple data-source, relevant items are suggested together without considering interactions among them. We envision a future where recommender systems follow a holistic approach: They provide knowledge regarding a programming context by considering information beyond the one provided by single elements in the context of the software development. The recommender system should consider different elements such as development artifact (e.g., bug reports, mailing lists), and online resources (e.g., blogs, Q&A web sites, API documentation), developers activities, repository history etc. The provided information should be novel and emerge from the semantic links created by the analysis of the interactions among these elements.

References

[1]
A. Bacchelli, M. D’Ambros, and M. Lanza. Are popular classes more defect prone? In Proceedings of FASE 2010 (13th international conference on Fundamental Approaches to Software Engineering), pages 59–73. Springer-Verlag, 2010.
[2]
A. Bacchelli, L. Ponzanelli, and M. Lanza. Harnessing stack overflow for the ide. In Proceedings of RSSE 2012 (3rd International Workshop on Recommendation Systems for Software Engineering), pages 26–30. IEEE CS Press, 2012.
[3]
V. R. Basili, L. C. Briand, and W. L. Melo. A validation of object-oriented design metrics as quality indicators. IEEE Transactions on Software Engineering, 22(10):751–761, Oct. 1996.
[4]
A. Bragdon, S. P. Reiss, R. Zeleznik, S. Karumuri, W. Cheung, J. Kaplan, C. Coleman, F. Adeputra, and J. J. Laviola. Code bubbles: Rethinking the user interface paradigm of integrated development environments. In Proceedings of ICSE 2010 (32nd ACM /IEEE International Conference on Software Engineering), pages 293–296. ACM, 2010.
[5]
T. Corbi. Program Understanding: Challenge for the 1990s. IBM Systems Journal, 28(2):294–306, 1989.
[6]
D. Cubranic and G. Murphy. Hipikat: recommending pertinent software development artifacts. In Proceedings of ICSE 2003 (25th IEEE International Conference on Software Engineering), pages 408–418. IEEE CS Press, 2003.
[7]
A. Davis. 201 Principles of Software Development. McGraw-Hill, 1995.
[8]
R. DeLine and K. Rowan. Code canvas: zooming towards better development environments. In Proceedings of ICSE 2010 (32nd ACM /IEEE International Conference on Software Engineering), pages 207–210. ACM, 2010.
[9]
M. Goldman and R. Miller. Codetrail: Connecting source code and web resources. Journal of Visual Languages & Computing, pages 223––235, 2009.
[10]
R. Holmes and A. Begel. Deep intellisense: a tool for rehydrating evaporated information. In Proceedings of MSR 2008 (5th international working conference on Mining software repositories), pages 23–26. ACM, 2008.
[11]
R. Holmes, R. Walker, and G. Murphy. Strathcona example recommendation tool. SIGSOFT Software Engineering Notes, 30:237–240, 2005.
[12]
O. Kononenko, D. Dietrich, R. Sharma, and R. Holmes. Automatically locating relevant programming help online. In Proceedings of VL /HCC 2012 (The IEEE Symposium on Visual Languages and Human-Centric Computing), pages 127–134. IEEE, 2012.
[13]
D. Lam, S. L. Rohall, C. Schmandt, and M. K. Stern. Exploiting e-mail structure to improve summarization. In Proceeding of CSCW 2002 (ACM Conference on Computer Supported Cooperative). ACM, 2002.
[14]
T. D. LaToza, G. Venolia, and R. DeLine. Maintaining mental models: a study of developer work habits. In Proceedings of ICSE 2006 (28th ACM International Conference on Software Engineering), pages 492–501. ACM, 2006.
[15]
B. Lientz and B. Swanson. Problems in Application Software Maintenance. Communications of the ACM, 24(11):763–769, 1981.
[16]
L. Mamykina, B. Manoim, M. Mittal, G. Hripcsak, and B. Hartmann. Design lessons from the fastest Q&A site in the west. In Proceedings of CHI 2011 (29th Conference on Human factors in computing systems), pages 2857––2866. ACM, 2011.
[17]
R. Moser, W. Pedrycz, and G. Succi. A comparative analysis of the e fficiency of change metrics and static code attributes for defect prediction. In Proceedings of ICSE 2008 (30th International Conference on Software Engineering), pages 181–190. ACM, 2008.
[18]
N. Nagappan, T. Ball, and A. Zeller. Mining metrics to predict component failures. In Proceedings of ICSE 2006 (28th International Conference on Software Engineering), pages 452–461. ACM, 2006.
[19]
L. Ponzanelli, A. Bacchelli, and M. Lanza. Leveraging crowd knowledge for software comprehension and development. In Proceedings of CSMR 2013 (17th IEEE European Conference on Software Maintenance and Reengineering), pages 59–66. IEEE, 2013.
[20]
L. Ponzanelli, A. Bacchelli, and M. Lanza. Seahawk: Stack Overflow in the IDE. In Proceedings of ICSE 2013 (35th ACM /IEEE International Conference on Software Engineering), pages 1295–1298. IEEE CS Press, 2013.
[21]
S. Rastkar, G. Murphy, and G. Murray. Summarizing software artifacts: a case study of bug reports. In Proceedings of ICSE 2010 (32nd ACM /IEEE International Conference on Software Engineering), pages 505–514. ACM, 2010.
[22]
M. P. Robillard, R. J. Walker, and T. Zimmermann. Recommendation systems for software engineering. IEEE Software, 27(4):80–86, 2010.
[23]
N. Sawadsky and G. Murphy. Fishtail: from task context to source code examples. In Proceedings of TOPI 2011 (1st Workshop on Developing Tools as Plug-ins), pages 48–51. ACM, 2011.
[24]
I. Sommerville. Software Engineering. Addison-Wesley, 7th edition, 2004.
[25]
A. M. Sonia Haiduc, Jairo Aponte. Supporting program comprehension with source code summarization. In Proceedings of ICSE 2010 (32nd ACM /IEEE International Conference on Software Engineering), pages 223–226. ACM, 2010.
[26]
K. Spärck Jones. Automatic summarising: The state of the art. Information Processing and Management, 43(6):1449–1481, Nov. 2007.
[27]
J. Stylos and B. A. Myers. Mica: A web-search tool for finding api components and examples. In Proceedings of VL /HCC (The IEEE Symposium on Visual Languages and Human-Centric Computing), pages 195–202, 2006.
[28]
C. Treude, O. Barzilay, and M. A. Storey. How do programmers ask and answer questions on the web? (NIER track). In Proceedings of ICSE 2011 (33rd International Conference on Software Engineering), pages 804–807. ACM, 2011.
[29]
T. Zimmermann, R. Premraj, and A. Zeller. Predicting defects for eclipse. In Proceedings of PROMISE 2007 (3rd International Workshop on Predictor Models in Software Engineering), page 9. IEEE Computer Society, 2007.
[30]
T. Zimmermann, P. Weißgerber, S. Diehl, and A. Zeller. Mining version histories to guide software changes. In 26th International Conference on Software Engineering (ICSE 2004), pages 563–572. IEEE CS Press, 2004.

Cited By

View all
  • (2024)Semantic Web Approaches in Stack OverflowInternational Journal on Semantic Web and Information Systems10.4018/IJSWIS.35861720:1(1-61)Online publication date: 9-Nov-2024
  • (2022)Evaluating the Use of Semantics for Identifying Task-relevant Textual Information2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER53432.2022.00039(240-251)Online publication date: Mar-2022
  • (2020)Blinded by SimplicityProceedings of the 7th International Conference on ICT for Sustainability10.1145/3401335.3401643(116-127)Online publication date: 21-Jun-2020
  • Show More Cited By

Index Terms

  1. Holistic recommender systems for software engineering

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICSE Companion 2014: Companion Proceedings of the 36th International Conference on Software Engineering
    May 2014
    741 pages
    ISBN:9781450327688
    DOI:10.1145/2591062
    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

    In-Cooperation

    • TCSE: IEEE Computer Society's Tech. Council on Software Engin.

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 31 May 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Developer Support
    2. Recommender Systems

    Qualifiers

    • Article

    Conference

    ICSE '14
    Sponsor:

    Acceptance Rates

    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)11
    • Downloads (Last 6 weeks)3
    Reflects downloads up to 22 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Semantic Web Approaches in Stack OverflowInternational Journal on Semantic Web and Information Systems10.4018/IJSWIS.35861720:1(1-61)Online publication date: 9-Nov-2024
    • (2022)Evaluating the Use of Semantics for Identifying Task-relevant Textual Information2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER53432.2022.00039(240-251)Online publication date: Mar-2022
    • (2020)Blinded by SimplicityProceedings of the 7th International Conference on ICT for Sustainability10.1145/3401335.3401643(116-127)Online publication date: 21-Jun-2020
    • (2020)POSITProceedings of the ACM/IEEE 42nd International Conference on Software Engineering10.1145/3377811.3380440(1348-1358)Online publication date: 27-Jun-2020
    • (2020)A Big Data Semantic Driven Context Aware Recommendation MethodIntelligent and Fuzzy Techniques: Smart and Innovative Solutions10.1007/978-3-030-51156-2_103(894-902)Online publication date: 11-Jul-2020
    • (2019)Automatic Identification and Classification of Software Development Video Tutorial FragmentsIEEE Transactions on Software Engineering10.1109/TSE.2017.277947945:5(464-488)Online publication date: 1-May-2019
    • (2019)Enhancing Python Compiler Error Messages via Stack2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)10.1109/ESEM.2019.8870155(1-12)Online publication date: Sep-2019
    • (2019)A Big Data Semantic Driven Context Aware Recommendation Method for Question-Answer ItemsIEEE Access10.1109/ACCESS.2019.29578817(182664-182678)Online publication date: 2019
    • (2016)CodeTubeProceedings of the 38th International Conference on Software Engineering Companion10.1145/2889160.2889172(645-648)Online publication date: 14-May-2016
    • (2016)Too long; didn't watch!Proceedings of the 38th International Conference on Software Engineering10.1145/2884781.2884824(261-272)Online publication date: 14-May-2016
    • 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