StarCharter: A Tool for Mining Concept Recipes

Size: px
Start display at page:

Download "StarCharter: A Tool for Mining Concept Recipes"

Transcription

1 StarCharter: A Tool for Mining Concept Recipes Steven She ECE750-T05: Static Analysis for Software Engineering November 28 st, 2008 Steven She StarCharter:A Tool for Mining Concept Recipes 1/22

2 Outline 1 Introduction 2 Concept Slicing 3 Data Mining 4 Walkthrough 5 Conclusions Steven She StarCharter:A Tool for Mining Concept Recipes 2/22

3 What is StarCharter? Makes a recipe describing framework usage using examples Steven She StarCharter:A Tool for Mining Concept Recipes 3/22

4 What is StarCharter? Makes a recipe describing framework usage using examples Steven She StarCharter:A Tool for Mining Concept Recipes 3/22

5 What is StarCharter? Makes a recipe describing framework usage using examples Steven She StarCharter:A Tool for Mining Concept Recipes 3/22

6 What sets StarCharter apart? Constructs a single recipe Recipe is a probabilistic model Used for tool support or framework modeling Address usage of white-box frameworks Steven She StarCharter:A Tool for Mining Concept Recipes 4/22

7 Overview Query Provide hints for finding concept events Concept Slicing Find related events Data Mining Find usage patterns among multiple examples Recipe Output a single probabilistic model describing usage Steven She StarCharter:A Tool for Mining Concept Recipes 5/22

8 Concept Slicing Reduce an example to a minimal set of statements that retains the specified behaviour Source code Steven She StarCharter:A Tool for Mining Concept Recipes 6/22

9 Concept Slicing Reduce an example to a minimal set of statements that retains the specified behaviour Source code Concept Slicer with Query Steven She StarCharter:A Tool for Mining Concept Recipes 6/22

10 Concept Slicing Reduce an example to a minimal set of statements that retains the specified behaviour Source code Concept Slicer with Query Relevant Events Steven She StarCharter:A Tool for Mining Concept Recipes 6/22

11 Forward Slice 1 public class HelloWorld extends JApplet { 2 3 public static final String HELLO_WORLD = "Hello World!"; 4 Image smiley; 5 6 public HelloWorld() { 7 smiley = getimage(getcodebase(), "images/smilegif"); 8 Container contentpane = getcontentpane(); 9 JLabel hwlabel = new JLabel(HELLO_WORLD); 10 contentpaneadd(hwlabel); 11 play(getcodebase(), "audio/woohoowav"); 12 } 13 } Steven She StarCharter:A Tool for Mining Concept Recipes 7/22

12 Forward Slice 1 public class HelloWorld extends JApplet { 2 3 public static final String HELLO_WORLD = "Hello World!"; 4 Image smiley; 5 6 public HelloWorld() { 7 smiley = getimage(getcodebase(), "images/smilegif"); 8 Container contentpane = getcontentpane(); 9 JLabel hwlabel = new JLabel(HELLO_WORLD); 10 contentpaneadd(hwlabel); 11 play(getcodebase(), "audio/woohoowav"); 12 } 13 } Steven She StarCharter:A Tool for Mining Concept Recipes 7/22

13 Backward Slice 1 public class HelloWorld extends JApplet { 2 3 public static final String HELLO_WORLD = "Hello World!"; 4 Image smiley; 5 6 public HelloWorld() { 7 smiley = getimage(getcodebase(), "images/smilegif"); 8 Container contentpane = getcontentpane(); 9 JLabel hwlabel = new JLabel(HELLO_WORLD); 10 contentpaneadd(hwlabel); 11 play(getcodebase(), "audio/woohoowav"); 12 } 13 } Steven She StarCharter:A Tool for Mining Concept Recipes 7/22

14 Backward Slice 1 public class HelloWorld extends JApplet { 2 3 public static final String HELLO_WORLD = "Hello World!"; 4 Image smiley; 5 6 public HelloWorld() { 7 smiley = getimage(getcodebase(), "images/smilegif"); 8 Container contentpane = getcontentpane(); 9 JLabel hwlabel = new JLabel(HELLO_WORLD); 10 contentpaneadd(hwlabel); 11 play(getcodebase(), "audio/woohoowav"); 12 } 13 } Steven She StarCharter:A Tool for Mining Concept Recipes 7/22

15 Unrelated Statements 1 public class HelloWorld extends JApplet { 2 3 public static final String HELLO_WORLD = "Hello World!"; 4 Image smiley; 5 6 public HelloWorld() { 7 smiley = getimage(getcodebase(), "images/smilegif"); 8 Container contentpane = getcontentpane(); 9 JLabel hwlabel = new JLabel(HELLO_WORLD); 10 contentpaneadd(hwlabel); 11 play(getcodebase(), "audio/woohoowav"); 12 } 13 } Steven She StarCharter:A Tool for Mining Concept Recipes 7/22

16 Framework Slicing Framework: javaxswing* 1 public class HelloWorldPresentation extends JApplet { 2 3 public static final String HELLO_WORLD = "Hello World!"; 4 5 public HelloWorldPresentation() { 6 Container contentpane = getcontentpane(); 7 JLabel hwlabel = new JLabel(HELLO_WORLD); 8 StringBuilder builder = new StringBuilder(HELLO_WORLD); 9 Formatter fmt = new Formatter(builder); 10 fmtformat("%s %s", HELLO_WORLD, HELLO_WORLD); 11 contentpaneadd(hwlabel); 12 } 13 } Steven She StarCharter:A Tool for Mining Concept Recipes 8/22

17 Framework Slicing Framework: javaxswing* 1 public class HelloWorldPresentation extends JApplet { 2 3 public static final String HELLO_WORLD = "Hello World!"; 4 5 public HelloWorldPresentation() { 6 Container contentpane = getcontentpane(); 7 JLabel hwlabel = new JLabel(HELLO_WORLD); 8 StringBuilder builder = new StringBuilder(HELLO_WORLD); 9 Formatter fmt = new Formatter(builder); 10 fmtformat("%s %s", HELLO_WORLD, HELLO_WORLD); 11 contentpaneadd(hwlabel); 12 } 13 } Steven She StarCharter:A Tool for Mining Concept Recipes 8/22

