jgap freetts gruntspud jedit columba jfreechart

Size: px
Start display at page:

Download "jgap freetts gruntspud jedit columba jfreechart"

Transcription

1

2 SQL injections 100% 80% 60% 40% 20% 0% jgap freetts gruntspud jedit columba jfreechart

3 !" #$ %& "" '( ()(* +, -

4 ./0 static Class Class.forName(String classname) java.lang.class 0 +**Class.forName( java.lang.string ) 0String Object Class.newInstance() 0 "0 Class c = Class.forName( java.lang.string ); Object o = c.newinstance(); "o

5 ! (Class 0 0( 1. String classname =...; 2. Class c = Class.forName(className); 3. Object o = c.newinstance(); T 1 (); 4. T t = (T) o; new T 2 ();... # Class.newInstance"#new T()

6 $% 0 '

7 & ' ( public void addhandlers(string path) {... while (it.hasnext()) { XmlElement child = (XmlElement) it.next(); String id = child.getattribute("id"); String clazz = child.getattribute("class"); } } 1 AbstractPluginHandler handler = null; try { Class c = Class.forName(clazz); handler = (AbstractPluginHandler) 2 3,4 registerhandler(handler); } catch (ClassNotFoundException e) {... } c.newinstance();

8 ) * #4 4 0 #

9 +$ + " " 4 " )4

10 ,' - 1. String classname =...; 2. Class c = Class.forName(className); 3. Object o = c.newinstance(); 4. T t = (T) o;./' 0 4/' 1/*0T 2/' 03className 9 4 9; 1" ( " 9 T 9' : " " classname

11 ' 03 5 <classname String stringclass = java.lang.string ; foo(stringclass);... void foo(string clazz){ bar(clazz); } void bar(string classname){ Class c = Class.forName(className); } 9

12 ( ' 0 6 Stack variables Heap objects stringclass clazz classname java.lang.string

13 7 ( ) 1. String classname =...; 2. Class c = Class.forName(className); 3. Object o = c.newinstance(); 4. T t = (T) o; :""classname java.lang.string ' 2"className : &0

14 Constants Specification points Class.forName(className)

15 String classname = r.readline(); 2. Class c = Class.forName(className); 3. Object o = c.newinstance(); 4. T t = (T) o; :"classname " =* r.readline =." 1 >*? T :

16 ./* 8 Format: invocation site => class 43 InetAddress.java:1231 => java.net.inet4addressimpl 43 InetAddress.java:1231 => java.net.inet6addressimpl 86 AbstractCharsetProvider.java:126 => sun.nio.cs.iso_8859_15 86 AbstractCharsetProvider.java:126 => sun.nio.cs.ms DataFlavor.java:64 => java.io.inputstream

17 4/7 1. String classname =...; 2. Class c = Class.forName(className); 3. Object o = c.newinstance(); 4. T t = (T) o; 2( ( < o instanceof T o =* T

18 ' 0'./' / " Class.newInstance A""" "ClassCastException* 4/' *

19 ' :'0( B) Class.newInstance Object factory(string classname){ }... Class c = Class.forName(className); return c.newinstance(); SunEncoder t = (SunEncoder) factory( sun.io.encoder. + enc); SomethingElse e = (SomethingElse) factory( SomethingElse );

20 ;%0( Program IR Call graph construction Reflection resolution using points-to Resolved calls Final call graph User-provided spec Cast-based approximation Specification points

21 <0 " 2" " ( 4.( " 45( "(* / 5 4

22 +$ + " )4 ' # C 3 )Class.forName #

23 ! *0 47 " =* : >* <?* 2 D* 9 C* # 9 E#F

24 1#! <((#$ Line File App Available Benchmark Description count count Jars classes jgap genetic algorithms package 32, ,727 freetts gruntspud jedit columba jfreechart speech synthesis system graphical CVS client graphical text editor graphical client chart drawing library 42,993 80, , , , , ,821 63,847 62,910 53,689 62,885 Total 643,028 3, ,879

25 8 0% ( 0% 8 0 % forname(classname) forname(classname) forname(classname)

26 Class.forName * Class.forName jedit! : < 2 Some reflective calls don t have targets on a given analysis platform #

27 %5+ // Class javax.sound.sampled.audiosystem private static final String defaultservicesclassname = "com.sun.media.sound.defaultservices"; Vector getdefaultservices(string servicename ) { Vector v = null; try { Class defaultservices = Class.forName( defaultservicesclassname ); Method m = defaultservices.getmethod( servicesmethodname, servicesparamtypes); Object[] arguments = new Object[] { servicename }; v = (Vector) m.invoke(defaultservices,arguments); } catch(invocationtargetexception e1) {... } return v; }

28 * #" "( ) /5= 8 C =8 =C >8 >C?8 < points-to casts points-to casts points-to casts points-to casts points-to casts 1

29 * 6 =C +>?!( 56(1(#"(* #

30 ;*3 jedit 3 18,000 16,000 14,000 12,000 None Points-to Sound Local Casts 5, 000 methods Methods 10,000 8,000 6,000 4,000 2,000 0 jgap freetts gruntspud jedit columba jfreechart

31 *3 * %5 jgap freetts gruntspud jedit columba jfreechart G7MIC*JD D*CK >*>= GC8HI=*77 >*D? >*7C GLMI7*CK D*8C =*J7 GC8HI=*D? >*=? >*>C

32 ,!N);OJD(PJK(8=(8DQ $99N'#J7('JK(1OJ7Q N;8=(;55JL(288(#O988(1<#8>(O688Q 4 2N':JJ(J?(RJKQ E"F "N<##JJ(<O8?Q 5NO5O>88DQ 5

33 !4".! 17(=J8(888< 1JCHClass.forName " EF / 4 LM(L(8889"

Introflection. Dave Landers BEA Systems, Inc.

Introflection. Dave Landers BEA Systems, Inc. Introflection Dave Landers BEA Systems, Inc. dave.landers@bea.com Agenda What is Introflection? Primary Classes and Objects Loading Classes Creating Objects Invoking Methods Java Beans Proxy What is Introflection?

More information

Java Security. Compiler. Compiler. Hardware. Interpreter. The virtual machine principle: Abstract Machine Code. Source Code

Java Security. Compiler. Compiler. Hardware. Interpreter. The virtual machine principle: Abstract Machine Code. Source Code Java Security The virtual machine principle: Source Code Compiler Abstract Machine Code Abstract Machine Code Compiler Concrete Machine Code Input Hardware Input Interpreter Output 236 Java programs: definitions

More information

CS5233 Components Models and Engineering

CS5233 Components Models and Engineering CS5233 Components Models and Engineering (Komponententechnologien) Master of Science (Informatik) Reflection Seite 1 Java Reflection Reflection Reflection is when you see yourself. Why would you like to

More information

Chair of Software Engineering. Java and C# in depth. Carlo A. Furia, Marco Piccioni, Bertrand Meyer. Java: reflection

Chair of Software Engineering. Java and C# in depth. Carlo A. Furia, Marco Piccioni, Bertrand Meyer. Java: reflection Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer Java: reflection Outline Introductory detour: quines Basic reflection Built-in features Introspection Reflective method invocation

More information

Java Class Loading and Bytecode Verification

Java Class Loading and Bytecode Verification Java Class Loading and Bytecode Verification Every object is a member of some class. The Class class: its members are the (definitions of) various classes that the JVM knows about. The classes can be dynamically

More information

Dynamic Class Loading

Dynamic Class Loading Dynamic Class Loading Philippe Collet Partially based on notes from Michel Buffa Master 1 IFI Interna,onal 2012-2013 h4p://dep,nfo.unice.fr/twiki/bin/view/minfo/soceng1213 P. Collet 1 Agenda Principle

More information

developer.* The Independent Magazine for Software Professionals Factory Chain: A Design Pattern for Factories with Generics by Hugo Troche

developer.* The Independent Magazine for Software Professionals Factory Chain: A Design Pattern for Factories with Generics by Hugo Troche developer.* The Independent Magazine for Software Professionals Factory Chain: A Design Pattern for Factories with Generics by Hugo Troche Introduction The recent Java 5 (a.k.a. Java 1.5) generics implementation

More information

CSCE 314 TAMU Fall CSCE 314: Programming Languages Dr. Flemming Andersen. Java Reflection

CSCE 314 TAMU Fall CSCE 314: Programming Languages Dr. Flemming Andersen. Java Reflection CSCE 314 TAMU Fall 2017 1 CSCE 314: Programming Languages Dr. Flemming Andersen Java Reflection CSCE 314 TAMU Fall 2017 Reflection and Metaprogramming Metaprogramming: Writing (meta)programs that represent

More information

Reflection (in fact, Java introspection)

Reflection (in fact, Java introspection) Reflection (in fact, Java introspection) Prof. Dr. Ralf Lämmel Universität Koblenz-Landau Software Languages Team Elevator speech So programs are programs and data is data. However, programs can be represented

More information

CSCE 314 Programming Languages

CSCE 314 Programming Languages CSCE 314 Programming Languages! Reflection Dr. Hyunyoung Lee! 1 Reflection and Metaprogramming Metaprogramming: Writing (meta)programs that represent and manipulate other programs Reflection: Writing (meta)programs

More information

Reflection. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 28

Reflection. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 28 Reflection Computer Science and Engineering College of Engineering The Ohio State University Lecture 28 Motivating Problem Debugger/visualization tool Takes an object, any object Displays the methods one

More information

Ripple: Reflection Analysis for Android Apps in Incomplete Information Environments

Ripple: Reflection Analysis for Android Apps in Incomplete Information Environments Ripple: Reflection Analysis for Android Apps in Incomplete Information Environments Yifei Zhang, Tian Tan, Yue Li and Jingling Xue Programming Languages and Compilers Group University of New South Wales

More information

Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach.

Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach. CMSC 131: Chapter 28 Final Review: What you learned this semester The Big Picture Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach. Java

More information

Background. Reflection. The Class Class. How Objects Work

Background. Reflection. The Class Class. How Objects Work Background Reflection Turing's great insight: programs are just another kind of data Source code is text Manipulate it line by line, or by parsing expressions Compiled programs are data, too Integers and

More information

FlowTwist: Efficient Context-Sensitive Inside- Out Taint Analysis for Large Codebases

FlowTwist: Efficient Context-Sensitive Inside- Out Taint Analysis for Large Codebases FlowTwist: Efficient Context-Sensitive Inside- Out Taint Analysis for Large Codebases Johannes Lerch, Ben Hermann, Eric Bodden, and Mira Mezini {lastname@cs.tu-darmstadt.de https://github.com/johanneslerch/flowtwist

More information

Security SYSTEM SOFTWARE 1

Security SYSTEM SOFTWARE 1 Security SYSTEM SOFTWARE 1 Security Introduction Class Loader Security Manager and Permissions Summary SYSTEM SOFTWARE 2 Security Mechanisms in Java Virtual machine erroneous array accesses forbidden casts

More information

Concepts of Object-Oriented Programming Peter Müller

Concepts of Object-Oriented Programming Peter Müller Concepts of Object-Oriented Programming Peter Müller Chair of Programming Methodology Autumn Semester 2017 1.2 Introduction Core Concepts 2 Meeting the Requirements Cooperating Program Parts with Well-Defined

More information

Informatica PIM. Data Lookup via Java Transformations. Version: Date:

Informatica PIM. Data Lookup via Java Transformations. Version: Date: Informatica PIM Data Lookup via Java Transformations Version: Date: 23 July 29, 2014 Table of Contents Introduction 3 Step-by-step example 3 Create a new Java Transformation 3 Include code to retrieve

More information

Dynalink. Dynamic Linker Framework for Languages on the JVM. Attila Szegedi, Software Engineer, Twitter

Dynalink. Dynamic Linker Framework for Languages on the JVM. Attila Szegedi, Software Engineer, Twitter Dynalink Dynamic Linker Framework for Languages on the JVM Attila Szegedi, Software Engineer, Twitter Inc. @asz 1 What s the problem? circle.color = 0xae17e3 class Circle def color=(value)... end end public

More information

CSE 401/M501 Compilers

CSE 401/M501 Compilers CSE 401/M501 Compilers Code Shape II Objects & Classes Hal Perkins Autumn 2018 UW CSE 401/M501 Autumn 2018 L-1 Administrivia Semantics/type check due next Thur. 11/15 How s it going? Reminder: if you want

More information

Introduction to Reflection

Introduction to Reflection Introduction to Reflection Mark Allen Weiss Copyright 2000 1 What is Reflection The Class class Outline of Topics Run Time Type Identification (RTTI) Getting Class Information Accessing an arbitrary object

More information

Patterns and Best Practices for dynamic OSGi Applications

Patterns and Best Practices for dynamic OSGi Applications Patterns and Best Practices for dynamic OSGi Applications Kai Tödter, Siemens Corporate Technology Gerd Wütherich, Freelancer Martin Lippert, akquinet it-agile GmbH Agenda» Dynamic OSGi applications» Basics»

More information

School of Informatics, University of Edinburgh

School of Informatics, University of Edinburgh CS1Ah Lecture Note 29 Streams and Exceptions We saw back in Lecture Note 9 how to design and implement our own Java classes. An object such as a Student4 object contains related fields such as surname,

More information

Rules and syntax for inheritance. The boring stuff

Rules and syntax for inheritance. The boring stuff Rules and syntax for inheritance The boring stuff The compiler adds a call to super() Unless you explicitly call the constructor of the superclass, using super(), the compiler will add such a call for

More information

CS453 CLASSES, VARIABLES, ASSIGNMENTS

CS453 CLASSES, VARIABLES, ASSIGNMENTS CS453 CLASSES, VARIABLES, ASSIGNMENTS CS453 Lecture Code Generation for Classes 1 PA6 new in MeggyJava member / instance variables local variables assignments let s go check out the new MeggyJava grammar

More information

Choosing output format. Dynamically choosing format

Choosing output format. Dynamically choosing format Choosing output format Dynamically choosing format Problem Our code should choose an output format based on input from the user. So, we need a way to dynamically choose a formatter class based on some

More information

Assumption Hierarchy for a CHA Call Graph Construction Algorithm

Assumption Hierarchy for a CHA Call Graph Construction Algorithm Assumption Hierarchy for a CHA Call Graph Construction Algorithm Jason Sawin Mathematics and Computer Science University of Puget Sound Atanas Rountev Computer Science and Engineering The Ohio State University

More information

The propeties file will contain a main.class property, maybe an optional main.method property, and a set of description properties.

The propeties file will contain a main.class property, maybe an optional main.method property, and a set of description properties. Executables This doc describes the design-in-progress for revamping the command-line execution of openejb. Basic ideas: Commands can be added/removed (start, stop, test, validate, deploy) Adding/removing

More information

Introduction to Generics in Java 5

Introduction to Generics in Java 5 Introduction to Generics in Java 5 One trouble with the list, stack, and queue ADTs that we have written so far is that the type of the objects stored in them cannot be checked at compile time. For example,

More information

Programming Language Concepts: Lecture 10

Programming Language Concepts: Lecture 10 Programming Language Concepts: Lecture 10 Madhavan Mukund Chennai Mathematical Institute madhavan@cmi.ac.in http://www.cmi.ac.in/~madhavan/courses/pl2009 PLC 2009, Lecture 10, 16 February 2009 Reflection

More information

r = obj2.m( 0, 1 ); s = obj2.f; r = obj2.m( ); r = obj2.anothermethod( 0, 1 ); s = obj2.anotherfield;

r = obj2.m( 0, 1 ); s = obj2.f; r = obj2.m( ); r = obj2.anothermethod( 0, 1 ); s = obj2.anotherfield; REFLECTION ! Objects(access(fields( and(methods(of(other( objects((! A(safe(language( detects(situa7ons( where(the(receiver( object(does(not(have( the(accessed(field(or( method((! Type(systems(can(be(

More information

Understanding ClassLoaders WebSphere 5.1, 6.0 and 6.1

Understanding ClassLoaders WebSphere 5.1, 6.0 and 6.1 IBM Software Group Understanding ClassLoaders WebSphere 5.1, 6.0 and 6.1 Speaker: Paul Van Norman WebSphere Support Technical Exchange Agenda Classloader overview Classloader delegation mode & policies

More information

Java Reflection. adapted from original slides by Tim Lethbridge University of Ottawa. Examining Classes. What is Reflection?

Java Reflection. adapted from original slides by Tim Lethbridge University of Ottawa. Examining Classes. What is Reflection? Note: The examples used in these slides are taken from: Java Tutorial: Reflection API. http://java.sun.com/docs/books/tutorial/reflect/index.html They have been enhanced with comments for the purpose of

More information

Exceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws

Exceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws Lecture 14 Summary Exceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws 1 By the end of this lecture, you will be able to differentiate between errors, exceptions,

More information

10/8/2018 Programming Data Structures. class diagram for assignment 08 review: polymorphism review: exception new: File I/O

10/8/2018 Programming Data Structures. class diagram for assignment 08 review: polymorphism review: exception new: File I/O 10/8/2018 Programming Data Structures class diagram for assignment 08 review: polymorphism review: exception new: File I/O 1 class diagram (informal) link the parent classes and child classes describe

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

CS506 Web Design & Development Final Term Solved MCQs with Reference

CS506 Web Design & Development Final Term Solved MCQs with Reference with Reference I am student in MCS (Virtual University of Pakistan). All the MCQs are solved by me. I followed the Moaaz pattern in Writing and Layout this document. Because many students are familiar

More information

Binghamton University. CS-140 Fall Dynamic Types

Binghamton University. CS-140 Fall Dynamic Types Dynamic Types 1 Assignment to a subtype If public Duck extends Bird { Then, you may code:. } Bird bref; Duck quack = new Duck(); bref = quack; A subtype may be assigned where the supertype is expected

More information

Mining Operational Preconditions. Andrzej Wasylkowski Andreas Zeller Saarland University

Mining Operational Preconditions. Andrzej Wasylkowski Andreas Zeller Saarland University Mining Operational Preconditions Andrzej Wasylkowski Andreas Zeller Saarland University @interface A {} bug.aj aspect Test { declare @field : @A int var* : @A; declare @field : int var* : @A; interface

More information

Remote Method Invocation

Remote Method Invocation Non-101samples available here: https://github.com/101companies/101repo/tree/master/languages/aspectj/javarmisamples Remote Method Invocation Prof. Dr. Ralf Lämmel Universität Koblenz-Landau Software Languages

More information

OOP Lab Factory Method, Singleton, and Properties Page 1

OOP Lab Factory Method, Singleton, and Properties Page 1 OOP Lab Factory Method, Singleton, and Properties Page 1 Purpose What to Submit 1. Practice implementing a factory method and singleton class. 2. Enable the Purse application to handle different kinds

More information

CSC 1351: Final. The code compiles, but when it runs it throws a ArrayIndexOutOfBoundsException

CSC 1351: Final. The code compiles, but when it runs it throws a ArrayIndexOutOfBoundsException VERSION A CSC 1351: Final Name: 1 Interfaces, Classes and Inheritance 2 Basic Data Types (arrays, lists, stacks, queues, trees,...) 2.1 Does the following code compile? If it does not, how can it be fixed?

More information

Recitation 9. Prelim Review

Recitation 9. Prelim Review Recitation 9 Prelim Review 1 Heaps 2 Review: Binary heap min heap 1 2 99 4 3 PriorityQueue Maintains max or min of collection (no duplicates) Follows heap order invariant at every level Always balanced!

More information

Advanced programming for Java platform. Introduction

Advanced programming for Java platform. Introduction Advanced programming for Java platform Introduction About course Petr Hnětynka hnetynka@d3s.mff.cuni.cz http://d3s.mff.cuni.cz/teaching/vsjava/ continuation of "Java (NPRG013)" basic knowledge of Java

More information

Java Lectures. Enhancements in Java 1.5

Java Lectures. Enhancements in Java 1.5 1 Enhancements in Java 1.5 2 Generics Enhancement to the type system: a type or method can operate on objects of various types with compile-time type safety, compile-time type safety to the Collections

More information

Call: Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline

Call: Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline Object-Oriented Programming (OOP) concepts Introduction Abstraction Encapsulation Inheritance Polymorphism Getting started with

More information

Wednesday, June 23, JBoss Users & Developers Conference. Boston:2010

Wednesday, June 23, JBoss Users & Developers Conference. Boston:2010 JBoss Users & Developers Conference Boston:2010 Zen of Class Loading Jason T. Greene EAP Architect, Red Hat June 2010 What is the Class class? Represents a class, enum, interface, annotation, or primitive

More information

Multiple Inheritance, Abstract Classes, Interfaces

Multiple Inheritance, Abstract Classes, Interfaces Multiple Inheritance, Abstract Classes, Interfaces Written by John Bell for CS 342, Spring 2018 Based on chapter 8 of The Object-Oriented Thought Process by Matt Weisfeld, and other sources. Frameworks

More information

Field Analysis. Last time Exploit encapsulation to improve memory system performance

Field Analysis. Last time Exploit encapsulation to improve memory system performance Field Analysis Last time Exploit encapsulation to improve memory system performance This time Exploit encapsulation to simplify analysis Two uses of field analysis Escape analysis Object inlining April

More information

Homework #10 due Monday, April 16, 10:00 PM

Homework #10 due Monday, April 16, 10:00 PM Homework #10 due Monday, April 16, 10:00 PM In this assignment, you will re-implement Dictionary as Map container class using the same data structure. A Map has an associated entry set and that set will

More information

CIS 120 Programming Languages and Techniques. Final. December 16, 2010

CIS 120 Programming Languages and Techniques. Final. December 16, 2010 CIS 120 Programming Languages and Techniques Final December 16, 2010 Name: Pennkey: Scores: 1 2 3 4 5 6 7 8 Total (120 max) OCaml 1. (14 points) Recall the fold and member functions that we saw in the

More information

CSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1

CSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1 CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Winter 2008 3/11/2008 2002-08 Hal Perkins & UW CSE V-1 Agenda Java virtual machine architecture.class files Class loading Execution engines

More information

Factory Methods, Clones, and Automation

Factory Methods, Clones, and Automation UNBC Laboratory Assignment Computer Science 101 Winter 2016 Factory Methods, Clones, and Automation Due Date: This assignment is due Friday 2013-04-08. Purpose: To extend the Payroll system developed in

More information

Design Patterns: Prototype, State, Composite, Memento

Design Patterns: Prototype, State, Composite, Memento Design Patterns: Prototype, State, Composite, Memento Let s start by considering the CanvasEditor as we had it at the end of the last class. Recall that when a button was clicked, the button s custom ActionListener

More information

CIS 120 Programming Languages and Techniques. Midterm II. November 12, Answer key

CIS 120 Programming Languages and Techniques. Midterm II. November 12, Answer key CIS 120 Programming Languages and Techniques Midterm II November 12, 2010 Answer key 1. (14 points) Pages 7 to 9 define a simplified version of the Java Collection interface (the SimpleCollection and SimpleIterator

More information

Example injection-of-env-entry can be browsed at https://github.com/apache/tomee/tree/master/examples/injection-of-env-entry

Example injection-of-env-entry can be browsed at https://github.com/apache/tomee/tree/master/examples/injection-of-env-entry Using EnvEntries Example injection-of-env-entry can be browsed at https://github.com/apache/tomee/tree/master/examples/injection-of-env-entry The @Resource annotation can be used to inject several things

More information

Integration Guide. OpenL Tablets and Activiti Release 5.19

Integration Guide. OpenL Tablets and Activiti Release 5.19 Integration Guide OpenL Tablets and Activiti Release 5.19 Document number: TP_OpenL_Activiti_IG_2.0_LSh Revised: 06-04-2018 OpenL Tablets Documentation is licensed under a Creative Commons Attribution

More information

Integration Guide OpenL Tablets and Activiti Release 5.17

Integration Guide OpenL Tablets and Activiti Release 5.17 Integration Guide OpenL Tablets and Activiti Release 5.17 Preface Document number: TP_OpenL_Activiti_IG_1.0_LSh Revised: 03-18-2016 OpenL Tablets Documentation is licensed under a Creative Commons Attribution

More information

INTROSPECTION. We need to begin with a more basic concept called type introspection

INTROSPECTION. We need to begin with a more basic concept called type introspection REFLECTION 1 INTROSPECTION We need to begin with a more basic concept called type introspection The ability of a program to examine the type and properties of an object at runtime A few programming languages

More information

Cloning-Based Context-Sensitive Pointer Alias Analysis using BDDs

Cloning-Based Context-Sensitive Pointer Alias Analysis using BDDs More Pointer Analysis Last time Flow-Insensitive Pointer Analysis Inclusion-based analysis (Andersen) Today Class projects Context-Sensitive analysis March 3, 2014 Flow-Insensitive Pointer Analysis 1 John

More information

Tirgul 1. Course Guidelines. Packages. Special requests. Inner classes. Inner classes - Example & Syntax

Tirgul 1. Course Guidelines. Packages. Special requests. Inner classes. Inner classes - Example & Syntax Tirgul 1 Today s topics: Course s details and guidelines. Java reminders and additions: Packages Inner classes Command Line rguments Primitive and Reference Data Types Guidelines and overview of exercise

More information

CSC System Development with Java. Exception Handling. Department of Statistics and Computer Science. Budditha Hettige

CSC System Development with Java. Exception Handling. Department of Statistics and Computer Science. Budditha Hettige CSC 308 2.0 System Development with Java Exception Handling Department of Statistics and Computer Science 1 2 Errors Errors can be categorized as several ways; Syntax Errors Logical Errors Runtime Errors

More information

5 When a program calls a function, in which type of data structure is memory allocated for the variables in that function?

5 When a program calls a function, in which type of data structure is memory allocated for the variables in that function? 1 The finally block of an exception handler is: -executed when an exception is thrown -always executed when the code leaves any part of the Try statement -always executed -always executed when the code

More information

Replaying and Isolating Failing Multi-Object Interactions. Martin Burger Andreas Zeller Saarland University

Replaying and Isolating Failing Multi-Object Interactions. Martin Burger Andreas Zeller Saarland University Replaying and Isolating Failing Multi-Object Interactions Martin Burger Andreas Zeller Saarland University e-mail client written in Java 100,200 LOC ~ 1,600 Java classes 17 developers Actively developed

More information

Improving static resolution of dynamic class loading in Java using dynamically gathered environment information

Improving static resolution of dynamic class loading in Java using dynamically gathered environment information Autom Softw Eng (2009) 16: 357 381 DOI 10.1007/s10515-009-0049-9 Improving static resolution of dynamic class loading in Java using dynamically gathered environment information Jason Sawin Atanas Rountev

More information

Programming Language Concepts: Lecture 9

Programming Language Concepts: Lecture 9 Programming Language Concepts: Lecture 9 Madhavan Mukund Chennai Mathematical Institute madhavan@cmi.ac.in PLC 2011, Lecture 9, 10 February 2011 The event queue OS passes on low-level events to run-time

More information

Overview of Java s Support for Polymorphism

Overview of Java s Support for Polymorphism Overview of Java s Support for Polymorphism Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated Systems Vanderbilt

More information

Designing for Modularity with Java 9

Designing for Modularity with Java 9 Designing for Modularity with Java 9 Paul Bakker @pbakker Sander Mak @Sander_Mak Today's journey Module primer Services & DI Modular design Layers & loading Designing for Modularity with Java 9 What if

More information

ECE 2035 Programming HW/SW Systems Fall problems, 5 pages Exam Three 28 November 2012

ECE 2035 Programming HW/SW Systems Fall problems, 5 pages Exam Three 28 November 2012 Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate

More information

OVERRIDING. 7/11/2015 Budditha Hettige 82

OVERRIDING. 7/11/2015 Budditha Hettige 82 OVERRIDING 7/11/2015 (budditha@yahoo.com) 82 What is Overriding Is a language feature Allows a subclass or child class to provide a specific implementation of a method that is already provided by one of

More information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University CS 555: DISTRIBUTED SYSTEMS [RPC & DISTRIBUTED OBJECTS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey XDR Standard serialization

More information

Lecture 14 Summary 3/9/2009. By the end of this lecture, you will be able to differentiate between errors, exceptions, and runtime exceptions.

Lecture 14 Summary 3/9/2009. By the end of this lecture, you will be able to differentiate between errors, exceptions, and runtime exceptions. Lecture 14 Summary Exceptions vs. Errors Exceptions vs. RuntimeExceptions...catch...finally throw and throws By the end of this lecture, you will be able to differentiate between errors, exceptions, and

More information

6.Introducing Classes 9. Exceptions

6.Introducing Classes 9. Exceptions 6.Introducing Classes 9. Exceptions Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in Phone: +91-9999-283-283 Learning

More information

Material Java type system Reflection

Material Java type system Reflection CS1706 Intro to Object Oriented Dev II -Fall 04 Announcements Week 15 Final Exam: Tues. Dec. 14 @ 3:25pm Material Java type system Reflection Java Type System Type System is a set of values and the operations

More information

Introduction to Programming (Java) 4/12

Introduction to Programming (Java) 4/12 Introduction to Programming (Java) 4/12 Michal Krátký Department of Computer Science Technical University of Ostrava Introduction to Programming (Java) 2008/2009 c 2006 2008 Michal Krátký Introduction

More information

JAVA. Reflection API. Java, summer semester

JAVA. Reflection API. Java, summer semester JAVA Reflection API 26.2.2013 1 Overview Reflection changes structure/state of objects Introspection exploring a structure of objects similar to RTTI in C++ but more powerful allows obtaining information

More information

Reflection/RMI 4/28/2009

Reflection/RMI 4/28/2009 Reflection/RMI 4/28/2009 1 Opening Discussion Solutions to the interclass problem. Do you have any questions about the assignment? Minute Essays Why are heap operations always O(log n)? Java programs connecting

More information

Classes. Logical method to organise data and functions in a same structure. Also known as abstract data type (ADT).

Classes. Logical method to organise data and functions in a same structure. Also known as abstract data type (ADT). UNITII Classes Logical method to organise data and functions in a same structure. Also known as abstract data type (ADT). It s a User Defined Data-type. The Data declared in a Class are called Data- Members

More information

Object Oriented Software Design

Object Oriented Software Design Object Oriented Software Design Inner classes, RTTI, Tree implementation Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 29, 2010 G. Lipari (Scuola Superiore Sant

More information

EECS 1001 and EECS 1030M, lab 01 conflict

EECS 1001 and EECS 1030M, lab 01 conflict EECS 1001 and EECS 1030M, lab 01 conflict Those students who are taking EECS 1001 and who are enrolled in lab 01 of EECS 1030M should switch to lab 02. If you need my help with switching lab sections,

More information

Common Misunderstandings from Exam 1 Material

Common Misunderstandings from Exam 1 Material Common Misunderstandings from Exam 1 Material Kyle Dewey Stack and Heap Allocation with Pointers char c = c ; char* p1 = malloc(sizeof(char)); char** p2 = &p1; Where is c allocated? Where is p1 itself

More information

Module 11 Developing Message-Driven Beans

Module 11 Developing Message-Driven Beans Module 11 Developing Message-Driven Beans Objectives Describe the properties and life cycle of message-driven beans Create a JMS message-driven bean Create lifecycle event handlers for a JMS message-driven

More information

Unix System Programming - Chapter 2, part a

Unix System Programming - Chapter 2, part a Unix System Programming - Chapter 2, part a Neal Nelson The Evergreen State College Mar 23, 2010 USP Chapter 2.1 to 2.6 Processes and Threads Program Storage and Linkage Library Function Calls Error Handling

More information

Come and join us at WebLyceum

Come and join us at WebLyceum Come and join us at WebLyceum For Past Papers, Quiz, Assignments, GDBs, Video Lectures etc Go to http://www.weblyceum.com and click Register In Case of any Problem Contact Administrators Rana Muhammad

More information

CS18000: Problem Solving and Object-Oriented Programming

CS18000: Problem Solving and Object-Oriented Programming CS18000: Problem Solving and Object-Oriented Programming Recursion 28 March 2011 Prof. Chris Clifton Recursion Idea: break a problem down into small, similar sub-problems Write a method to solve first

More information

CHAPTER 20. Integrating Code Libraries Plug-ins as JARs

CHAPTER 20. Integrating Code Libraries Plug-ins as JARs CHAPTER 20 Integrating Code Libraries Even the most Eclipse-biased developer would concede that the majority of Java libraries out there are not shipped as plug-ins. This chapter discusses the integration

More information

Configuration for Microprofile. Mark Struberg, Emily Jiang, John D. Ament

Configuration for Microprofile. Mark Struberg, Emily Jiang, John D. Ament Configuration for Microprofile Mark Struberg, Emily Jiang, John D. Ament 1.2, December 21, 2017 Table of Contents Microprofile Config.........................................................................

More information

More fun with Java. Packages. Simple Declarations. Import. Basic Structure of a Java Program. /* a comment */ // a comment

More fun with Java. Packages. Simple Declarations. Import. Basic Structure of a Java Program. /* a comment */ // a comment More fun with Java The Basics Basic Structure of a Java Program Packages Simple Declarations Primitive Types Arrays Classes Class Method Constructors Control Conditional Expressions Tools Basic Structure

More information

CSE 12, Week Six, Lecture Two Discussion: Getting started on hw7 & hw8

CSE 12, Week Six, Lecture Two Discussion: Getting started on hw7 & hw8 CSE 12, Week Six, Lecture Two Discussion: Getting started on hw7 & hw8 Tree: What: - A container object - Composed of a TNodes o Each TNode holds - One root TNode pointer o The TNode in the Tree - Zero

More information

CSCI 136 Written Exam #1 Fundamentals of Computer Science II Spring 2014

CSCI 136 Written Exam #1 Fundamentals of Computer Science II Spring 2014 CSCI 136 Written Exam #1 Fundamentals of Computer Science II Spring 2014 Name: This exam consists of 5 problems on the following 6 pages. You may use your double- sided hand- written 8 ½ x 11 note sheet

More information

Software-Architecture Annotations, Reflection and Frameworks

Software-Architecture Annotations, Reflection and Frameworks Software-Architecture Annotations, Reflection and Frameworks Prof. Dr. Axel Böttcher 3. Oktober 2011 Objectives (Lernziele) Understand the Java feature Annotation Implement a simple annotation class Know

More information

Selected Java Topics

Selected Java Topics Selected Java Topics Introduction Basic Types, Objects and Pointers Modifiers Abstract Classes and Interfaces Exceptions and Runtime Exceptions Static Variables and Static Methods Type Safe Constants Swings

More information

DRAWING ENVIRONMENT DIAGRAMS

DRAWING ENVIRONMENT DIAGRAMS DRAWING ENVIRONMENT DIAGRAMS COMPUTER SCIENCE 61A September 10, 2012 0.1 Background A frame is a location where variable bindings are stored A binding is a connection between a name and a value. The name

More information

CSC207 Quiz 1 Solutions Monday 6 February 2017, 12:15 PM. 1. (A) (B) (C) (D) (E) 7. Nothing, does not run true false

CSC207 Quiz 1 Solutions Monday 6 February 2017, 12:15 PM. 1. (A) (B) (C) (D) (E) 7. Nothing, does not run true false CSC207 Quiz 1 Solutions Monday 6 February 2017, 12:15 PM Student Number: Circle the lecture section in which you are enrolled L0101 (WF12) L0201 (WF1) L5101 (W6) Please indicate your answers in the table

More information

Formal Specification and Verification

Formal Specification and Verification Formal Specification and Verification Proof Obligations Bernhard Beckert Based on a lecture by Wolfgang Ahrendt and Reiner Hähnle at Chalmers University, Göteborg Formal Specification and Verification:

More information

Review sheet for Final Exam (List of objectives for this course)

Review sheet for Final Exam (List of objectives for this course) Review sheet for Final Exam (List of objectives for this course) Please be sure to see other review sheets for this semester Please be sure to review tests from this semester Week 1 Introduction Chapter

More information

Name Section Number. CS210 Exam #4 *** PLEASE TURN OFF ALL CELL PHONES*** Practice

Name Section Number. CS210 Exam #4 *** PLEASE TURN OFF ALL CELL PHONES*** Practice Name Section Number CS210 Exam #4 *** PLEASE TURN OFF ALL CELL PHONES*** Practice All Sections Bob Wilson OPEN BOOK/OPEN NOTES You will have all 90 minutes until the start of the next class period. Spend

More information

CS/ENGRD 2110 FALL Lecture 7: Interfaces and Abstract Classes

CS/ENGRD 2110 FALL Lecture 7: Interfaces and Abstract Classes CS/ENGRD 2110 FALL 2017 Lecture 7: Interfaces and Abstract Classes http://courses.cs.cornell.edu/cs2110 1 Announcements 2 A2 is due tomorrow night (17 February) Get started on A3 a method every other day.

More information

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this

More information

Exercise: Singleton 1

Exercise: Singleton 1 Exercise: Singleton 1 In some situations, you may create the only instance of the class. 1 class mysingleton { 2 3 // Will be ready as soon as the class is loaded. 4 private static mysingleton Instance

More information