1 / 14

Knowledge-oriented Maintenance at the University of Ottawa

Knowledge-oriented Maintenance at the University of Ottawa. Timothy C Lethbridge KOM 2004 - Banff. The Knowledge-Based Reverse Engineering Group at the University of Ottawa. Formed by Tim Lethbridge in 1994 Original focus was strictly knowledge-based work We still do some of that

jersey
Download Presentation

Knowledge-oriented Maintenance at the University of Ottawa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Knowledge-oriented Maintenanceat the University of Ottawa Timothy C Lethbridge KOM 2004 - Banff

  2. The Knowledge-Based Reverse Engineering Group at the University of Ottawa • Formed by Tim Lethbridge in 1994 • Original focus was strictly knowledge-based work • We still do some of that • But our focus has broadened to “tools for helping people deal with complexity”

  3. Project 1: Bullding a Knowledge Base to help software engineering of ObjecTime • History • We had built a series of knowledge management systems (CODE2, CODE4) in the 1989-1994 period • We were working with Nortel to help them grapple with the complexity in their software design tools • We built a KB interactively with their developers • The process helped iron out key concepts • Later, this tool span off as a separate company • Incorporated into Rational, and later into IBM • Reference • My PhD thesis: http://www.site.uottawa.ca/~tcl/thesis_html/thesis_ToC.html

  4. Project 2: A lightweight knowledge base for maintainers • Contained • An ontology of concepts relating to a large telecom system at Mitel • Basic definitions and cross references • Uses • Available for exploration to help new hires learn the system • Hooked to ‘intelligent search’ system to help search for concepts in source code • Hooked to browsing system: When browsing code, maintainers could follow links from words in comments

  5. Project 2 - continued • Experience building the KB: • Done quickly with very little work • Step 1: Scan source code comments and key documents for words and phrases • Step 2: Use a multi-phase ranking/voting UI to have project team members prioritize, organize and categorize concepts • Deployed: • In TkSee at Mitel - used by 15-20 maintainers

  6. Project 2 - continued • References: • Sayyad-Shirabad, J., Lethbridge, T.C. and Lyon, S, (1997, May), "A Little Knowledge Can Go a Long Way Towards Program Understanding", 5th International Workshop on Program Comprehension, Dearborn, MI, pp. 111-117 • Liu, H., and Lethbridge, T.C. (2002), “Intelligent Search Methods for Software Maintenance”, Information Systems Frontiers, 4, 4, pp. 409-423.

  7. Project 3: Mining a maintenance records to find relevant software entities • Premise • When maintaining software, maintainers are often not aware of the files, classes, methods that need to be modified • We want to create an advisor that will study what you are modifying, and suggest other things that might need modifying • This can be done by systematic impact analysis, but we want to try an alternative approach

  8. Project 3 - continued • Approach • Extract all the software entities that have been modified together over several years in the system • Found in the change management system • Extract a wide variety of attributes of all software entities • Apply machine learning to derive a model that predicts, for any pair, whether when modifying one element, you should look at the other • Results • After a major PhD project, we have very good prediction tools

  9. Project 3 - continued • References • Sayyad Shirabad, S, Lethbridge, T.C. and Matwin, S. (2004) “Mining Software the Repository of a Legacy Telephony System”, MSR 2004: International Workshop on Mining Software Repositories, in conjunction with ICSE 2004, Edinburgh Scotland, May, IEE Press • Sayyad Shirabad, J., Lethbridge, T.C. Matwin, S. (2003) “Applying Data Mining to Software Maintenance Records”, proc CASCON 2003, Toronto, October, IBM, in ACM Digital Library, pp. 136-148. • Sayyad Shirabad, J, Lethbridge, T.C., Matwin, S., (2003) “Mining the Maintenance History of a Legacy Software System”, International Conference on Software Maintenance (ICSM), Amsterdam, IEEE Computer Society, pp. 95-104. • Jelber Sayyad’s PhD thesis: http://www.site.uottawa.ca/~tcl/gradtheses/jsayyad/

  10. Project 4 - Proposed work to remodel the UML 2 spec and metamodel in a KB • Premise • The UML 2.0 Spec is confusing and inconsistent • Software engineers could make better use of models of they could have a more consistent and better specified modelling language and tools • UML and modelling is a knowledge-rich area, ready for knowledge management • Status • We are initiating this work with IBM

  11. What knowledge is most important to a maintainer • Simple, navigable facts about their system • But more than just code knowledge • Knowledge about: • The domain • The requirements • The conceptual framework • The terminology used • Simplicity is key

  12. How can this knowledge be best captured, and from where? • Simple tools • Extract terminology from documentation and the system • Have software engineers rank and organize it • They can do 5000 concepts in a day! We did it!

  13. How can we make best use of this knowledge? • In a code exploration tool

  14. This presentation will be at: • http://www.site.uottawa.ca/~tcl/presentations/kom-banff-lethbridge.ppt • Thank-you!

More Related