18 Framework Slicing Framework: javaxswing* 1 public class HelloWorldPresentation extends JApplet { 2 3 public static final String HELLO_WORLD = "Hello World!"; 4 5 public HelloWorldPresentation() { 6 Container contentpane = getcontentpane(); 7 JLabel hwlabel = new JLabel(HELLO_WORLD); 8 StringBuilder builder = new StringBuilder(HELLO_WORLD); 9 Formatter fmt = new Formatter(builder); 10 fmtformat("%s %s", HELLO_WORLD, HELLO_WORLD); 11 contentpaneadd(hwlabel); 12 } 13 } Steven She StarCharter:A Tool for Mining Concept Recipes 8/22

19 Framework Slicing Framework: javaxswing* 1 public class HelloWorldPresentation extends JApplet { 2 3 public static final String HELLO_WORLD = "Hello World!"; 4 5 public HelloWorldPresentation() { 6 Container contentpane = getcontentpane(); 7 JLabel hwlabel = new JLabel(HELLO_WORLD); 8 StringBuilder builder = new StringBuilder(HELLO_WORLD); 9 Formatter fmt = new Formatter(builder); 10 fmtformat("%s %s", HELLO_WORLD, HELLO_WORLD); 11 contentpaneadd(hwlabel); 12 } 13 } Steven She StarCharter:A Tool for Mining Concept Recipes 8/22

20 Sliced Events Example Location Event HelloWorld constructor add(component) HelloWorld constructor new JLabel(String) HelloWorld constructor getcontentpane() Store both the event and its location Steven She StarCharter:A Tool for Mining Concept Recipes 9/22

21 Concept Slicing Source code Concept Slicer with Query Relevant Events Steven She StarCharter:A Tool for Mining Concept Recipes 10/22

22 Creating the Recipe Events 1 Events 2 Events 3 Events 4 Sliced Events Steven She StarCharter:A Tool for Mining Concept Recipes 11/22

23 Creating the Recipe Events 1 Events 2 Events 3 Events 4 Sliced Events Data Miner Steven She StarCharter:A Tool for Mining Concept Recipes 11/22

24 Creating the Recipe Events 1 Events 2 Events 3 Events 4 Sliced Events Data Miner Recipe Steven She StarCharter:A Tool for Mining Concept Recipes 11/22

25 Feature Model Mining Mine for probabilistic expressions called Association Rules Steven She StarCharter:A Tool for Mining Concept Recipes 12/22

26 Feature Model Mining Mine for probabilistic expressions called Association Rules Association Rule conf calls:getcontentpane() calls:add(component) 50% Steven She StarCharter:A Tool for Mining Concept Recipes 12/22

27 Feature Model Mining Mine for probabilistic expressions called Association Rules Association Rule conf calls:getcontentpane() calls:add(component) 50% new:label calls:add(component) 100% Steven She StarCharter:A Tool for Mining Concept Recipes 12/22

28 Feature Model Mining Mine for probabilistic expressions called Association Rules Association Rule conf calls:getcontentpane() calls:add(component) 50% new:label calls:add(component) 100% Hello World paint constructor 100% Steven She StarCharter:A Tool for Mining Concept Recipes 12/22

29 Feature Model Mining Mine for probabilistic expressions called Association Rules Association Rule conf calls:getcontentpane() calls:add(component) 50% new:label calls:add(component) 100% Hello World paint constructor 100% Hello World constructor 67% Steven She StarCharter:A Tool for Mining Concept Recipes 12/22

30 Feature Model Mining Mine for probabilistic expressions called Association Rules Association Rule conf calls:getcontentpane() calls:add(component) 50% new:label calls:add(component) 100% Hello World paint constructor 100% Hello World constructor 67% paint constructor 100% Steven She StarCharter:A Tool for Mining Concept Recipes 12/22

31 Mined Recipe Steven She StarCharter:A Tool for Mining Concept Recipes 13/22

32 Step 1: Input Query User stars a line of code in a framework application Extension: Possible to star several statements Steven She StarCharter:A Tool for Mining Concept Recipes 14/22

33 Step 1: Input Query User stars a line of code in a framework application Extension: Possible to star several statements Steven She StarCharter:A Tool for Mining Concept Recipes 14/22

34 Step 2: Find Related Usages Search the project for other instances of the starred code Scope currently restricted to a single class Use the Eclipse JDT SearchEngine Steven She StarCharter:A Tool for Mining Concept Recipes 15/22

35 Step 2: Find Related Usages Calls: References to calls of the same name class A { Formatter x = ; xformat(" ", x, y, z); } class B { Formatter y = ; yformat("hello %s!", x); } Steven She StarCharter:A Tool for Mining Concept Recipes 16/22

36 Step 2: Find Related Usages Variables: Assigned the same type or literal class A { JLabel label = new JLabel("Hello World!"); } class B { JLabel label = new JLabel("Test", LEFT); } Steven She StarCharter:A Tool for Mining Concept Recipes 17/22

37 Step 3: Slice Related Expression Input to Slicer: expression, class Construct a dependency graph for each class Nodes are expressions Edges are data dependence and control dependence Reachability determines slice example Steven She StarCharter:A Tool for Mining Concept Recipes 18/22

38 Step 3: Slice Related Expression Input to Slicer: expression, class Construct a dependency graph for each class Nodes are expressions Edges are data dependence and control dependence Reachability determines slice example Steven She StarCharter:A Tool for Mining Concept Recipes 18/22

39 Step 4: Data Mining One Slice is One Configuration Each expression in slice is a feature Expressions in the slice are unordered Also mine on structural properties Steven She StarCharter:A Tool for Mining Concept Recipes 19/22

40 Uses for the Tool 1 An enhanced search for references in Eclipse Ranks usages by comparing a related usage with the recipe Similar to PARSEWeb's clustering 2 The recipe is a model The recipe can be used for modelling FSMLs 3 Recipe as an expert system Using Herman's tool, it can act like FrUiT Steven She StarCharter:A Tool for Mining Concept Recipes 20/22

