Introduction to ASM - ByteCode Manipulating Tool
|
|
- Abigayle Carter
- 6 years ago
- Views:
Transcription
1 Introduction to ASM - ByteCode Manipulating Tool nadeesh.tv@oracle.com ORACLE India Pvt Ltd 19 March 2016
2 Outline 1 Why do we need a byte code manipulating tool? 2 Compiled Class File Structure 3 ASM
3 Why do we need a byte code manipulating tool? Java refers to pair of technologies Java Programming Language Java Virtual Machine More than 200 JVM languages exist Number of other JVM languages increased due to Cross platform nature Improved performance etc Need a tool which helps in exploring JVM
4 Compiled Class File Structure Figure: Class File Structure
5 Compiled Class File Structure Does not contain import and package statements Magic Number - CAFEBABE Major and Minor Version Jdk 8-52, 0 Constant Pool Class names (in internal form) Variable names, Method names Signature (I, B, Z, L;, [) String literals Access Flags ACC PUBLIC, ACC FINAL ACC SUPER, ACC INTERFACE ACC ABSTRACT
6 Compiled Class File Structure
7 Compiled Class File Structure Method invocation create a stack frame Frame consist of Operand stack and Local variables array Figure: Frame Structure Debugging attribute LineNumberTable LocalVariableTable
8 ASM ASM library is a project of the OW2 Consortium Developed by Eric Bruneton Written in Java Become the defacto standard Goals Parsing Generate Transform Analyze Figure: ASM Package Structure
9 ASM : Visitor Based Pattern ASM follows Visitor Based Pattern for it s operation Figure: Visitor Based Pattern
10 Visitor Based Pattern Visitor.java p u b l i c i n t e r f a c e V i s i t o r { p u b l i c v o i d v i s i t C o l l e c t i o n ( C o l l e c t i o n c o l l e c t i o n ) ; p u b l i c v o i d v i s i t S t r i n g ( S t r i n g s t r i n g ) ; } p u b l i c v o i d v i s i t F l o a t ( F l o a t f l o a t ) ; Vistable.java p u b l i c i n t e r f a c e V i s i t a b l e { p u b l i c v o i d a c c e p t ( V i s i t o r v i s i t o r ) ; }
11 Visitor Based Pattern VisitableString.java p u b l i c c l a s s V i s i t a b l e S t r i n g implements V i s i t a b l e { p r i v a t e S t r i n g v a l u e ; p u b l i c V i s i t a b l e S t r i n g ( S t r i n g s t r i n g ) { v a l u e = s t r i n g ; } } p u b l i c v o i d a c c e p t ( V i s i t o r v i s i t o r ) { v i s i t o r. v i s i t S t r i n g ( t h i s ) ; }
12 Visitor Based Pattern PrintVisitor.java p u b l i c c l a s s P r i n t V i s i t o r implements V i s i t o r { p u b l i c v o i d v i s i t C o l l e c t i o n ( C o l l e c t i o n c o l l e c t i o n ) { I t e r a t o r i t e r a t o r = c o l l e c t i o n. i t e r a t o r ( ) w h i l e ( i t e r a t o r. hasnext ( ) ) { O b j e c t o = i t e r a t o r. n e x t ( ) ; i f ( o i n s t a n c e o f V i s i t a b l e ) ( ( V i s i t a b l e ) o ). a c c e p t ( t h i s ) ; } p u b l i c v o i d v i s i t S t r i n g ( S t r i n g s t r i n g ) { System. out. p r i n t l n ( +s t r i n g+ ) ; } } p u b l i c v o i d v i s i t F l o a t ( F l o a t f l o a t ) { System. out. p r i n t l n ( f l o a t. t o S t r i n g ()+ f ) ; }
13 ASM : Class Visitor ClassVisitor.java p u b l i c a b s t r a c t c l a s s C l a s s V i s i t o r { p u b l i c C l a s s V i s i t o r ( i n t a p i ) ; p u b l i c C l a s s V i s i t o r ( i n t api, C l a s s V i s i t o r cv ) ; p u b l i c v o i d v i s i t ( i n t v e r s i o n, i n t a c c e s s, S t r i n g name, S t r i n g s i g n a t u r e, S t r i n g supername, S t r i n g [ ] i n t e r f a c e s ) ; p u b l i c v o i d v i s i t S o u r c e ( S t r i n g s o u r c e, S t r i n g debug ) ; p u b l i c v o i d v i s i t O u t e r C l a s s ( S t r i n g owner, S t r i n g name, S t r i n g d e s c ) ; A n n o t a t i o n V i s i t o r v i s i t A n n o t a t i o n ( S t r i n g desc, b o o l e a n v i s i b l e ) ; p u b l i c v o i d v i s i t A t t r i b u t e ( A t t r i b u t e a t t r ) ; p u b l i c v o i d v i s i t I n n e r C l a s s ( S t r i n g name, S t r i n g outername, String innername, i n t access ) ; p u b l i c F i e l d V i s i t o r v i s i t F i e l d ( i n t a c c e s s, S t r i n g name, S t r i n g desc, String signature, Object value ) ; p u b l i c MethodVisitor visitmethod ( i n t access, String name, String desc, String signature, String [ ] exceptions ) ; v o i d v i s i t E n d ( ) ; }
14 ASM : Class Visitor Methods of a Class Visitor must call in the following order visit visitsource? visitouterclass? (visitannotation visitattribute) * (visitinnerclass visitfield visit Method )* visitend
15 ClassWriter : Generating Classes Based on ClassVisitor Produce as output a byte array that contains the compiled class
16 ClassReader : Parsing Classes Calling the corresponding visitxxx methods on ClassVisitor instance passed as an argument to its accept method
17 ClassAdapter : Transforming Classes Figure: Class Adapter
18 Other important Classes MethodVisitor CheckClassAdapter Asmfier
19 References
20 Thank you
Computer Science Introductory Course MSc - Introduction to Java
Computer Science Introductory Course MSc - Introduction to Java Lecture 1: Diving into java Pablo Oliveira ENST Outline 1 Introduction 2 Primitive types 3 Operators 4 5 Control Flow
More informationCompiling Techniques
Lecture 11: Introduction to 13 November 2015 Table of contents 1 Introduction Overview The Backend The Big Picture 2 Code Shape Overview Introduction Overview The Backend The Big Picture Source code FrontEnd
More informationModern Functional Programming and Actors With Scala and Akka
Modern Functional Programming and Actors With Scala and Akka Aaron Kosmatin Computer Science Department San Jose State University San Jose, CA 95192 707-508-9143 akosmatin@gmail.com Abstract For many years,
More informationMore on Methods and Encapsulation
More on Methods and Encapsulation Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 31, 2009 H.-T. Lin (NTU CSIE) More on Methods and Encapsulation OOP(even) 03/31/2009 0 / 38 Local Variables Local
More informationSYSTEM V APPLICATION BINARY INTERFACE. Intel386 Architecture Processor Supplement. Fourth Edition
SYSTEM V APPLICATION BINARY INTERFACE Intel386 Architecture Processor Supplement Fourth Edition Copyright 1990 1996 The Santa Cruz Operation, Inc. All rights reserved. Copyright 1990 1992 AT&T. All rights
More informationPredicting English keywords from Java Bytecodes using Machine Learning
Predicting English keywords from Java Bytecodes using Machine Learning Pablo Ariel Duboue Les Laboratoires Foulab (Montreal Hackerspace) 999 du College Montreal, QC, H4C 2S3 REcon June 15th, 2012 Outline
More informationFACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING OBJECT ORIENTED PROGRAMMING DATE 07/2014 SESSION 8:00-10:00
FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING MODULE CAMPUS CSC2A10 OBJECT ORIENTED PROGRAMMING AUCKLAND PARK CAMPUS (APK) EXAM JULY 2014 DATE 07/2014 SESSION 8:00-10:00 ASSESOR(S)
More informationMore About Methods. Hsuan-Tien Lin. Deptartment of CSIE, NTU. OOP Class, March 8-9, 2010
More About Methods Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 8-9, 2010 H.-T. Lin (NTU CSIE) More About Methods OOP 03/08-09/2010 0 / 24 Methods: the Basic Method (1/2, Callee s View) 1 p
More information- Why aren t there more quantum algorithms? - Quantum Programming Languages. By : Amanda Cieslak and Ahmana Tarin
- Why aren t there more quantum algorithms? - Quantum Programming Languages By : Amanda Cieslak and Ahmana Tarin Why aren t there more quantum algorithms? there are only a few problems for which quantum
More informationCompiler Design Spring 2017
Compiler Design Spring 2017 3.4 Bottom-up parsing Dr. Zoltán Majó Compiler Group Java HotSpot Virtual Machine Oracle Corporation 1 Bottom up parsing Goal: Obtain rightmost derivation in reverse w S Reduce
More informationGenerics. Hsuan-Tien Lin. OOP Class, May 23, Department of CSIE, NTU. H.-T. Lin (NTU CSIE) Generics OOP 05/23/ / 16
Generics Hsuan-Tien Lin Department of CSIE, NTU OOP Class, May 23, 2013 H.-T. Lin (NTU CSIE) Generics OOP 05/23/2013 0 / 16 How can we write a class for an Integer set of arbitrary size? H.-T. Lin (NTU
More informationQuantum Computing Virtual Machine. Author: Alexandru Gheorghiu Scientific advisor: PhD. Lorina Negreanu
Quantum Computing Virtual Machine Author: Alexandru Gheorghiu Scientific advisor: PhD. Lorina Negreanu Quantum Computing Virtual Machine Quantum Computing Computer science + quantum mechanics = quantum
More informationScripting Languages Fast development, extensible programs
Scripting Languages Fast development, extensible programs Devert Alexandre School of Software Engineering of USTC November 30, 2012 Slide 1/60 Table of Contents 1 Introduction 2 Dynamic languages A Python
More informationBasic Java OOP 10/12/2015. Department of Computer Science & Information Engineering. National Taiwan University
Basic Java OOP 10/12/2015 Hsuan-Tien Lin ( 林軒田 ) htlin@csie.ntu.edu.tw Department of Computer Science & Information Engineering National Taiwan University ( 國立台灣大學資訊工程系 ) Hsuan-Tien Lin (NTU CSIE) Basic
More informationA Java introduction SDK, FC 15/12/2009 UMR AMAP. SDK, FC (UMR AMAP) A Java introduction 15/12/ / 50
A Java introduction SDK, FC UMR AMAP 15/12/2009 SDK, FC (UMR AMAP) A Java introduction 15/12/2009 1 / 50 Plan 1 Introduction 2 Bases Java Application Variables & Expressions Simple Arrays Exceptions Collections
More informationLisp Introduction. Dr. Neil T. Dantam. Spring CSCI-498/598 RPM, Colorado School of Mines. Dantam (Mines CSCI, RPM) Lisp Spring / 88
Lisp Introduction Dr. Neil T. Dantam CSCI-498/598 RPM, Colorado School of Mines Spring 28 Dantam (Mines CSCI, RPM) Lisp Spring 28 / 88 Outline Lisp Common Lisp by Example Implementation Details Typing
More informationA Reconfigurable Quantum Computer
A Reconfigurable Quantum Computer David Moehring CEO, IonQ, Inc. College Park, MD Quantum Computing for Business 4-6 December 2017, Mountain View, CA IonQ Highlights Full Stack Quantum Computing Company
More informationAnatomy of SINGULAR talk at p. 1
Anatomy of SINGULAR talk at MaGiX@LIX 2011- p. 1 Anatomy of SINGULAR talk at MaGiX@LIX 2011 - Hans Schönemann hannes@mathematik.uni-kl.de Department of Mathematics University of Kaiserslautern Anatomy
More informationIntroduction to ANTLR (ANother Tool for Language Recognition)
Introduction to ANTLR (ANother Tool for Language Recognition) Jon Eyolfson University of Waterloo September 27 - October 1, 2010 Outline Introduction Usage Example Demonstration Conclusion Jon Eyolfson
More informationCompiling Techniques
Lecture 7: Abstract Syntax 13 October 2015 Table of contents Syntax Tree 1 Syntax Tree Semantic Actions Examples Abstract Grammar 2 Internal Representation AST Builder 3 Visitor Processing Semantic Actions
More informationComputer Science Introductory Course MSc - Introduction to Java
Computer Science Introductory Course MSc - Introduction to Java Lecture 3:,, Pablo Oliveira ENST Outline 1 2 3 Definition An exception is an event that indicates an abnormal condition
More informationPython. Tutorial. Jan Pöschko. March 22, Graz University of Technology
Tutorial Graz University of Technology March 22, 2010 Why? is: very readable easy to learn interpreted & interactive like a UNIX shell, only better object-oriented but not religious about it slower than
More informationPython. chrysn
Python chrysn 2008-09-25 Introduction Structure, Language & Syntax Strengths & Weaknesses Introduction Structure, Language & Syntax Strengths & Weaknesses Python Python is an interpreted,
More informationWeb-GIS based Framework for Solid Waste Complaint Management for Sustainable and Smart City
Cloud Publications International Journal of Advanced Remote Sensing and GIS 2016, Volume 5, Issue 10, pp. 1930-1936 ISSN 2320-0243, DOI: 10.23953/cloud.ijarsg.71 Research Article Open Access Web-GIS based
More informationCS-140 Fall 2017 Test 1 Version Practice Practice for Nov. 20, Name:
CS-140 Fall 2017 Test 1 Version Practice Practice for Nov. 20, 2017 Name: 1. (10 points) For the following, Check T if the statement is true, the F if the statement is false. (a) T F : If a child overrides
More informationCS429: Computer Organization and Architecture
CS429: Computer Organization and Architecture Warren Hunt, Jr. and Bill Young Department of Computer Sciences University of Texas at Austin Last updated: September 3, 2014 at 08:38 CS429 Slideset C: 1
More informationScikit-learn. scikit. Machine learning for the small and the many Gaël Varoquaux. machine learning in Python
Scikit-learn Machine learning for the small and the many Gaël Varoquaux scikit machine learning in Python In this meeting, I represent low performance computing Scikit-learn Machine learning for the small
More informationINF5110 Compiler Construction. Spring 2017
INF5110 Compiler Construction Spring 2017 1 / 97 Outline 1. Intermediate code generation Intro Intermediate code Three-address code P-code Generating P-code Generation of three address code Basic: From
More informationMURA Office hours Thurs at 12-1pm in CIT 546 Contact for more info.
Course Announcements Lecture capture has begun, available from Lectures page. First two and a half weeks are packed. Testing lab done, HTML started, and Stars due next Friday. Department has a lot of student
More informationSun SPOTs: A Great Solution for Small Device Development
Sun SPOTs: A Great Solution for Small Device Development Claudio M. Horvilleur Cromasoft, S.A. de C.V. México Agenda What is the Problem? What is a SunSPOT? Adding a New Sensor Hardware Development Issues
More information11 Parallel programming models
237 // Program Design 10.3 Assessing parallel programs 11 Parallel programming models Many different models for expressing parallelism in programming languages Actor model Erlang Scala Coordination languages
More informationA Practical Comparison of Agile Web Frameworks
A Practical Agile Frame David Díaz Clavijo david@diazclavijo.com University of Las Palmas de Gran Canaria School of Computer Science Tutors: Cayetano Guerra Artal Alexis Quesada Arencibia Lydia Esther
More informationInterfaces Dynamic Filter Sorting Sorting SQL. Dynamic LINQ. Radu Nicolescu Department of Computer Science University of Auckland.
Dynamic LINQ Radu Nicolescu Department of Computer Science University of Auckland 25 August 2017 1 / 20 1 IEnumerable and IQueryable 2 Dynamic LINQ 3 Dynamic filter Where 4 Dynamic sorting OrderBy 5 Dynamic
More informationGLoBES. Patrick Huber. Physics Department VT. P. Huber p. 1
GLoBES Patrick Huber Physics Department VT P. Huber p. 1 P. Huber p. 2 General Long Baseline Experiment Simulator GLoBES is a software package designed for Simulation Analysis Comparison of neutrino oscillation
More informationDirections in Statistical Computing 2014 Renjin's JIT
Directions in Statistical Computing 2014 Renjin's JIT Thinking about R as a Query Language Alexander Bertram BeDataDriven 2014 1 Quick Intro: Renjin R-language Interpreter written in Java, uses GNU R core
More informationStructure. Background. them to their higher order equivalents. functionals in Standard ML source code and converts
Introduction 3 Background functionals factor out common behaviour map applies a function to every element of a list fun map [ ] = [ ] map f ( x : : xs ) = f x : : map f xs filter keeps only those elements
More informationTuring Machines Part Three
Turing Machines Part Three What problems can we solve with a computer? What kind of computer? Very Important Terminology Let M be a Turing machine. M accepts a string w if it enters an accept state when
More informationInformation Security Theory vs. Reality
Information Security Theory vs. Reality 0368-4474-01, Winter 2011 Lecture 7: Information flow control Eran Tromer 1 Slides credit: Max Krohn, MIT Ian Goldberg and Urs Hengartner, University of Waterloo
More informationChapter 9 Intermediate code generation
Chapter 9 generation Course Martin Steffen Spring 2018 Chapter 9 Learning Targets of Chapter generation. 1. intermediate code 2. three-address code and 3. translation to those forms 4. translation between
More informationarxiv: v1 [cs.se] 10 Jan 2018
To Pool or Not To Pool? Revisiting an Old Pattern Ioannis T. Christou Athens Information Technology, 15125 Marousi, Greece Sofoklis Efremidis Athens Information Technology, 15125 Marousi, Greece arxiv:1801.03763v1
More informationTriggering of Just-In-Time Compilation in the Java Virtual Machine
San Jose State University SJSU ScholarWorks Master's Projects Master's Theses and Graduate Research 2009 Triggering of Just-In-Time Compilation in the Java Virtual Machine Rouhollah Gougol San Jose State
More informationI. Numerical Computing
I. Numerical Computing A. Lectures 1-3: Foundations of Numerical Computing Lecture 1 Intro to numerical computing Understand difference and pros/cons of analytical versus numerical solutions Lecture 2
More informationITI Introduction to Computing II
(with contributions from R. Holte) School of Electrical Engineering and Computer Science University of Ottawa Version of January 11, 2015 Please don t print these lecture notes unless you really need to!
More informationActivities, Fragments and Intents
Mobile App Development 1 2 Design Principles 3 1 2 Design Principles 3 Manifest file Outline AndroidManifest.xml XML file Contains name of the application and a default package, Sets up the various permissions
More informationInverse Orchestra: An approach to find faster solution of matrix inversion through Cramer s rule
Inverse Orchestra: An approach to find faster solution of matrix inversion through Cramer s rule Shweta Agrawal, Rajkamal School of Computer Science & Information Technology, DAVV, Indore (M.P.), India
More informationHigh-performance Technical Computing with Erlang
High-performance Technical Computing with Erlang Alceste Scalas Giovanni Casu Piero Pili Center for Advanced Studies, Research and Development in Sardinia ACM ICFP 2008 Erlang Workshop September 27th,
More informationFinding Motifs in Protein Sequences and Marking Their Positions in Protein Structures
MotifMarker Demo This document contains a demo of MotifMarker used to study the structures of the CDK2,CDC2, CDK4 and CDK6 highlighting the 3 important domains/motifs, namely, the PSTAIRE region, ATP binding
More informationWeb-based Exploration of and Interaction with Large and Deeply Structured Semantic 3D City Models using HTML5 and WebGL
Web-based Exploration of and Interaction with Large and Deeply Structured Semantic 3D City Models using HTML5 and WebGL KANISHK CHATURVEDI 1, ZHIHANG YAO 2 & THOMAS H. KOLBE 1 Abstract: The aim of the
More information1. Write a program to calculate distance traveled by light
G. H. R a i s o n i C o l l e g e O f E n g i n e e r i n g D i g d o h H i l l s, H i n g n a R o a d, N a g p u r D e p a r t m e n t O f C o m p u t e r S c i e n c e & E n g g P r a c t i c a l M a
More informationDiffSharp An AD Library for.net Languages
DiffSharp An AD Library for.net Languages Atılım Güneş Baydin 1 Barak A. Pearlmutter 2 Jeffrey Mark Siskind 3 1 University of Oxford gunes@robots.ox.ac.uk 2 Maynooth University barak@pearlmutter.net 3
More informationA Stochastic Simulation of Natural Organic Matter and Microbes in the Environment
A Stochastic Simulation of Natural Organic Matter and Microbes in the Environment Xiaorong Xiang Gregory Madey Yingping Huang Steve Cabaniss (University of New Mexico) Department of Computer Science and
More informationMeta-programming & you
Meta-programming & you Robin Message Cambridge Programming Research Group 10 th May 2010 What s meta-programming about? 1 result=somedb. customers. select 2 { first_name+ +last_name } 3 where name LIKE
More informationCS-140 Fall 2018 Test 2 Version Practice Nov. 12, Name:
CS-140 Fall 2018 Test 2 Version Practice Nov. 12, 2018 Name: 1. (10 points) For the following, Check T if the statement is true, or F if the statement is false. (a) T F : If a child overrides its parent
More informationBuilding Algorithmic Polytopes. David Bremner with D. Avis, H.R. Tiwary, and O. Watanabe December 16, 2014
Building Algorithmic Polytopes David Bremner with D. Avis, H.R. Tiwary, and O. Watanabe December 16, 2014 Outline Matchings in graphs Given G = (V, E), M E is called a matching {e M v e} 1 v V A matching
More informationECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University
ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University Prof. Mi Lu TA: Ehsan Rohani Laboratory Exercise #4 MIPS Assembly and Simulation
More informationIntroduction to Computing II (ITI 1121) FINAL EXAMINATION
Université d Ottawa Faculté de génie École de science informatique et de génie électrique University of Ottawa Faculty of engineering School of Electrical Engineering and Computer Science Introduction
More informationA friendly framework for hiding fault enabled virus for Java based smart cards
A friendly framework for hiding fault enabled virus for Java based smart cards Tiana Razafindralambo Guillaume Bouffard Jean-Louis Lanet Smart Secure Devices (SSD) Team Xlim Université de Limoges aina.razafindralambo@etu.unilim.fr
More informationITI Introduction to Computing II
(with contributions from R. Holte) School of Electrical Engineering and Computer Science University of Ottawa Version of January 9, 2019 Please don t print these lecture notes unless you really need to!
More informationPRIMA Astrometric FItting Software (AFIS)
PRIMA Astrometric FItting Software (AFIS) Users Requirements Doc. Nr: JRA4-SPE-2410-0001 Issue: 1.0 Date: July 15 th, 2006 Prepared Damien Ségransan July 15 th, 2006 Approved Gérard Zins Released Signature
More informationJChartLib ver 1.0. Silvio Schneider, June 7, Introduction 3. 2 Chart and Dataset 4. 3 Adding data to a chart 4
JChartLib ver 1.0 Silvio Schneider, contact@suvi.org June 7, 2012 Contents 1 Introduction 3 2 Chart and Dataset 4 3 Adding data to a chart 4 4 Linechart 5 4.1 Linechart Example........................................
More informationGRASS GIS Development APIs
GRASS GIS Development APIs Lifting the fog on the different ways to develop with and for GRASS Moritz Lennert Member of the GRASS GIS Project Steering Comittee PostGISomics Over 30 years of development
More informationDEVELOPMENT AND IMPLEMENTATION OF A NEW WEB MAPPING SYSTEM ARCHITECTURE FOR ARCTIC REGION
GEOIDE SSII#109 DEVELOPMENT AND IMPLEMENTATION OF A NEW WEB MAPPING SYSTEM ARCHITECTURE FOR ARCTIC REGION Presenter: Fanny Tsai hftsai@ucalgary.ca Supervisor: Dr. Steve Liang steve.liang@ucalgary.ca Date:
More informationCFLs and Regular Languages. CFLs and Regular Languages. CFLs and Regular Languages. Will show that all Regular Languages are CFLs. Union.
We can show that every RL is also a CFL Since a regular grammar is certainly context free. We can also show by only using Regular Expressions and Context Free Grammars That is what we will do in this half.
More informationFREIS: A WEB-BASED RESOURCES AND ENVIRONMENT INFORMATION SYSTEM FOR AGRO-ECOSYSTEM MANAGEMENT
FREIS: A WEB-BASED RESOURCES AND ENVIRONMENT INFORMATION SYSTEM FOR AGRO-ECOSYSTEM MANAGEMENT Mingxin Men *, Yuepu Qi, Boyang Du, Hao Xu College of Agricultural Resources and Environmental Sciences, Hebei
More informationYYT-C3002 Application Programming in Engineering GIS I. Anas Altartouri Otaniemi
YYT-C3002 Application Programming in Engineering GIS I Otaniemi Overview: GIS lectures & exercise We will deal with GIS application development in two lectures. Because of the versatility of GIS data models
More informationimport java. u t i l. ;... Scanner sc = new Scanner ( System. in ) ;
CPSC 490 Input Input will always arrive on stdin. You may assume input is well-formed with respect to the problem specification; inappropriate input (e.g. text where a number was specified, number out
More informationFunctional Programming with F# Overview and Basic Concepts
Functional Programming with F# Overview and Basic Concepts Radu Nicolescu Department of Computer Science University of Auckland 27 Sep 2017 1 / 52 1 Background 2 Overview 3 Type System and Type Inference
More informationCode Clone Detection using Graphs and Adjacency Structures
Code Clone Detection using Graphs and Adjacency Structures Mukesh Kumar a, Lalit Kumar Sagar b, Saurabh Kumar c a, b, c Assistant Professor, Dr. K.N.M.I.E.T, India Abstract: - Code clone detection is the
More informationOSGIS Platform. Storing and distributing PostGIS, Deegree, UMN Map Server Desktop visualization JUMP, QGIS, Thuban, udig, gvsig
GIS groups of tasks Geodata collecting, updating Geodata storing and distributing Geodata analysis Geodata visualization: Desktop, Internet, Printing Geodata describing: metadata management Geodata converting:
More informationOn my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work
Lab 5 : Linking Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The main objective of this lab is to experiment
More informationSpace-aware data flow analysis
Space-aware data flow analysis C. Bernardeschi, G. Lettieri, L. Martini, P. Masci Dip. di Ingegneria dell Informazione, Università di Pisa, Via Diotisalvi 2, 56126 Pisa, Italy {cinzia,g.lettieri,luca.martini,paolo.masci}@iet.unipi.it
More informationIntroduction to Computer Programming, Spring Term 2018 Practice Assignment 1 Discussion:
German University in Cairo Media Engineering and Technology Prof. Dr. Slim Abdennadher Dr. Rimon Elias Dr. Hisham Othman Introduction to Computer Programming, Spring Term 2018 Practice Assignment 1 Discussion:
More information4th year Project demo presentation
4th year Project demo presentation Colm Ó héigeartaigh CASE4-99387212 coheig-case4@computing.dcu.ie 4th year Project demo presentation p. 1/23 Table of Contents An Introduction to Quantum Computing The
More informationAdaptive Online Program Analysis: Concepts, Infrastructure, and Applications
Technical Report TR-UNL-CSE-2006-0011, Department of Computer Science and Engineering, University of Nebraska Lincoln, Lincoln, Nebraska, USA, 9 September 2006 Adaptive Online Program Analysis: Concepts,
More informationINF5110 Compiler Construction. Spring 2016
INF5110 Compiler Construction Spring 2016 1 / 98 Outline 1. Intermediate code generation Intro Intermediate code Three-address code P-code Generating P-code Generation of three address code Basic: From
More informationWeb georeference of historical maps
Vassilios Tsioukas Web georeference of historical maps Keywords: Historical maps, Georeference, Cartography, Cartographic Heritage Summary The creation of an application to perform the geo-referencing
More informationInf2A: The Pumping Lemma
Inf2A: Stuart Anderson School of Informatics University of Edinburgh October 8, 2009 Outline 1 Deterministic Finite State Machines and Regular Languages 2 3 4 The language of a DFA ( M = Q, Σ, q 0, F,
More informationLecture VII Part 2: Syntactic Analysis Bottom-up Parsing: LR Parsing. Prof. Bodik CS Berkley University 1
Lecture VII Part 2: Syntactic Analysis Bottom-up Parsing: LR Parsing. Prof. Bodik CS 164 -- Berkley University 1 Bottom-Up Parsing Bottom-up parsing is more general than topdown parsing And just as efficient
More informationOracle Spatial: Essentials
Oracle University Contact Us: 1.800.529.0165 Oracle Spatial: Essentials Duration: 5 Days What you will learn The course extensively covers the concepts and usage of the native data types, functions and
More information1 Trees. Listing 1: Node with two child reference. public class ptwochildnode { protected Object data ; protected ptwochildnode l e f t, r i g h t ;
1 Trees The next major set of data structures belongs to what s called Trees. They are called that, because if you try to visualize the structure, it kind of looks like a tree (root, branches, and leafs).
More informationCA Compiler Construction
CA4003 - Compiler Construction Code Generation to MIPS David Sinclair Code Generation The generation o machine code depends heavily on: the intermediate representation;and the target processor. We are
More informationDecidability and Undecidability
Decidability and Undecidability Major Ideas from Last Time Every TM can be converted into a string representation of itself. The encoding of M is denoted M. The universal Turing machine U TM accepts an
More informationTests of MATISSE on large spectral datasets from the ESO Archive
Tests of MATISSE on large spectral datasets from the ESO Archive Preparing MATISSE for the ESA Gaia Mission C.C. Worley, P. de Laverny, A. Recio-Blanco, V. Hill, Y. Vernisse, C. Ordenovic and A. Bijaoui
More informationSoftware Analysis AdaCore
Software Analysis Tools @ AdaCore Yannick Moy LSL Seminar, CEA-LIST December 8 th, 2009 Outline Ada & AdaCore Dynamic Analysis Tools @ AdaCore Static Analysis Tools @ AdaCore Project Hi-Lite 1 / 46 Outline
More informationB553 Lecture 5: Matrix Algebra Review
B553 Lecture 5: Matrix Algebra Review Kris Hauser January 19, 2012 We have seen in prior lectures how vectors represent points in R n and gradients of functions. Matrices represent linear transformations
More informationDepartment of Chemical Engineering University of California, Santa Barbara Spring Exercise 2. Due: Thursday, 4/19/09
Department of Chemical Engineering ChE 210D University of California, Santa Barbara Spring 2012 Exercise 2 Due: Thursday, 4/19/09 Objective: To learn how to compile Fortran libraries for Python, and to
More informationOBEUS. (Object-Based Environment for Urban Simulation) Shareware Version. Itzhak Benenson 1,2, Slava Birfur 1, Vlad Kharbash 1
OBEUS (Object-Based Environment for Urban Simulation) Shareware Version Yaffo model is based on partition of the area into Voronoi polygons, which correspond to real-world houses; neighborhood relationship
More informationSFWR ENG/COMP SCI 2S03 Principles of Programming
(Slide 1 of 78) Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Java actually: A Comprehensive Primer in
More informationUCGE Reports Number 20148
UCGE Reports Number 20148 Department of Geomatics Engineering Development of a Distributed Geoprocessing Service Model (URL: http://www.geomatics.ucalgary.ca/gradtheses.html) by Shuxin Yuan December 2000
More informationAlgAE (Algorithm Animation Engine) Reference Manual Version 3.0. Steven J. Zeil Old Dominion University Dept. of Computer Science
AlgAE (Algorithm Animation Engine) Reference Manual Version 3.0 Steven J. Zeil Old Dominion University Dept. of Computer Science August 20, 2011 i Copyright: This document is c 2011, Steven J. Zeil. Permission
More informationCS-140 Fall 2018 Test 2 Version Practice Nov. 12, 2018
CS-140 Fall 2018 Test 2 Version Practice Nov. 12, 2018 Name: 1. (10 points) For the following, Check T if the statement is true, or F if the statement is false. (a) T X F : If a child overrides its parent
More informationSideNail. Martín Schonaker, Santiago Martínez
SideNail Martín Schonaker, Santiago Martínez March 24, 2010 2 Chapter 1 Quickstart 1.1 Hello, World! Listing 1.1 shows the simplest mapping example one can build with SideNail. The example shows how to
More informationDesign and implementation of a new meteorology geographic information system
Design and implementation of a new meteorology geographic information system WeiJiang Zheng, Bing. Luo, Zhengguang. Hu, Zhongliang. Lv National Meteorological Center, China Meteorological Administration,
More informationSynthesis of Adaptive Side-Channel Attacks
Synthesis of Adaptive Side-Channel Attacks MALACARIA, P; Phan, Q-S; Pasareanu, C; Bang, L; Bultan, T; 2017 IEEE Computer Security Foundations Symposium (CSF) For additional information about this publication
More informationParsing Algorithms. CS 4447/CS Stephen Watt University of Western Ontario
Parsing Algorithms CS 4447/CS 9545 -- Stephen Watt University of Western Ontario The Big Picture Develop parsers based on grammars Figure out properties of the grammars Make tables that drive parsing engines
More informationA Spatial Data Infrastructure for Landslides and Floods in Italy
V Convegno Nazionale del Gruppo GIT Grottaminarda 14 16 giugno 2010 A Spatial Data Infrastructure for Landslides and Floods in Italy Ivan Marchesini, Vinicio Balducci, Gabriele Tonelli, Mauro Rossi, Fausto
More informationTryton Technical Training
Tryton Technical Training N. Évrard B 2CK September 18, 2015 N. Évrard (B 2 CK) Tryton Technical Training September 18, 2015 1 / 56 Overview and Installation Outline 1 Overview and Installation Tryton
More informationCMPSCI 105 Final Exam Spring 2016 Professor William T. Verts CMPSCI 105 Final Exam Spring 2016 May 5, 2016 Professor William T. Verts Solution Key
CMPSCI 105 Final Exam Spring 2016 May 5, 2016 Professor William T. Verts Solution Key Page 1 of 6 GENERAL KNOWLEDGE, SPECIAL TOPICS, & REVIEW 10 Points One point each question. Answer any ten. Answer
More informationVisualizing Energy Usage and Consumption of the World
Visualizing Energy Usage and Consumption of the World William Liew Abstract As the world becomes more and more environmentally aware, a simple layman s visualization of worldwide energy use is needed to
More informationTheorem Proving beyond Deduction
Theorem Proving beyond Deduction Specification and Verification with Higher-Order Logic Arnd Poetzsch-Heffter (Slides by Jens Brandt) Software Technology Group Fachbereich Informatik Technische Universität
More information