• Construction of knowledge-based components and applications in Ada

    Type Conference Paper
    Author K. Wallnau
    Author J. Solderitsch
    Author M. Simos
    Author R. McDowell
    Author K. Cassell
    Author D. Campbell
    Date November, 1988
    Proceedings Title Proceedings of AIDA-88, Fourth Annual Conference on Artificial Intelligence and Ada
    Place George Mason University
    Pages 3
    Date Added Wed May 25 19:40:49 2011
    Modified Wed May 25 19:45:49 2011
  • A Dual Clustering Approach to the Extract Class Refactoring

    PDF version
    Type Conference Paper
    Author Keith Cassell
    Author Peter Andreae
    Author Lindsay Groves
    Abstract Large classes typically have many internal interactions between their members, making them difficult to understand and expensive to maintain. When large classes are split into smaller, more cohesive classes, maintainability costs can be reduced; however, the very complexity that makes the classes costly to maintain also makes them difficult to split. Our ExtC tool uses clustering techniques to help solve this problem. By clustering based on the structural characteristics of the class, followed by additional clustering based on semantics, ExtC divides the members of large classes into groups. These groups provide the basis for refactoring the large classes into smaller, more cohesive ones.
    Date July 7-9, 2011
    Proceedings Title Proceedings of the 23rd International Conference on Software Engineering and Knowledge Engineering
    Conference Name SEKE 2011
    Place Miami, FL
    Pages 77-82
  • The RLF Librarian: A Reusability Librarian Based on Cooperating Knowledge-Based Systems

    PDF version
    Type Conference Paper
    Author Raymond C McDowell
    Author Keith A Cassell
    Abstract Knowledge-based techniques provide tremendous leverage for managing and using repositories of reusable software. The Unisys Reusability Library Framework demonstrates this by providing an intelligent Librarian application that operates on a model of a software domain. The Librarian uses structured inheritance networks to model the library domain and organize the repository contents. The resulting structure of the domain model allows convenient repository browsing and component retrieval and provides a foundation for a variety of powerful tools. Rule-based inferencers complement this structure by making heuristic knowledge and advice available to the user. This makes the domain knowledge and repository organization more accessible to the user. The RLF uses a hybridization of these two knowledge representation paradigms, taking advantage of the strengths of each to provide intelligent assistance in the use and management of a software repository.
    Date September 1989
    Proceedings Title Proceedings of the 4th Annual Rome Air Development Center Knowledge-Based Software Assistant Conference
    Conference Name KBSA-4
    Short Title The RLF Librarian
    URL http://citeseerx.ist.psu.edu/viewdoc/summary?
    doi=10.1.1.56.7975
    Accessed Wed Jul 29 09:37:57 2009
    Date Added Wed Jul 29 09:37:57 2009
    Modified Wed May 25 19:49:12 2011

    Tags:

    • kbs
    • reusability
    • semantic networks
  • An Initial Test Suite for Automated Extract Class Refactorings

    Type Report
    Author Keith Cassell
    Author Peter Andreae
    Author Lindsay Groves
    Author James Noble
    Abstract When developing object-oriented classes, it is difficult to determine how to best refactor large, complex classes to create smaller, more cohesive ones. Automated algorithms can recommend solutions, but how can a programmer feel confident that an algorithm's recommendations are good ones? The test suite described here provides test classes for use as inputs to these automated algorithms, together with the preferred results - the class members that should be distributed to the extracted class. By comparing the actual results to the expected ones, a programmer can have some confidence that his algorithms are providing useful suggestions for refactoring.
    Report Number ECSTR 10-21
    Report Type Technical Report
    Place Wellington, NZ
    Institution Victoria University of Wellington, Dept. ECS
    Date September 17, 2010
    Pages 13
    URL http://ecs.victoria.ac.nz/twiki/pub/Main/TechnicalReportSeries/ECSTR10-21.pdf
    Date Added Fri Sep 17 16:23:45 2010
    Modified Fri Oct 8 17:25:54 2010

    Tags:

    • extract class
    • refactoring
    • test suite
  • Visualizing the Refactoring of Classes via Clustering

    PDF version
    Type Conference Paper
    Author Keith Cassell
    Author Craig Anslow
    Author Lindsay Groves
    Author Peter Andreae
    Abstract When developing object-oriented classes, it is difficult to determine how to best reallocate the members of large, complex classes to create smaller, more cohesive ones. Clustering techniques can provide guidance on how to solve this allocation problem; however, inappropriate use of clustering can result in a class structure that is less maintainable than the original. The ExtC Visualizer helps the programmer understand the class structure by visually emphasizing important features of the class's members and their inter-relationships. More importantly, it helps users see how various clustering algorithms group the class's members. These insights help a programmer choose appropriate techniques for refactoring large classes.
    Date January 2011
    Proceedings Title Proc. Australasian Computer Science Conference (ACSC 2011)
    Conference Name Australasian Computer Science Conference (ACSC '11)
    Place Perth, Australia
    Publisher ACS
    Volume 113
    Pages 63-72
    Series CRPIT
    Date Added Thu Dec 2 16:59:04 2010
    Modified Fri Jan 28 11:26:07 2011

    Tags:

    • clustering
    • extract class
    • refactoring
    • visualization

    Attachments

    • clusteringVisCassell11.pdf
  • Towards Automating Class-Splitting Using Betweenness Clustering

    Type Conference Paper
    Author Keith Cassell
    Author Peter Andreae
    Author Lindsay Groves
    Author James Noble
    Abstract Large, unwieldy classes are a significant maintenance problem. Programmers dislike them because the fundamental logic is often obscured, making them hard to understand and modify. This paper proposes a solution - a semi-automatic technique for splitting large classes into smaller, more cohesive ones. The core of the technique is the use of betweenness clustering to identify the best way of partitioning a class. This turned a tedious manual process into a quick and simple semi-automated one in roughly one third of the cases we examined.
    Date 16-20 November 2009
    Proceedings Title 24th IEEE/ACM International Conference on Automated Software Engineering
    Conference Name ASE 2009
    Place Auckland, NZ
    Pages 595-599
    DOI 10.1109/ASE.2009.21
    ISBN 978-1-4244-5259-0
    Date Added Wed Nov 25 16:30:19 2009
    Modified Wed Mar 2 20:47:00 2011

    Tags:

    • betweenness
    • clustering
    • cohesion
    • graphs
    • maintainability
    • refactoring

    Attachments

    • betweennessPaperCassell09.pdf
  • Analyzing the Run-time Behavior of Logic Programs

    Type Report
    Author William Alexander
    Author Ellen Boughter
    Author Keith Cassell
    Author Tom Keller
    Report Number MCC Technical Report Number DB-064-86
    Institution MCC
    Date 1986
    Date Added Thu Nov 26 10:55:15 2009
    Modified Thu Nov 26 10:57:33 2009
  • A Tool for the Static Analysis of Prolog Programs

    Type Report
    Author Keith Cassell
    Author Tom Keller
    Report Number MCC Technical Report Number DB-148-85
    Institution MCC
    Date 1985
    Date Added Thu Nov 26 12:21:19 2009
    Modified Thu Nov 26 12:23:12 2009
  • Construction of Knowledge-Based Components and Applications in Ada

    Type Journal Article
    Author Kurt Wallnau
    Author James Solderitsch
    Author Mark Simos
    Author Raymond McDowell
    Author Keith Cassell
    Author David Campbell
    Publication Intelligent Systems Review
    Volume 1
    Issue 4
    Date 1989
    Date Added Fri Aug 7 14:49:54 2009
    Modified Thu Nov 26 10:53:29 2009

    Notes:

    • Also available in the Proceedings of AIDA, Fourth Annual Conference on Artificial Intelligence and Ada. November, 1988. p.p. 3-1 through 3-21.

  • Tools for the analysis of large Prolog programs

    Type Thesis
    Author Keith A Cassell
    Type Master's thesis
    University University of Texas - Austin
    Date 1985
    Date Added Wed Jul 29 09:49:39 2009
    Modified Wed Nov 25 17:38:45 2009

    Notes:

    • Also available as MCC Technical Report Number DB-171-85. 1985.