41 Uses for the Tool 1 An enhanced search for references in Eclipse Ranks usages by comparing a related usage with the recipe Similar to PARSEWeb's clustering 2 The recipe is a model The recipe can be used for modelling FSMLs 3 Recipe as an expert system Using Herman's tool, it can act like FrUiT Steven She StarCharter:A Tool for Mining Concept Recipes 20/22

42 Uses for the Tool 1 An enhanced search for references in Eclipse Ranks usages by comparing a related usage with the recipe Similar to PARSEWeb's clustering 2 The recipe is a model The recipe can be used for modelling FSMLs 3 Recipe as an expert system Using Herman's tool, it can act like FrUiT Steven She StarCharter:A Tool for Mining Concept Recipes 20/22

43 Conclusions Query Concept Slicing Data Mining Recipe Constructs a recipe from a set of examples Slicing finds related statements given a query Data mining merges sliced events from each example into a recipe Steven She StarCharter:A Tool for Mining Concept Recipes 21/22

44 Future Work Adding control dependence Fuzzy matching for literals Semantics for queries When is concept slicing useful? Steven She StarCharter:A Tool for Mining Concept Recipes 22/22

Mining framework concepts from application code

Mining framework concepts from application code Mining framework concepts from application code Steven She Generative Software Developement Lab August 19, 2009 Steven She Mining framework concepts from application code 1/22 Outline 1 Introduction 2

More information

Recitation 02/02/07 Defining Classes and Methods. Chapter 4

Recitation 02/02/07 Defining Classes and Methods. Chapter 4 Recitation 02/02/07 Defining Classes and Methods 1 Miscellany Project 2 due last night Exam 1 (Ch 1-4) Thursday, Feb. 8, 8:30-9:30pm PHYS 112 Sample Exam posted Project 3 due Feb. 15 10:00pm check newsgroup!

More information

Chapter 13. Applets and HTML. HTML Applets. Chapter 13 Java: an Introduction to Computer Science & Programming - Walter Savitch 1

Chapter 13. Applets and HTML. HTML Applets. Chapter 13 Java: an Introduction to Computer Science & Programming - Walter Savitch 1 Chapter 13 Applets and HTML HTML Applets Chapter 13 Java: an Introduction to Computer Science & Programming - Walter Savitch 1 Overview Applets: Java programs designed to run from a document on the Internet

More information

Defining Classes and Methods

Defining Classes and Methods Defining Classes and Methods Chapter 4 Chapter 4 1 Basic Terminology Objects can represent almost anything. A class defines a kind of object. It specifies the kinds of data an object of the class can have.

More information

Introduction. Introduction

Introduction. Introduction Introduction Many Java application use a graphical user interface or GUI (pronounced gooey ). A GUI is a graphical window or windows that provide interaction with the user. GUI s accept input from: the

More information

Java Swing Introduction

Java Swing Introduction Course Name: Advanced Java Lecture 18 Topics to be covered Java Swing Introduction What is Java Swing? Part of the Java Foundation Classes (JFC) Provides a rich set of GUI components Used to create a Java

More information

An applet is a program written in the Java programming language that can be included in an HTML page, much in the same way an image is included in a

An applet is a program written in the Java programming language that can be included in an HTML page, much in the same way an image is included in a CBOP3203 An applet is a program written in the Java programming language that can be included in an HTML page, much in the same way an image is included in a page. When you use a Java technology-enabled

More information

Java Swing. Lists Trees Tables Styled Text Components Progress Indicators Component Organizers

Java Swing. Lists Trees Tables Styled Text Components Progress Indicators Component Organizers Course Name: Advanced Java Lecture 19 Topics to be covered Java Swing Lists Trees Tables Styled Text Components Progress Indicators Component Organizers AWT to Swing AWT: Abstract Windowing Toolkit import

More information

When Modeling meets Productivity. Sven Efftinge - itemis

When Modeling meets Productivity. Sven Efftinge - itemis When Modeling meets Productivity Sven Efftinge - itemis I Eclipse JDT I GIT So what s the Problem? It s the Language not the Tooling! Level of Abstraction Reuse existing, proven technology and apply

More information

Class 16: The Swing Event Model

Class 16: The Swing Event Model Introduction to Computation and Problem Solving Class 16: The Swing Event Model Prof. Steven R. Lerman and Dr. V. Judson Harward 1 The Java Event Model Up until now, we have focused on GUI's to present

More information

CSC 1214: Object-Oriented Programming

CSC 1214: Object-Oriented Programming CSC 1214: Object-Oriented Programming J. Kizito Makerere University e-mail: jkizito@cis.mak.ac.ug www: http://serval.ug/~jona materials: http://serval.ug/~jona/materials/csc1214 e-learning environment:

More information

Original GUIs. IntroGUI 1

Original GUIs. IntroGUI 1 Original GUIs IntroGUI 1 current GUIs IntroGUI 2 Why GUIs? IntroGUI 3 Computer Graphics technology enabled GUIs and computer gaming. GUI's were 1985 breakout computer technology. Without a GUI there would

More information

Introduction to Graphical Interface Programming in Java. Introduction to AWT and Swing

Introduction to Graphical Interface Programming in Java. Introduction to AWT and Swing Introduction to Graphical Interface Programming in Java Introduction to AWT and Swing GUI versus Graphics Programming Graphical User Interface (GUI) Graphics Programming Purpose is to display info and

More information

Agenda. Container and Component

Agenda. Container and Component Agenda Types of GUI classes/objects Step-by-step guide to create a graphic user interface Step-by-step guide to event-handling PS5 Problem 1 PS5 Problem 2 Container and Component There are two types of

More information

CS 251 Intermediate Programming GUIs: Components and Layout

