A RefactorErl Projekt Erlang programok statikus elemzése és
|
|
|
- Timothy Evans
- 10 years ago
- Views:
Transcription
1 A RefactorErl Projekt Erlang programok statikus elemzése és refaktorálása Tóth Melinda KMOP / pályázat A kutatás-fejlesztési központok fejlesztése és megerősítése június 19., Budapest Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 1 / 9
2 Az alprojekt célkitűzései Szoftverek karbantartásának és átalakításának támogatása Refaktorálás Forráskód egységesítés Tulajdonság alapú tesztelés Kódmegértés támogatás Alkalmazás-specifikus nyelv fejlesztés Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 2 / 9
3 Erlang Ericsson által fejlesztett Telekommunikációs szoftverek írásának megkönnyítése Széleskörű ipari használat Sok millió soros szoftverek Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 3 / 9
4 RefactorErl mérföldkövek Feladat az Ericssonból 2007, Augusztus - Első kiadás 2008, Augusztus - 15 refaktorálás az újratervezett rendszerben 2009, Október - Lekérdezések Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 4 / 9
5 RefactorErl Statikus forráskód elemző és transzformáló eszköz Ipari kódok elemzésére tervezve Perzisztens adattárolás Inkrementális elemzés Hatékony adatelérés Biztonságos transzformálás Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 5 / 9
6 3-rétegű gráf modell 1 Lexikális réteg Tokenek Preprocesszálás Comment, whitespace 2 Szintaktikus réteg Absztrakt Szintaxis-Fa File 3 Szemantikus réteg Modul, függvény, rekord, változó, környezet elemzés Adatfolyam, mellékhatás Aszinkron elemző infrastruktúra Utóelemzések: dinamikus függvényhívás elemzés, folyamatelemzés, ets elemzés Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 6 / 9
7 -module(my). -define(eol(x), X ++ "\n"). f(s) -> io:put chars(?eol(s)). my.erl function put chars my modq var atom atom f io app S ++ var string S ++ "\n" f ( S ) -> io : put chars (? EOL ( S ) ). Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 7 / 9
8 -module(my). -define(eol(x), X ++ "\n"). f(s) -> io:put chars(?eol(s)). my.erl function put chars my modq var atom atom f io app S ++ var string S ++ "\n" f ( S ) -> io : put chars (? EOL ( S ) ). Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 7 / 9
9 -module(my). -define(eol(x), X ++ "\n"). f(s) -> io:put chars(?eol(s)). my.erl function put chars my modq var atom atom f io app S ++ var string S ++ "\n" f ( S ) -> io : put chars (? EOL ( S ) ). Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 7 / 9
10 -module(my). -define(eol(x), X ++ "\n"). f(s) -> io:put chars(?eol(s)). my.erl function put chars my modq var atom atom f io app S ++ var string S ++ "\n" f ( S ) -> io : put chars (? EOL ( S ) ). Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 7 / 9
11 -module(my). -define(eol(x), X ++ "\n"). f(s) -> io:put chars(?eol(s)). my.erl function put chars my modq var atom atom f io app S ++ var string S ++ "\n" f ( S ) -> io : put chars (? EOL ( S ) ). Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 7 / 9
12 -module(my). -define(eol(x), X ++ "\n"). f(s) -> io:put chars(?eol(s)). my.erl function put chars my modq var atom atom f io app S ++ var string S ++ "\n" f ( S ) -> io : put chars (? EOL ( S ) ). Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 7 / 9
13 -module(my). -define(eol(x), X ++ "\n"). f(s) -> io:put chars(?eol(s)). my.erl function put chars my modq var atom atom f io app S ++ var string S ++ "\n" f ( S ) -> io : put chars (? EOL ( S ) ). Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 7 / 9
14 Gráf tárolás és kezelés A csúcsok és élek Mnesia táblákban vannak tárolva* Csúcs attribútumok: token szöveg, változó név,... Élcímkék: sub, funref, varref,... Gráf bejárás: szűrt élcímke sorozat Az élek indexeltek Nem ugrik meg a lekérdezések költsége A gyakran használt lekérdezések fix hosszúak Szintaxis alapú transzformációk, automatikus token kezelés Inkrementális, automatizált szemantikus elemzések Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 8 / 9
15 Alternatív tárolási módok NIF Gráf: C++ Kyoto Cabinet: C Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 9 / 9
16 Refaktorálás A forráskód szerkezetének átalakítása Viselkedés/jelentés megőrzése RefactorErl eredményessége Szintaktikus átalakítás Szemantikus és lexikális struktúra automatikusan áll helyre 25 megvalósított transzformáció Metrika vezérelt átalakítások Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 10 / 9
17 Implementált transzformációk Rename variable function record, record field macro module/header file Function interface introduce function argument reorder parameters introduce tuple eliminate/introduce import Move definition macro record function Expression structure eliminate/introduce variable eliminate/introduce function eliminate macro application eliminate fun-expression Data structure Introduce record Upgrade module interface Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 11 / 9
18 Tulajdonság alapú tesztelés A transzformációk helyességének ellenőrzése QuickCheck/PropEr tulajdonság alapú tesztelővel A refaktorálások tulajdonságai formalizáltak Viselkedés megőrzés ellenőrzése Véletlenszerűen generált transzformációs paraméterek Véletlenszerűen generált programokon Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 12 / 9
19 Kódmegértés támogatása Szemantikus információ elérhetővé tétele Lekérdező nyelv Függőségi elemzések és vizualizáció Metrikák Klaszterezés Kód böngészés beépített lekérdezésekkel Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 13 / 9
20 Lekérdező nyelv Az Erlang nyelv jellemzőire és szemantikus fogalmaira épül Entitás + szelektor + tulajdonság mods.funs.refs mods[name=alma].funs.refs Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 14 / 9
21 Syntax of semantic queries semantic_query ::= initial_selection [. query_sequence] initial_selection ::= initial_selector [ [ filter ] ] query_sequence ::= query [. query_sequence] query ::= selection iteration closure property_query selection ::= selector [ [ filter ] ] iteration ::= { query_sequence } int [ [ filter ] ] closure ::= ( query_sequence ) int [ [ filter ] ] ( query_sequence )+ [ [ filter ] ] property_query ::= property [ [ filter ] ] Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 15 / 9
22 Syntax of semantic queries semantic_query ::= initial_selection [. query_sequence] initial_selection ::= initial_selector [ [ filter ] ] query_sequence ::= query [. query_sequence] query ::= selection iteration closure property_query selection ::= selector [ [ filter ] ] iteration ::= { query_sequence } int [ [ filter ] ] closure ::= ( query_sequence ) int [ [ filter ] ] ( query_sequence )+ [ [ filter ] ] property_query ::= property [ [ filter ] ] Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 15 / 9
23 Syntax of semantic queries semantic_query ::= initial_selection [. query_sequence] initial_selection ::= initial_selector [ [ filter ] ] query_sequence ::= query [. query_sequence] query ::= selection iteration closure property_query selection ::= selector [ [ filter ] ] iteration ::= { query_sequence } int [ [ filter ] ] closure ::= ( query_sequence ) int [ [ filter ] ] ( query_sequence )+ [ [ filter ] ] property_query ::= property [ [ filter ] ] Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 15 / 9
24 Szemantikus lekérdezések Value of a Call Side Dynamic @fun.dyncalled Sent messages mods.funs.exprs [.sub[index==1 and value==upd] and type==send expr] Received messages mods.funs. exprs[type==receive expr].sub[.sub[index==1 and value==upd] and type == tuple] Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 16 / 9
25 Szemantikus lekérdezések Value of a Call Side Dynamic @fun.dyncalled Sent messages mods.funs.exprs [.sub[index==1 and value==upd] and type==send expr] Received messages mods.funs. exprs[type==receive expr].sub[.sub[index==1 and value==upd] and type == tuple] Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 16 / 9
26 Szemantikus lekérdezések Value of a Call Side Dynamic @fun.dyncalled Sent messages mods.funs.exprs [.sub[index==1 and value==upd] and type==send expr] Received messages mods.funs. exprs[type==receive expr].sub[.sub[index==1 and value==upd] and type == tuple] Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 16 / 9
27 Szemantikus lekérdezések Value of a Call Side Dynamic @fun.dyncalled Sent messages mods.funs.exprs [.sub[index==1 and value==upd] and type==send expr] Received messages mods.funs. exprs[type==receive expr].sub[.sub[index==1 and value==upd] and type == tuple] Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 16 / 9
28 Szemantikus lekérdezések Value of a Call Side Dynamic @fun.dyncalled Sent messages mods.funs.exprs [.sub[index==1 and value==upd] and type==send expr] Received messages mods.funs. exprs[type==receive expr].sub[.sub[index==1 and value==upd] and type == tuple] Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 16 / 9
29 Szemantikus lekérdezések Value of a Call Side Dynamic @fun.dyncalled Sent messages mods.funs.exprs [.sub[index==1 and value==upd] and type==send expr] Received messages mods.funs. exprs[type==receive expr].sub[.sub[index==1 and value==upd] and type == tuple] Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 16 / 9
30 Függőségi elemzés Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 17 / 9
31 A szoftver Fejlesztő környezetbe építve: Emacs, Vi, Eclipse Interaktív és szkriptelhető Erlang shell interfész Parancssoros használat Webes felület Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 18 / 9
32 Webes Felület Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 19 / 9
33 Eredmények Megjelent cikkek, előadások, poszterek: Szakdolgozat/Diplomamunka: 14 5 TDK dolgozat: egy 2. díj, egy 3. díj az OTDK-n 2011-ben, 2 dolgozat bemutatása 2013-ban Bevont hallgatók száma: 10-20/szemeszter Oktatási hasznosítás: Szoftvertechnológia laborok, Erlang Szoftver: RefactorErl Tóth Melinda (ELTE IK.) Statikus elemzés június 19., Budapest 20 / 9
Scala. A Java jövője. Háber János
Scala A Java jövője Háber János Scala > Java? - JVM-en fut - Típusos - Teljesen objektum orientált - Funkcionális programozás támogatása - Minta illesztés - Többszörös öröklődés (Mixin) - Implicit konverzió
Refactoring Erlang Programs
Erlang programs 1 Zoltán Horváth, László Lövei, Zoltán Csörnyei, Tamás Kozsik, Anikó Víg, Tamás Nagy, Roland Király, Melinda Tóth, Róbert Kitlei Dept. Programming Languages and Compilers Eötvös Loránd
Google Web Toolkit GWT
THE INTERNET,mapped on the opposite page, is a scalefree network in that Google Web Toolkit dis.'~tj port,from BYALBERTU\SZLOBARABASI ANDERICBONABEAU THE INTERNET,mapped on the opposite page, is a scalefree
Note: This App is under development and available for testing on request. Note: This App is under development and available for testing on request. Note: This App is under development and available for
E-KERESKEDELEM MOBILE WALLET-TEL
1 E-KERESKEDELEM MOBILE WALLET-TEL Ács Zoltán Cellum Copyright 2015 Cellum. All rights reserved. 2 CURRENT TOP SMARTPHONES now are more powerful than those computers that put man on the moon 3 AZ E- ÉS
Quality Management Tools Of Chemical And Bio Industrial Data Systems And Procedures. Gergely Viczián
Ph.D. Thesis Quality Management Tools Of Chemical And Bio Industrial Data Systems And Procedures Gergely Viczián M. Sc. in Electrical engineering and Economy Ph.D. advisor: Dr. Klara Kollár-Hunek Consulant:
Bálványfa irtási kísérletek a Kisalföldi Life+ program keretében
Bálványfa irtási kísérletek a Kisalföldi Life+ program keretében Peszlen Roland, Endrődyné Király Nikolett, Takács Gábor Fertő-Hanság Nemzeti Park Igazgatóság Szidonya István, Kele Ferenc IST Consulting
03 - Lexical Analysis
03 - Lexical Analysis First, let s see a simplified overview of the compilation process: source code file (sequence of char) Step 2: parsing (syntax analysis) arse Tree Step 1: scanning (lexical analysis)
Introduction to Java
Introduction to Java The HelloWorld program Primitive data types Assignment and arithmetic operations User input Conditional statements Looping Arrays CSA0011 Matthew Xuereb 2008 1 Java Overview A high
CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS
66 CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS 5.1 INTRODUCTION In this research work, two new techniques have been proposed for addressing the problem of SQL injection attacks, one
Special Directions for this Test
1 Spring, 2013 Name: (Please do not write your id number!) COP 4020 Programming Languages I Test on Haskell and Functional Programming Special Directions for this Test This test has 7 questions and pages
Parameter Passing. Standard mechanisms. Call by value-result Call by name, result
Parameter Passing Standard mechanisms Call by value Call by reference Other methods Call by value-result Call by name, result Terms Function definition where the details of the function are presented (type,
Protecting Wireless Networks of the Critical Information Infrastructures
NATIONAL UNIVERSITY OF PUBLIC SERVICES PÉTER VARGA Official and author s review of PhD thesis titled Protecting Wireless Networks of the Critical Information Infrastructures Scientific advisor: Prof. Dr.
Outline Basic concepts of Python language
Data structures: lists, tuples, sets, dictionaries Basic data types Examples: int: 12, 0, -2 float: 1.02, -2.4e2, 1.5e-3 complex: 3+4j bool: True, False string: "Test string" Conversion between types int(-2.8)
Compilers. Introduction to Compilers. Lecture 1. Spring term. Mick O Donnell: [email protected] Alfonso Ortega: alfonso.ortega@uam.
Compilers Spring term Mick O Donnell: [email protected] Alfonso Ortega: [email protected] Lecture 1 to Compilers 1 Topic 1: What is a Compiler? 3 What is a Compiler? A compiler is a computer
How To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)
TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestions
Compiler Construction
Compiler Construction Lecture 1 - An Overview 2003 Robert M. Siegfried All rights reserved A few basic definitions Translate - v, a.to turn into one s own language or another. b. to transform or turn from
The Clean programming language. Group 25, Jingui Li, Daren Tuzi
The Clean programming language Group 25, Jingui Li, Daren Tuzi The Clean programming language Overview The Clean programming language first appeared in 1987 and is still being further developed. It was
Syntax Check of Embedded SQL in C++ with Proto
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 383 390. Syntax Check of Embedded SQL in C++ with Proto Zalán Szűgyi, Zoltán Porkoláb
Compiler Construction
Compiler Construction Regular expressions Scanning Görel Hedin Reviderad 2013 01 23.a 2013 Compiler Construction 2013 F02-1 Compiler overview source code lexical analysis tokens intermediate code generation
Hungarian Style Guide for Community
Hungarian Style Guide for Community Table of Contents Introduction... 4 Approach... 4 Content Principles...4 The Facebook Voice...4 Basics... 5 Be Brief...5 Consider Your Audience...5 Make it Readable...6
Topics. Query Repo Model Changeset
Ecto @emjii Topics Query Repo Model Changeset Query Query Based on LINQ Enabled by macros Database queries only LINQ Language Integrated Query Released 2007 Supported in C#, F# and VB.net LINQ from p in
Visual Basic. murach's TRAINING & REFERENCE
TRAINING & REFERENCE murach's Visual Basic 2008 Anne Boehm lbm Mike Murach & Associates, Inc. H 1-800-221-5528 (559) 440-9071 Fax: (559) 440-0963 [email protected] www.murach.com Contents Introduction
SQL Tables, Keys, Views, Indexes
CS145 Lecture Notes #8 SQL Tables, Keys, Views, Indexes Creating & Dropping Tables Basic syntax: CREATE TABLE ( DROP TABLE ;,,..., ); Types available: INT or INTEGER REAL or FLOAT CHAR( ), VARCHAR( ) DATE,
Introduction to Lex. General Description Input file Output file How matching is done Regular expressions Local names Using Lex
Introduction to Lex General Description Input file Output file How matching is done Regular expressions Local names Using Lex General Description Lex is a program that automatically generates code for
Scanning and parsing. Topics. Announcements Pick a partner by Monday Makeup lecture will be on Monday August 29th at 3pm
Scanning and Parsing Announcements Pick a partner by Monday Makeup lecture will be on Monday August 29th at 3pm Today Outline of planned topics for course Overall structure of a compiler Lexical analysis
Sun a felsőoktatásban. Kállay Kristóf. Sun Microsystems Kft.
Sun a felsőoktatásban Kállay Kristóf Sun Microsystems Kft. Miből lett a Sun neve? a) Angolul Nap, mely Kaliforniában sokat süt. b) Az alapítok nevéből (Scott McNealy, Ullrich Brandt, Nakajima Toshiko)
The spatial transformation of the production structure of transnational corporations: a case study of Volkswagen
Eötvös Loránd University Faculty of Science PhD School of Earth Sciences Geography and Meteorology Programme Gábor Túry The spatial transformation of the production structure of transnational corporations:
In-Memory Database: Query Optimisation. S S Kausik (110050003) Aamod Kore (110050004) Mehul Goyal (110050017) Nisheeth Lahoti (110050027)
In-Memory Database: Query Optimisation S S Kausik (110050003) Aamod Kore (110050004) Mehul Goyal (110050017) Nisheeth Lahoti (110050027) Introduction Basic Idea Database Design Data Types Indexing Query
The Elective Part of the NSS ICT Curriculum D. Software Development
of the NSS ICT Curriculum D. Software Development Mr. CHEUNG Wah-sang / Mr. WONG Wing-hong, Robert Member of CDC HKEAA Committee on ICT (Senior Secondary) 1 D. Software Development The concepts / skills
Completing the Big Data Ecosystem:
Completing the Big Data Ecosystem: in sqrrl data INC. August 3, 2012 Design Drivers in Analysis of big data is central to our customers requirements, in which the strongest drivers are: Scalability: The
Compiling Recursion to Reconfigurable Hardware using CLaSH
Compiling Recursion to Reconfigurable Hardware using CLaSH Ruud Harmsen University of Twente P.O. Box 217, 7500AE Enschede The Netherlands [email protected] ABSTRACT Recursion is an important
Theses of Doctoral (PhD) dissertation
Theses of Doctoral (PhD) dissertation E-LEARNING METHOD IN AGRICULTURAL SCIENCE Tamás Dövényi-Nagy Advisors: Prof. Dr. János Nagy Doctor of the Hungarian Academy of Sciences Dr. László Huzsvai associate
Theory of Compilation
Theory of Compilation JLex, CUP tools CS Department, Haifa University Nov, 2010 By Bilal Saleh 1 Outlines JLex & CUP tutorials and Links JLex & CUP interoperability Structure of JLex specification JLex
Other Map-Reduce (ish) Frameworks. William Cohen
Other Map-Reduce (ish) Frameworks William Cohen 1 Outline More concise languages for map- reduce pipelines Abstractions built on top of map- reduce General comments Speci
Java technológiák 7. előadás A Struts keretrendszer
Java technológiák 7. előadás A Struts keretrendszer Sapientia - EMTE 2010 Struts keretrendszer Bevezető Struts és az MVC tervezési minta Struts Action osztály fejlesztése Struts Action konfigurálása Miért
Felhő alapú üzemeltetési feladatok optimalizálása
Felhő alapú üzemeltetési feladatok optimalizálása itsmf Magyarország 11. szeminárium 2015. Október 30. Kozári Ákos ([email protected]) Bemutatkozás Kozári Ákos Senior PFE ITSM Consultancy [email protected]
Tutorial on C Language Programming
Tutorial on C Language Programming Teodor Rus [email protected] The University of Iowa, Department of Computer Science Introduction to System Software p.1/64 Tutorial on C programming C program structure:
Lexical analysis FORMAL LANGUAGES AND COMPILERS. Floriano Scioscia. Formal Languages and Compilers A.Y. 2015/2016
Master s Degree Course in Computer Engineering Formal Languages FORMAL LANGUAGES AND COMPILERS Lexical analysis Floriano Scioscia 1 Introductive terminological distinction Lexical string or lexeme = meaningful
Compiler I: Syntax Analysis Human Thought
Course map Compiler I: Syntax Analysis Human Thought Abstract design Chapters 9, 12 H.L. Language & Operating Sys. Compiler Chapters 10-11 Virtual Machine Software hierarchy Translator Chapters 7-8 Assembly
Dart a modern web language
Dart a modern web language or why web programmers need more structure Kasper Lund & Lars Bak Software engineers, Google Inc. Object-oriented language experience: 26 + 12 years The Web Is Fantastic The
Ź Ź ł ź Ź ś ź ł ź Ś ę ż ż ł ż ż Ż Ś ę Ż Ż ę ś ź ł Ź ł ł ż ż ź ż ż Ś ę ż ż Ź Ł Ż Ż Ą ż ż ę ź Ń Ź ś ł ź ż ł ś ź ź Ą ć ś ś Ź Ś ę ę ć ż Ź Ą Ń Ą ł ć ć ł ł ź ę Ś ę ś ę ł ś ć ź ś ł ś ł ł ł ł ć ć Ś ł ź Ś ł
Google Apps Engine. G-Jacking AppEngine-based applications. Presented 30/05/2014. For HITB 2014 By Nicolas Collignon and Samir Megueddem
Google Apps Engine G-Jacking AppEngine-based applications Presented 30/05/2014 For HITB 2014 By Nicolas Collignon and Samir Megueddem Introduction to GAE G-Jacking The code The infrastructure The sandbox
DiskPulse DISK CHANGE MONITOR
DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com [email protected] 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product
Java SE 8 Programming
Oracle University Contact Us: 1.800.529.0165 Java SE 8 Programming Duration: 5 Days What you will learn This Java SE 8 Programming training covers the core language features and Application Programming
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
Programming Languages CIS 443
Course Objectives Programming Languages CIS 443 0.1 Lexical analysis Syntax Semantics Functional programming Variable lifetime and scoping Parameter passing Object-oriented programming Continuations Exception
Business Enterprise Server Help Desk Integration Guide. Version 3.5
Business Enterprise Server Help Desk Integration Guide Version 3.5 June 30, 2010 Copyright Copyright 2003 2010 Interlink Software Services, Ltd., as an unpublished work. All rights reserved. Interlink
This document presents the new features available in ngklast release 4.4 and KServer 4.2.
This document presents the new features available in ngklast release 4.4 and KServer 4.2. 1) KLAST search engine optimization ngklast comes with an updated release of the KLAST sequence comparison tool.
THE NECESSITY OF ECONOMIC ANALYSIS A GAZDASÁGI ELEMZÉS SZÜKSÉGESSÉGE. ANDREA PAP captain
VÉDELEM GAZDASÁGTAN ANDREA PAP captain THE NECESSITY OF ECONOMIC ANALYSIS A GAZDASÁGI ELEMZÉS SZÜKSÉGESSÉGE Ezen témában már megjelent publikációimat mintegy keretbe foglalva a cikk összegzi a gazdasági
SQL is capable in manipulating relational data SQL is not good for many other tasks
Embedded SQL SQL Is Not for All SQL is capable in manipulating relational data SQL is not good for many other tasks Control structures: loops, conditional branches, Advanced data structures: trees, arrays,
Supporting Data Set Joins in BIRT
Supporting Data Set Joins in BIRT Design Specification Draft 1: Feb 13, 2006 Abstract This is the design specification of the BIRT Data Set Join feature. Document Revisions Version Date Description of
PUBLICATIONS. 3, G. Bognár, Geometric aspects of some nonlinear differential equations, Nonlinear Analysis, 63 (2005), 399-405.
PUBLICATIONS A. Article in periodical 1, G. Bognár-J. Cepicka-P. Drábek-P. Necesal-E. Rozgonyi: Necessary and sufficient conditions for the existence of solution to the three-point BVP, Nonlinear Analysis,
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Fall 2005 Handout 7 Scanner Parser Project Wednesday, September 7 DUE: Wednesday, September 21 This
SAP BusinessObjects Business Intelligence platform Document Version: 4.1 Support Package 5-2014-11-06. Information Design Tool User Guide
SAP BusinessObjects Business Intelligence platform Document Version: 4.1 Support Package 5-2014-11-06 Table of Contents 1 What's new in the....14 2 Getting started with the information design tool....18
4. G. Jeney, Multi-user detektálás hibatűrésének vizsgálata, (in Hungarian), Magyar Távközlés, Vol. X, Issue 1, Jan. 1999, pp.
University notes 1. S. Imre, F. Balázs, G. Jeney, Korszerű mobil vevőalgoritmusok, (in Hungarian) (for the lectures Up-to-date Mobile Detection Algorithms ) http://www.mcl.hu/wcdma/pubs/jegyzet.pdf, 87
MongoDB Aggregation and Data Processing
MongoDB Aggregation and Data Processing Release 3.0.8 MongoDB, Inc. December 30, 2015 2 MongoDB, Inc. 2008-2015 This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0
MongoDB Aggregation and Data Processing Release 3.0.4
MongoDB Aggregation and Data Processing Release 3.0.4 MongoDB Documentation Project July 08, 2015 Contents 1 Aggregation Introduction 3 1.1 Aggregation Modalities..........................................
Sources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
THE SYSTEMS OF INFORMATION AND COMMUNICATION TECHNOLOGY APPLYED BY THE GOVERNMENT
VI. Évfolyam 2. szám - 2011. június Inkovics Ferenc [email protected] THE SYSTEMS OF INFORMATION AND COMMUNICATION TECHNOLOGY APPLYED BY THE GOVERNMENT Absztrakt Magyarország a többi EU-s tagállammal
COS 333: Advanced Programming Techniques
COS 333: Advanced Programming Techniques How to find me bwk@cs, www.cs.princeton.edu/~bwk 311 CS Building 609-258-2089 (but email is always better) TA's: Stephen Beard, Chris Monsanto, Srinivas Narayana,
SDMX technical standards Data validation and other major enhancements
SDMX technical standards Data validation and other major enhancements Vincenzo Del Vecchio - Bank of Italy 1 Statistical Data and Metadata exchange Original scope: the exchange Statistical Institutions
ETRI-TAM Subproject Development Plan. SangSik Yoon Taesang Choi
ETRI-TAM Subproject Development Plan SangSik Yoon Taesang Choi ETRI-TAM Planning Overview Preparing and Setup Subproject (~June 30) Development Phase 1 (~Aug. 31) Adaptive(Effective) Flow Sampling Development
Programming Language Pragmatics
Programming Language Pragmatics THIRD EDITION Michael L. Scott Department of Computer Science University of Rochester ^ШШШШШ AMSTERDAM BOSTON HEIDELBERG LONDON, '-*i» ЩЛ< ^ ' m H NEW YORK «OXFORD «PARIS»SAN
WSDL-DSL + WSToolKit
WSDL-DSL + WSToolKit full automatization of Web Services testing Laura M. Castro University of A Coruña Jun 10, 2015 EUC (tutorial) 1 of 23 What is a web service? Nowadays, anything and everything claims
Advanced Functional Programming (9) Domain Specific Embedded Languages
Advanced Functional Programming (9) Domain Specific Embedded Languages Advanced Functional Programming (9) Domain Specific Embedded Languages, Universiteit Utrecht http://www.cs.uu.nl/groups/st/ February
NoSQL web apps. w/ MongoDB, Node.js, AngularJS. Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013
NoSQL web apps w/ MongoDB, Node.js, AngularJS Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013 About us Passionate (web) dev. since fallen in love with Sinclair ZX Spectrum Academic background in natural
URI and UUID. Identifying things on the Web.
URI and UUID Identifying things on the Web. Overview > Uniform Resource Identifiers (URIs) > URIStreamOpener > Universally Unique Identifiers (UUIDs) Uniform Resource Identifiers > Uniform Resource Identifiers
Chapter 1: Introduction. Database Management System (DBMS) University Database Example
This image cannot currently be displayed. Chapter 1: Introduction Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Database Management System (DBMS) DBMS contains information
Scanner. tokens scanner parser IR. source code. errors
Scanner source code tokens scanner parser IR errors maps characters into tokens the basic unit of syntax x = x + y; becomes = + ; character string value for a token is a lexeme
Tutorial: Big Data Algorithms and Applications Under Hadoop KUNPENG ZHANG SIDDHARTHA BHATTACHARYYA
Tutorial: Big Data Algorithms and Applications Under Hadoop KUNPENG ZHANG SIDDHARTHA BHATTACHARYYA http://kzhang6.people.uic.edu/tutorial/amcis2014.html August 7, 2014 Schedule I. Introduction to big data
IENG2004 Industrial Database and Systems Design. Microsoft Access I. What is Microsoft Access? Architecture of Microsoft Access
IENG2004 Industrial Database and Systems Design Microsoft Access I Defining databases (Chapters 1 and 2) Alison Balter Mastering Microsoft Access 2000 Development SAMS, 1999 What is Microsoft Access? Microsoft
Efficient Big Data Analytics using SQL and Map-Reduce
Efficient Big Data Analytics using SQL and Map-Reduce Pekka Kostamaa, VP of Engineering and Big Data Lab ACM Fifteenth International Workshop On Data Warehousing and OLAP DOLAP 2012 Conference, Maui, Hawaii
Programming Languages in Artificial Intelligence
Programming Languages in Artificial Intelligence Günter Neumann, German Research Center for Artificial Intelligence (LT Lab, DFKI) I. AI programming languages II. Functional programming III. Functional
Logitoring : log driven monitroing. the Rocket science. and. Eugene Istomin. IT Architect. [email protected]. Cone Center,Tallinn
Logitoring : log driven monitroing and the Rocket science Eugene Istomin IT Architect [email protected] Cone Center,Tallinn Topic goal: talking about a common way of delivering, storing and analyzing monitoring/log/trace
Operating System Monitor Application (OS MON)
Operating System Monitor Application (OS MON) version 1.3 Joe Armstrong 1997-05-02 Typeset in L A TEX from SGML source using the DOCBUILDER 3.0 Document System. Contents 1 OS MON Reference Manual 1 1.1
Lecture 22 The Shell and Shell Scripting
Lecture 22 The Shell and Shell Scripting In this lecture The UNIX shell Simple Shell Scripts Shell variables File System s, IO s, IO redirection Command Line Arguments Evaluating Expr in Shell Predicates,
Hadoop: The Definitive Guide
FOURTH EDITION Hadoop: The Definitive Guide Tom White Beijing Cambridge Famham Koln Sebastopol Tokyo O'REILLY Table of Contents Foreword Preface xvii xix Part I. Hadoop Fundamentals 1. Meet Hadoop 3 Data!
Prolog A Tutorial Introduction James Lu Jerud J. Mead
Prolog A Tutorial Introduction James Lu Jerud J. Mead Computer Science Department Bucknell University Lewisburg, PA 17387 1 Contents 1 Introduction 1 2 Easing into Prolog 2 2.1 Logic Programming.........................................
Chapter 1: Introduction
Chapter 1: Introduction Database System Concepts, 5th Ed. See www.db book.com for conditions on re use Chapter 1: Introduction Purpose of Database Systems View of Data Database Languages Relational Databases
Simple Network Management Protocol (SNMP) version 3.4
Simple Network Management Protocol (SNMP) version 3.4 Typeset in L A TEX from SGML source using the DOCBUILDER 3.3.2 Document System. Contents 1 SNMP User's Guide 1 1.1 SNMP Introduction......................................
