Knowledge-oriented Maintenance at the University of Ottawa - PowerPoint PPT Presentation

About This Presentation
Title:

Knowledge-oriented Maintenance at the University of Ottawa

Description:

The Knowledge-Based Reverse Engineering Group at the University of Ottawa ... Project 1: Bullding a Knowledge Base to help software engineering of ObjecTime. History ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 15
Provided by: timothyle
Category:

less

Transcript and Presenter's Notes

Title: Knowledge-oriented Maintenance at the University of Ottawa


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/the
    sis_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 Sayyads PhD thesis http//www.site.uottaw
    a.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!
Write a Comment
User Comments (0)
About PowerShow.com