CS 251 Intermediate Programming GUIs: Components and Layout CS 251 Intermediate Programming GUIs: Components and Layout Brooke Chenoweth University of New Mexico Fall 2017 import javax. swing.*; Hello GUI public class HelloGUI extends JFrame { public HelloGUI ()

More information

TABLE OF CONTENTS CHAPTER NO. TITLE PAGENO. LIST OF TABLES LIST OF FIGURES LIST OF ABRIVATION

TABLE OF CONTENTS CHAPTER NO. TITLE PAGENO. LIST OF TABLES LIST OF FIGURES LIST OF ABRIVATION vi TABLE OF CONTENTS ABSTRACT LIST OF TABLES LIST OF FIGURES LIST OF ABRIVATION iii xii xiii xiv 1 INTRODUCTION 1 1.1 WEB MINING 2 1.1.1 Association Rules 2 1.1.2 Association Rule Mining 3 1.1.3 Clustering

More information

Introduction to Computation and Problem Solving

Introduction to Computation and Problem Solving Class 1: Introduction Introduction to Computation and Problem Solving Prof. Steven R. Lerman and Dr. V. Judson Harward Handouts for Today Course syllabus Academic Honesty Guidelines Laptop request form

More information

1. What is Jav a? simple

1. What is Jav a? simple 1. What is Jav a? Thanks to Java is a new programming language developed at Sun under the direction of James Gosling. As far as possible it is based on concepts from C, Objective C and C++. Java is interpreted

More information

Graphical User Interfaces in Java

Graphical User Interfaces in Java COMP16121 Graphical User Interfaces in Java COMP16121 Sean Bechhofer sean.bechhofer@manchester.ac.uk Why? With the dominance of windows-based systems, Graphical User Interfaces (GUIs) are everywhere. They

More information

MIT AITI Swing Event Model Lecture 17

MIT AITI Swing Event Model Lecture 17 MIT AITI 2004 Swing Event Model Lecture 17 The Java Event Model In the last lecture, we learned how to construct a GUI to present information to the user. But how do GUIs interact with users? How do applications

More information

The first applet we shall build will ask the user how many times the die is to be tossed. The request is made by utilizing a JoptionPane input form:

The first applet we shall build will ask the user how many times the die is to be tossed. The request is made by utilizing a JoptionPane input form: Lecture 5 In this lecture we shall discuss the technique of constructing user-defined methods in a class. The discussion will be centered about an experiment of tossing a die a specified number of times.

More information

Introduction to the JAVA UI classes Advanced HCI IAT351

Introduction to the JAVA UI classes Advanced HCI IAT351 Introduction to the JAVA UI classes Advanced HCI IAT351 Week 3 Lecture 1 17.09.2012 Lyn Bartram lyn@sfu.ca About JFC and Swing JFC Java TM Foundation Classes Encompass a group of features for constructing

More information

Command-Line Applications. GUI Libraries GUI-related classes are defined primarily in the java.awt and the javax.swing packages.

Command-Line Applications. GUI Libraries GUI-related classes are defined primarily in the java.awt and the javax.swing packages. 1 CS257 Computer Science I Kevin Sahr, PhD Lecture 14: Graphical User Interfaces Command-Line Applications 2 The programs we've explored thus far have been text-based applications A Java application is

More information

Lab 4. D0010E Object-Oriented Programming and Design. Today s lecture. GUI programming in

Lab 4. D0010E Object-Oriented Programming and Design. Today s lecture. GUI programming in Lab 4 D0010E Object-Oriented Programming and Design Lecture 9 Lab 4: You will implement a game that can be played over the Internet. The networking part has already been written. Among other things, the

More information

Lecture 7: Relevance Feedback and Query Expansion

Lecture 7: Relevance Feedback and Query Expansion Lecture 7: Relevance Feedback and Query Expansion Information Retrieval Computer Science Tripos Part II Ronan Cummins Natural Language and Information Processing (NLIP) Group ronan.cummins@cl.cam.ac.uk

More information

17 GUI API: Container 18 Hello world with a GUI 19 GUI API: JLabel 20 GUI API: Container: add() 21 Hello world with a GUI 22 GUI API: JFrame: setdefau

17 GUI API: Container 18 Hello world with a GUI 19 GUI API: JLabel 20 GUI API: Container: add() 21 Hello world with a GUI 22 GUI API: JFrame: setdefau List of Slides 1 Title 2 Chapter 13: Graphical user interfaces 3 Chapter aims 4 Section 2: Example:Hello world with a GUI 5 Aim 6 Hello world with a GUI 7 Hello world with a GUI 8 Package: java.awt and

More information

GUI and its COmponent Textfield, Button & Label. By Iqtidar Ali

GUI and its COmponent Textfield, Button & Label. By Iqtidar Ali GUI and its COmponent Textfield, Button & Label By Iqtidar Ali GUI (Graphical User Interface) GUI is a visual interface to a program. GUI are built from GUI components. A GUI component is an object with

More information

FrUiT: IDE Support for Framework Understanding

FrUiT: IDE Support for Framework Understanding FrUiT: IDE Support for Framework Understanding Marcel Bruch Thorsten Schäfer Mira Mezini Software Technology Group Department of Computer Science Darmstadt University of Technology {bruch,schaefer,mezini}@st.informatik.tu-darmstadt.de

More information

ImgSeek: Capturing User s Intent For Internet Image Search

ImgSeek: Capturing User s Intent For Internet Image Search ImgSeek: Capturing User s Intent For Internet Image Search Abstract - Internet image search engines (e.g. Bing Image Search) frequently lean on adjacent text features. It is difficult for them to illustrate

More information

Graphical User Interface (GUI)

Graphical User Interface (GUI) Graphical User Interface (GUI) An example of Inheritance and Sub-Typing 1 Java GUI Portability Problem Java loves the idea that your code produces the same results on any machine The underlying hardware

More information

Class 14: Introduction to the Swing Toolkit

Class 14: Introduction to the Swing Toolkit Introduction to Computation and Problem Solving Class 14: Introduction to the Swing Toolkit Prof. Steven R. Lerman and Dr. V. Judson Harward 1 Class Preview Over the next 5 lectures, we will introduce

More information

Control Flow: Overview CSE3461. An Example of Sequential Control. Control Flow: Revisited. Control Flow Paradigms: Reacting to the User

Control Flow: Overview CSE3461. An Example of Sequential Control. Control Flow: Revisited. Control Flow Paradigms: Reacting to the User CSE3461 Control Flow Paradigms: Reacting to the User Control Flow: Overview Definition of control flow: The sequence of execution of instructions in a program. Control flow is determined at run time by

More information

Visual Data Mining. Overview. Apr. 24, 2007 Visual Analytics presentation Julia Nam

Visual Data Mining. Overview. Apr. 24, 2007 Visual Analytics presentation Julia Nam Overview Visual Data Mining Apr. 24, 2007 Visual Analytics presentation Julia Nam Visual Classification: An Interactive Approach to Decision Tree Construction M. Ankerst, C. Elsen, M. Ester, H. Kriegel,

More information

Graphic Interface Programming II Using Swing and OOP more advanced issues. Uppsala universitet

Graphic Interface Programming II Using Swing and OOP more advanced issues. Uppsala universitet Graphic Interface Programming II Using Swing and OOP more advanced issues IT Uppsala universitet Good interface programming Swing is an EXTENDIBLE toolkit Build your OWN components Many times you need

More information

Swing Programming Example Number 2

Swing Programming Example Number 2 1 Swing Programming Example Number 2 Problem Statement (Part 1 and 2 (H/w- assignment) 2 Demonstrate the use of swing Label, TextField, RadioButton, CheckBox, Listbox,Combo Box, Toggle button,image Icon

More information

11/6/15. Objec&ves. RouleQe. Assign 8: Understanding Code. Assign 8: Bug. Assignment 8 Ques&ons? PROGRAMMING PARADIGMS

11/6/15. Objec&ves. RouleQe. Assign 8: Understanding Code. Assign 8: Bug. Assignment 8 Ques&ons? PROGRAMMING PARADIGMS Objec&ves RouleQe Assign 8: Refactoring for Extensibility Programming Paradigms Introduc&on to GUIs in Java Ø Event handling Nov 6, 2015 Sprenkle - CSCI209 1 Nov 6, 2015 Sprenkle - CSCI209 2 Assign 8:

More information

Using NetBeans IDE for Desktop Development. Geertjan Wielenga

Using NetBeans IDE for Desktop Development. Geertjan Wielenga Using NetBeans IDE for Desktop Development Geertjan Wielenga http://blogs.sun.com/geertjan Introduction Standards Resurgence of Swing Performance & look and feel Delivery over the web Layout manager &

More information

Feature Location via Information Retrieval based Filtering of a Single Scenario Execution Trace

Feature Location via Information Retrieval based Filtering of a Single Scenario Execution Trace Feature Location via Information Retrieval based Filtering of a Single Scenario Execution Trace Dapeng Liu, Andrian Marcus, Denys Poshyvanyk, Václav Rajlich SEVERE Group @ Incremental Change of Software

More information

Object-Oriented Programming: Revision. Revision / Graphics / Subversion. Ewan Klein. Inf1 :: 2008/09

Object-Oriented Programming: Revision. Revision / Graphics / Subversion. Ewan Klein. Inf1 :: 2008/09 Object-Oriented Programming: Revision / Graphics / Subversion Inf1 :: 2008/09 Breaking out of loops, 1 Task: Implement the method public void contains2(int[] nums). Given an array of ints and a boolean

More information

Using Information Retrieval to Support Software Evolution

Using Information Retrieval to Support Software Evolution Using Information Retrieval to Support Software Evolution Denys Poshyvanyk Ph.D. Candidate SEVERE Group @ Software is Everywhere Software is pervading every aspect of life Software is difficult to make

More information

Basic Keywords Practice Session

Basic Keywords Practice Session Basic Keywords Practice Session Introduction In this article from my free Java 8 course, we will apply what we learned in my Java 8 Course Introduction to our first real Java program. If you haven t yet,

More information

Magento Technical Guidelines

Magento Technical Guidelines Magento Technical Guidelines Eugene Shakhsuvarov, Software Engineer @ Magento 2018 Magento, Inc. Page 1 Magento 2 Technical Guidelines Document which describes the desired technical state of Magento 2

More information

EDA 2015 Bruxelles 2 3 avril 2015

EDA 2015 Bruxelles 2 3 avril 2015 TLabel: Text clustering and labelling in OLAP environment EDA 2015 Bruxelles 2 3 avril 2015 TLabel Nouvel opérateur d agrégation par catégorisation dans les cubes de textes Lamia Oukid, Omar Boussaid,

More information

Lab #1: A Quick Introduction to the Eclipse IDE

Lab #1: A Quick Introduction to the Eclipse IDE Lab #1: A Quick Introduction to the Eclipse IDE Eclipse is an integrated development environment (IDE) for Java programming. Actually, it is capable of much more than just compiling Java programs but that

More information

Effective Latent Space Graph-based Re-ranking Model with Global Consistency

Effective Latent Space Graph-based Re-ranking Model with Global Consistency Effective Latent Space Graph-based Re-ranking Model with Global Consistency Feb. 12, 2009 1 Outline Introduction Related work Methodology Graph-based re-ranking model Learning a latent space graph A case

More information

Customer Clustering using RFM analysis

Customer Clustering using RFM analysis Customer Clustering using RFM analysis VASILIS AGGELIS WINBANK PIRAEUS BANK Athens GREECE AggelisV@winbank.gr DIMITRIS CHRISTODOULAKIS Computer Engineering and Informatics Department University of Patras

More information

Data Mining Cluster Analysis: Basic Concepts and Algorithms. Slides From Lecture Notes for Chapter 8. Introduction to Data Mining

Data Mining Cluster Analysis: Basic Concepts and Algorithms. Slides From Lecture Notes for Chapter 8. Introduction to Data Mining Data Mining Cluster Analysis: Basic Concepts and Algorithms Slides From Lecture Notes for Chapter 8 Introduction to Data Mining by Tan, Steinbach, Kumar Tan,Steinbach, Kumar Introduction to Data Mining

More information

EFFECTIVE EFFICIENT BOOLEAN RETRIEVAL

EFFECTIVE EFFICIENT BOOLEAN RETRIEVAL EFFECTIVE EFFICIENT BOOLEAN RETRIEVAL J Naveen Kumar 1, Dr. M. Janga Reddy 2 1 jnaveenkumar6@gmail.com, 2 pricipalcmrit@gmail.com 1 M.Tech Student, Department of Computer Science, CMR Institute of Technology,

More information

Extract Slice Refactoring. Rani Ettinger, Programming Tools Group, May 19th, 2003

Extract Slice Refactoring. Rani Ettinger, Programming Tools Group, May 19th, 2003 Extract Slice Refactoring Rani Ettinger, Programming Tools Group, May 19th, 2003 Outline Extract Slice Refactoring: Motivation Example Mechanics Correctness issues: Behaviour Preservation Limitations and

More information

MSBI Online Training (SSIS & SSRS & SSAS)

MSBI Online Training (SSIS & SSRS & SSAS) MSBI Online Training (SSIS & SSRS & SSAS) Course Content: SQL Server Integration Services Introduction Introduction of MSBI and its tools MSBI Services and finding their statuses Relation between SQL Server

More information

+! Today. Lecture 3: ArrayList & Standard Java Graphics 1/26/14! n Reading. n Objectives. n Reminders. n Standard Java Graphics (on course webpage)

+! Today. Lecture 3: ArrayList & Standard Java Graphics 1/26/14! n Reading. n Objectives. n Reminders. n Standard Java Graphics (on course webpage) +! Lecture 3: ArrayList & Standard Java Graphics +! Today n Reading n Standard Java Graphics (on course webpage) n Objectives n Review for this week s lab and homework assignment n Miscellanea (Random,

More information

CHAKRA IT SOLUTIONS TO LEARN ABOUT OUR UNIQUE TRAINING PROCESS:

CHAKRA IT SOLUTIONS TO LEARN ABOUT OUR UNIQUE TRAINING PROCESS: chakraitsolutions.com http://chakraitsolutions.com/msbi-online-training/ MSBI ONLINE TRAINING CHAKRA IT SOLUTIONS TO LEARN ABOUT OUR UNIQUE TRAINING PROCESS: Title Duration Timing Method Software Study

More information

You will not be tested on JUnit or the Eclipse debugger. The exam does not cover interfaces.

You will not be tested on JUnit or the Eclipse debugger. The exam does not cover interfaces. Com S 227 Fall 2016 Topics and review problems for Exam 2 Thursday, November 10, 6:45 pm Locations, by last name: (same locations as Exam 1) A-C Curtiss 0127, first floor only D-N Hoover 2055 O-Z Troxel

More information

Quality Assurance User Interface Modeling

Quality Assurance User Interface Modeling Quality Assurance User Interface Modeling Part II - Lecture 4 1 The University of Auckland New Zealand 254 18/09/ /2012 Interviewing Methods of the FBI 254 18/09/ /2012 Cognitive interview: method to enhance

More information

Graphics programming. COM6516 Object Oriented Programming and Design Adam Funk (originally Kirill Bogdanov & Mark Stevenson)

Graphics programming. COM6516 Object Oriented Programming and Design Adam Funk (originally Kirill Bogdanov & Mark Stevenson) Graphics programming COM6516 Object Oriented Programming and Design Adam Funk (originally Kirill Bogdanov & Mark Stevenson) Overview Aims To provide an overview of Swing and the AWT To show how to build

More information

H212 Introduction to Software Systems Honors

H212 Introduction to Software Systems Honors Introduction to Software Systems Honors Lecture #19: November 4, 2015 1/14 Third Exam The third, Checkpoint Exam, will be on: Wednesday, November 11, 2:30 to 3:45 pm You will have 3 questions, out of 9,

More information

MSBI (SSIS, SSRS, SSAS) Course Content

MSBI (SSIS, SSRS, SSAS) Course Content SQL / TSQL Development 1. Basic database and design 2. What is DDL, DML 3. Data Types 4. What are Constraints & types 1. Unique 2. Check 3. NULL 4. Primary Key 5. Foreign Key 5. Default 1. Joins 2. Where

More information

Pen Tool, Fill Layers, Color Range, Levels Adjustments, Magic Wand tool, and shadowing techniques

Pen Tool, Fill Layers, Color Range, Levels Adjustments, Magic Wand tool, and shadowing techniques Creating a superhero using the pen tool Topics covered: Pen Tool, Fill Layers, Color Range, Levels Adjustments, Magic Wand tool, and shadowing techniques Getting Started 1. Reset your work environment

More information

Navigating Large Source Files Using a Fisheye View

Navigating Large Source Files Using a Fisheye View Navigating Large Source Files Using a Fisheye View Jakub Dostál 1 1 University College Dublin, Ireland dostal.j@gmail.com Abstract As programs grow larger, it becomes more difficult to understand their

More information

Implementing and Maintaining Microsoft SQL Server 2008 Analysis Services

Implementing and Maintaining Microsoft SQL Server 2008 Analysis Services Course 6234A: Implementing and Maintaining Microsoft SQL Server 2008 Analysis Services Course Details Course Outline Module 1: Introduction to Microsoft SQL Server Analysis Services This module introduces

More information

CS 106A, Lecture 24 Interactors and NameSurfer

CS 106A, Lecture 24 Interactors and NameSurfer CS 106A, Lecture 24 Interactors and NameSurfer suggested reading: Java Ch. 10.5-10.6 This document is copyright (C) Stanford Computer Science and Marty Stepp, licensed under Creative Commons Attribution

More information

After completing this course, participants will be able to:

After completing this course, participants will be able to: Designing a Business Intelligence Solution by Using Microsoft SQL Server 2008 T h i s f i v e - d a y i n s t r u c t o r - l e d c o u r s e p r o v i d e s i n - d e p t h k n o w l e d g e o n d e s

More information

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 93-94

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 93-94 ه عا ی Semantic Web Ontology Engineering and Evaluation Morteza Amini Sharif University of Technology Fall 93-94 Outline Ontology Engineering Class and Class Hierarchy Ontology Evaluation 2 Outline Ontology

More information

UNIT -1 UNIT -II. Q. 4 Why is entity-relationship modeling technique not suitable for the data warehouse? How is dimensional modeling different?

UNIT -1 UNIT -II. Q. 4 Why is entity-relationship modeling technique not suitable for the data warehouse? How is dimensional modeling different? (Please write your Roll No. immediately) End-Term Examination Fourth Semester [MCA] MAY-JUNE 2006 Roll No. Paper Code: MCA-202 (ID -44202) Subject: Data Warehousing & Data Mining Note: Question no. 1 is

More information

10778A: Implementing Data Models and Reports with Microsoft SQL Server 2012

10778A: Implementing Data Models and Reports with Microsoft SQL Server 2012 10778A: Implementing Data Models and Reports with Microsoft SQL Server 2012 Course Overview This course provides students with the knowledge and skills to empower information workers through self-service

More information

Sketchpad. Plan for Today. Class 22: Graphical User Interfaces IBM 705 (1954) Computer as Clerk : Augmenting Human Intellect

Sketchpad. Plan for Today. Class 22: Graphical User Interfaces IBM 705 (1954) Computer as Clerk : Augmenting Human Intellect cs2220: Engineering Software Class 22: Graphical User Interfaces Plan for Today History of Interactive Computing Building GUIs in Java Xerox Star Fall 2010 UVa David Evans Design Reviews this week! Univac

More information

Graphic User Interfaces. - GUI concepts - Swing - AWT

Graphic User Interfaces. - GUI concepts - Swing - AWT Graphic User Interfaces - GUI concepts - Swing - AWT 1 What is GUI Graphic User Interfaces are used in programs to communicate more efficiently with computer users MacOS MS Windows X Windows etc 2 Considerations

More information

XPath. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

XPath. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University XPath Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Dept. of Computer Engineering Khon Kaen University 1 Overview What is XPath? Queries The XPath Data Model Location Paths Expressions

More information

JFrame & JLabel. By Iqtidar Ali

JFrame & JLabel. By Iqtidar Ali JFrame & JLabel By Iqtidar Ali JFrame & its Features JFrame is a window with border, title and buttons. The component added to frame are referred to as its contents & are managed by the content pane. To

More information

Interfaces & Polymorphism part 2: Collections, Comparators, and More fun with Java graphics

Interfaces & Polymorphism part 2: Collections, Comparators, and More fun with Java graphics Interfaces & Polymorphism part 2: Collections, Comparators, and More fun with Java graphics 1 Collections (from the Java tutorial)* A collection (sometimes called a container) is simply an object that

More information

Automatically Generating Refactorings to Suppport API Evolution

Automatically Generating Refactorings to Suppport API Evolution Automatically Generating Refactorings to Suppport API Evolution MIT CSAIL Page 1 Outline Library evolution Libraries evolve Clients often don t track library changes Contributions Mechanism to automatically

More information

Improving the Performance of Search Engine With Respect To Content Mining Kr.Jansi, L.Radha

Improving the Performance of Search Engine With Respect To Content Mining Kr.Jansi, L.Radha Improving the Performance of Search Engine With Respect To Content Mining Kr.Jansi, L.Radha 1 Asst. Professor, Srm University, Chennai 2 Mtech, Srm University, Chennai Abstract R- Google is a dedicated

More information

Clustering. Bruno Martins. 1 st Semester 2012/2013

Clustering. Bruno Martins. 1 st Semester 2012/2013 Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2012/2013 Slides baseados nos slides oficiais do livro Mining the Web c Soumen Chakrabarti. Outline 1 Motivation Basic Concepts

More information

Graphical User Interface (GUI)

Graphical User Interface (GUI) Graphical User Interface (GUI) Layout Managment 1 Hello World Often have a run method to create and show a GUI Invoked by main calling invokelater private void run() { } JFrame frame = new JFrame("HelloWorldSwing");

More information

Multiple Dimensional Visualization

Multiple Dimensional Visualization Multiple Dimensional Visualization Dimension 1 dimensional data Given price information of 200 or more houses, please find ways to visualization this dataset 2-Dimensional Dataset I also know the distances

More information

TTTK Program Design and Problem Solving Tutorial 3 (GUI & Event Handlings)

TTTK Program Design and Problem Solving Tutorial 3 (GUI & Event Handlings) TTTK1143 - Program Design and Problem Solving Tutorial 3 (GUI & Event Handlings) Topic: JApplet and ContentPane. 1. Complete the following class to create a Java Applet whose pane s background color is

More information

Interactive PMCube Explorer

Interactive PMCube Explorer Interactive PMCube Explorer Documentation and User Manual Thomas Vogelgesang Carl von Ossietzky Universität Oldenburg June 15, 2017 Contents 1. Introduction 4 2. Application Overview 5 3. Data Preparation

More information

Visualization and text mining of patent and non-patent data

Visualization and text mining of patent and non-patent data of patent and non-patent data Anton Heijs Information Solutions Delft, The Netherlands http://www.treparel.com/ ICIC conference, Nice, France, 2008 Outline Introduction Applications on patent and non-patent

More information

1.00 Lecture 14. Lecture Preview

1.00 Lecture 14. Lecture Preview 1.00 Lecture 14 Introduction to the Swing Toolkit Lecture Preview Over the next 5 lectures, we will introduce you to the techniques necessary to build graphic user interfaces for your applications. Lecture

More information

WP6: The European Raw Materials Intelligence Capacity Platform (EU-RMICP)

WP6: The European Raw Materials Intelligence Capacity Platform (EU-RMICP) WP6: The European Raw Materials Intelligence Capacity Platform (EU-RMICP) Daniel Cassard, and the MICA WP6 Team BRGM, BGS, GeoZS, GEUS, GTK, JRC, LIG ProSUM Meeting - Brussels November 10th, 2017 The MICA

More information

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix PGJC4_JSE8_OCA.book Page ix Monday, June 20, 2016 2:31 PM Contents Figures Tables Examples Foreword Preface xix xxi xxiii xxvii xxix 1 Basics of Java Programming 1 1.1 Introduction 2 1.2 Classes 2 Declaring

More information

Dr. Sushil Garg Professor, Dept. of Computer Science & Applications, College City, India

Dr. Sushil Garg Professor, Dept. of Computer Science & Applications, College City, India Volume 3, Issue 11, November 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Study of Different

More information

Simplifying your upgrade and consolidation to BW/4HANA. Pravin Gupta (Teklink International Inc.) Bhanu Gupta (Molex LLC)

Simplifying your upgrade and consolidation to BW/4HANA. Pravin Gupta (Teklink International Inc.) Bhanu Gupta (Molex LLC) Simplifying your upgrade and consolidation to BW/4HANA Pravin Gupta (Teklink International Inc.) Bhanu Gupta (Molex LLC) AGENDA What is BW/4HANA? Stepping stones to SAP BW/4HANA How to get your system

More information

JAVA NOTES GRAPHICAL USER INTERFACES

JAVA NOTES GRAPHICAL USER INTERFACES 1 JAVA NOTES GRAPHICAL USER INTERFACES Terry Marris 24 June 2001 5 TEXT AREAS 5.1 LEARNING OUTCOMES By the end of this lesson the student should be able to understand how to get multi-line input from the

More information

Introduction p. 1 What is the World Wide Web? p. 1 A Brief History of the Web and the Internet p. 2 Web Data Mining p. 4 What is Data Mining? p.

Introduction p. 1 What is the World Wide Web? p. 1 A Brief History of the Web and the Internet p. 2 Web Data Mining p. 4 What is Data Mining? p. Introduction p. 1 What is the World Wide Web? p. 1 A Brief History of the Web and the Internet p. 2 Web Data Mining p. 4 What is Data Mining? p. 6 What is Web Mining? p. 6 Summary of Chapters p. 8 How

More information

Java Applets This is not a Java course! (You re supposed to know about Java.)

Java Applets This is not a Java course! (You re supposed to know about Java.) IT 3203 Introduction to Web Development Java and the Web IA and the Enterprise November 26 28 Study Abroad Spend July in Madrid Informational meeting: Wednesday, November 28 3:00 pm in Room J-308 http://spsumadrid08.blogspot.com/

More information

Sql Fact Constellation Schema In Data Warehouse With Example

Sql Fact Constellation Schema In Data Warehouse With Example Sql Fact Constellation Schema In Data Warehouse With Example Data Warehouse OLAP - Learn Data Warehouse in simple and easy steps using Multidimensional OLAP (MOLAP), Hybrid OLAP (HOLAP), Specialized SQL

More information

6234A - Implementing and Maintaining Microsoft SQL Server 2008 Analysis Services

6234A - Implementing and Maintaining Microsoft SQL Server 2008 Analysis Services 6234A - Implementing and Maintaining Microsoft SQL Server 2008 Analysis Services Course Number: 6234A Course Length: 3 Days Course Overview This instructor-led course teaches students how to implement

More information

Process Monitoring using Three Dimensional Computed Tomography and Automatic Image Processing

Process Monitoring using Three Dimensional Computed Tomography and Automatic Image Processing ECNDT 2006 - We.3.7.1 Process Monitoring using Three Dimensional Computed Tomography and Automatic Image Processing Michael MAISL, Fraunhofer EZRT, Saarbrücken, Germany Stefan KASPERL, STEVEN OEKL, Fraunhofer

More information

CS 343: Artificial Intelligence

CS 343: Artificial Intelligence CS 343: Artificial Intelligence Bayes Nets: Independence Prof. Scott Niekum The University of Texas at Austin [These slides based on those of Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley.

More information

Window Interfaces Using Swing Objects

Window Interfaces Using Swing Objects Chapter 12 Window Interfaces Using Swing Objects Event-Driven Programming and GUIs Swing Basics and a Simple Demo Program Layout Managers Buttons and Action Listeners Container Classes Text I/O for GUIs

More information

Unit 6: Graphical User Interface

Unit 6: Graphical User Interface Faculty of Computer Science Programming Language 2 Object oriented design using JAVA Dr. Ayman Ezzat Email: ayman@fcih.net Web: www.fcih.net/ayman Unit 6: Graphical User Interface 1 1. Overview of the

More information

Handout 14 Graphical User Interface (GUI) with Swing, Event Handling

Handout 14 Graphical User Interface (GUI) with Swing, Event Handling Handout 12 CS603 Object-Oriented Programming Fall 15 Page 1 of 12 Handout 14 Graphical User Interface (GUI) with Swing, Event Handling The Swing library (javax.swing.*) Contains classes that implement

More information

6232B: Implementing a Microsoft SQL Server 2008 R2 Database

6232B: Implementing a Microsoft SQL Server 2008 R2 Database 6232B: Implementing a Microsoft SQL Server 2008 R2 Database Course Overview This instructor-led course is intended for Microsoft SQL Server database developers who are responsible for implementing a database

More information

Everyday Activity. Course Content. Objectives of Lecture 13 Search Engine

Everyday Activity. Course Content. Objectives of Lecture 13 Search Engine Web Technologies and Applications Winter 2001 CMPUT 499: Search Engines Dr. Osmar R. Zaïane University of Alberta Everyday Activity We use search engines whenever we look for resources on the Internet

More information

Swing. By Iqtidar Ali

Swing. By Iqtidar Ali Swing By Iqtidar Ali Background of Swing We have been looking at AWT (Abstract Window ToolKit) components up till now. Programmers were not comfortable when doing programming with AWT. Bcoz AWT is limited

More information

WA1278 Introduction to Java Using Eclipse

WA1278 Introduction to Java Using Eclipse Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc WA1278 Introduction to Java Using Eclipse This course introduces the Java

More information

Teaching London Computing

Teaching London Computing Teaching London Computing A Level Computer Science Topic 1: GCSE Python Recap William Marsh School of Electronic Engineering and Computer Science Queen Mary University of London Aims What is programming?

More information

Methods (Deitel chapter 6)

Methods (Deitel chapter 6) Methods (Deitel chapter 6) 1 Plan 2 Introduction Program Modules in Java Math-Class Methods Method Declarations Argument Promotion Java API Packages Random-Number Generation Scope of Declarations Methods

More information

Mining Crosscutting Concerns through Random Walks

Mining Crosscutting Concerns through Random Walks 1 Mining Crosscutting Concerns through Random Walks Charles Zhang, Member, IEEE, and Hans-Arno Jacobsen, Senior Member, IEEE Abstract Inspired by our past manual aspect mining experiences, this paper describes

More information