Bring Your Own Device, Securely

Size: px
Start display at page:

Download "Bring Your Own Device, Securely"

Transcription

1 A. Armando, G. Costa, A. Merlo, L. Verderame 28th Symposium On Applied Computing (SAC 2013) Security Track March 19, 2013

2 Agenda BYOD paradigm, Android and Users; Formal reasoning about Android; Type and Effect System for Mobile Apps; Writing and verifying BYOD policies; BYODroid prototype.

3 The BYOD paradigm on mobile The Bring Your Own Device paradigm pushes the use of personal devices inside organizations. BYOD solutions must both 1. allow users to freely personalize devices outside the organization; 2. grant the security of corporate data accessed by personal devices inside the organization. Mobile OSes do not have the sufficient level of protection for supporting the BYOD paradigm.

4 Android, Security and Users Device owner Manifest of AX - Internet - Access SD card Manifest of AY - Access SD card App market Manifests and Apps Personal Device A1, A2,, AN Android applications come up with a manifest file, containing required permissions. Users must accept at install time all the required permissions. Do users understand both the meaning and the impact of such permissions on their security/privacy?

5 Android and BYOD App market Corporation Manifest of AX Manifests and Apps - Internet - Access SD card BYOD Policy: «devices cannot access the network after accessing local file system in the same session» Device owner Manifest of AY - Access SD card Personal Device A1, A2,, AN

6 BYOD through secure meta-markets App market Manifests and Apps Corporation Require AY BYOD Policy Approve/reject installation Personal Device Secure Meta-market A1, A2,, AN

7 Programming Framework Extension of Featherweight Java (FJ) with Android app-to-system and app-to-app security sensitive interactions L ::= class C extends C { D f; K M} Class K ::= C( D x){super( x) ; this. f := x ; } Constructor M ::= C m(d x){return E; } Method E ::= null u x new C(Ē) E.f Expressions E.m(E ) system σ E E;E (C)E if (E = E ){E tt } else {E ff } thread {E} in {E } I α (E) icast E ecast C E E.data

8 A simple example class Browser extends Receiver { Browser() { super(); } void receive(i www i) { return system connect i.data; } } class Game { Game() { super(); } void start() { return system read /sav; if(usract = TouchAD) then {icast I www ( http : //ad.com ); } else {/...play... /system write /sav; } ; } }

9 Operational Semantics (Fragment) Small steps semantics: ω, E ω, E (SYS 2) ω, system σ u ω σ(u), null (METH 3) (EXPC 2) mbody(m, C) = x,e ω, (new C( v)).m(v ) ω, E[v /x, (new C( v))/this] new C( v) receiver(α) ω, ecast C I α(u) ω, (new C( v)).receive(i α(u)) (IMPC 2) new C( v) receiver(α) ω, icast I α(u) ω, new C( v).receive(i α(u)) (DATA 2) ω, I α(v).data ω, v

10 History Expressions Syntax H, H ::= ε h α χ(u) ᾱ C h.h σ(u) H H H+H H H µh.h Semantics σ(u) σ(u) ε α χ(u) αχ(u) ε H αχ(u) H Ḣ = H {α? (u)/h} s.t. ᾱ C h.h ρ(α) and χ C H a H H H a H H H a H H + H a H H Ḣ H a H H H a H H H a H H + H a H H a H H H a H H H{µh.H/h} a H µh.h a H

11 Type and Effect System Types and type environment τ, τ ::= 1 U I α(u) C Γ, Γ ::= Γ{τ/x} Γ E : τ H Typing rules Γ E : U H (T SYS) Γ system σ E : 1 H σ(u) u U Γ E : U H Γ E : τ H (T INT) Γ I α(e, E ) : I α(u, τ) H H Γ E : I α(u) H (T IMPC) Γ icast E : 1 H α? (u) u U Γ E : I α(u) H (T EXPC) Γ ecast C E : 1 H α C (u) u U

12 Type and Effect System: Properties Lemma For each closed (i.e., without free variables) expression E, environment Γ, history expression H, type τ and trace ω, if Γ E : τ H then either E is a value or ω, E ω, E (for some ω, E ). Theorem For each closed expression E, history expression H, type τ and trace ω, if E : τ H and, E ω, E then there exist H and ω such that H ω H, E : τ H and ω = ω.

13 Security Policies Policies language = Hennessy-Milner Logic (HML with negation and parametric actions) ϕ, ϕ ::= tt ϕ ϕ ϕ σ(ẋ).ϕ Validation of history expressions against policies (H = ϕ) H = tt (true) H = ϕ H = ϕ (negation) H = ϕ ϕ H = ϕ and H = ϕ H = σ(u).ϕ H σ(u) H and H = ϕ (conjunction) (c-diamond) H = σ(x).ϕ u.h σ(u) H and H = ϕ{u/x} (a-diamond)

14 Policy compliance in our Example Assumptions: H = read( /sav) (www? ( http : //ad.com ) + write( /sav)) ϕ = read(x). connect(y).ff. ρ(www) = {www Browserh.connect( http : //ad.com )} Does H =ϕ? Proof: read( /sav) (www? ( http : //ad.com ) + write( /sav)) = read(x). connect(y).ff (a-diamond) www? ( http : //ad.com ) + write( /sav) = connect(y).ff = (HE choice) www? ( http : //ad.com ) = connect(y).ff connect( http : //ad.com ) = connect(y).ff = (HE intent) (a-diamond) ε = ff H = ϕ

15 Partial Model Checking Problem: check a new application against the current device configuration and the policy. PMC allows to partially evaluate a formula against a model, using reduction rules for transferring information from the model to the formula to satisfy. PMC has been originally defined for µ-calculus, we adapted it to HML by redefining the operator // for the partial evaluation against parallel composition: tt //H = tt ( ϕ) //H = ϕ //H (ϕ ϕ ) //H = ϕ //H ϕ //H ( σ(u).ϕ) //H = σ(u).ϕ //H ϕ //H H H σ(u) ( σ(x).ϕ) //H = σ(x).ϕ //H ϕ{u/x} //H H H σ(u) Theorem H = ϕ //H = H H = ϕ

16 BYODroid

17 Security Policy Manager Device Registration phase j A 1 j //A1 d A 1 : UI; A 2 : Game; A 3 Install A 3 A 3 : Browser; Attemp to install A 2 A 2 j //A1//A3 d

18 Conclusion Open Issues and Future Developments: Expressiveness of policies other policy languages (e.g. ConSpec); inconclusive analysis and run-time policies instrumenting and monitoring of applications; uninstalling applications is cumbersome design solutions for inhibit execution of non-compliant applications; BYODroid works on a single BYOD policy enhancements for supporting many policies and policy switching. We plan to release BYODroid in mid-2013.

19 THANK YOU!!! QUESTIONS?!?

Securing the Bring Your Own Device Policy

Securing the Bring Your Own Device Policy Securing the Bring Your Own Device Policy Alessandro Armando Fondazione Bruno Kessler Trento, Italy armando@fbk.eu Gabriele Costa Università degli Studi di Genova Genova, Italy gabriele.costa@unige.it

More information

Formal Modeling and Reasoning about the Android Security Framework

Formal Modeling and Reasoning about the Android Security Framework Formal Modeling and Reasoning about the Android Security Framework Alessandro Armando: Fondazione Bruno Kessler Gabriele Costa: Università di Genova Alessio Merlo: Università E-Campus TGC 2012 Outline

More information

Programming Languages Featherweight Java David Walker

Programming Languages Featherweight Java David Walker Programming Languages Featherweight Java David Walker Overview Featherweight Java (FJ), a minimal Javalike language. Models inheritance and subtyping. Immutable objects: no mutation of fields. Trivialized

More information

FLEX: A Flexible Code Authentication Framework for Delegating Mobile App Customization

FLEX: A Flexible Code Authentication Framework for Delegating Mobile App Customization FLEX: A Flexible Code Authentication Framework for Delegating Mobile App Customization Gabriele Costa, Paolo Gasti, Alessio Merlo, and Shung-Hsi Yu DIBRIS University of Genoa (Italy) New York Institute

More information

Enabling BYOD through Secure Meta-Market

Enabling BYOD through Secure Meta-Market Enabling BYOD through Secure Meta-Market Alessandro Armando Security and Trust Fondazione Bruno Kessler Via Sommarive, 18 Trento, Italy armando@fbk.eu Gabriele Costa DIBRIS - University of Genoa Via all

More information

Building Web Services with Apache Axis2

Building Web Services with Apache Axis2 2009 Marty Hall Building Web Services with Apache Axis2 Part I: Java-First (Bottom-Up) Services Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF/MyFaces/Facelets,

More information

Managing Enterprise Devices and Apps using System Center Configuration Manager 20696B; 5 Days, Instructor-led

Managing Enterprise Devices and Apps using System Center Configuration Manager 20696B; 5 Days, Instructor-led Managing Enterprise Devices and Apps using System Center Configuration Manager 20696B; 5 Days, Instructor-led Course Description Get expert instruction and hands-on practice configuring and managing clients

More information

AP COMPUTER SCIENCE A 2007 SCORING GUIDELINES

AP COMPUTER SCIENCE A 2007 SCORING GUIDELINES AP COMPUTER SCIENCE A 2007 SCORING GUIDELINES Question 4: Game Design (Design) Part A: RandomPlayer 4 points +1/2 class RandomPlayer extends Player +1 constructor +1/2 public RandomPlayer(String aname)

More information

I Have...Who Has... Multiplication Game

I Have...Who Has... Multiplication Game How to play the game: Distribute the cards randomly to your students. Some students may get more than one card. Select a student to begin by reading their card aloud. (example: 35. who has 4x4?) 35 4 x

More information

Certifying the Security of Android Applications with Cassandra

Certifying the Security of Android Applications with Cassandra 1 15 th International School on Foundations of Software Security and Design August 31 st, 2015, Bertinoro Certifying the Security of Android Applications with Cassandra Steffen Lortz, Heiko Mantel, David

More information

Online Steering of HEP Applications

Online Steering of HEP Applications Online Steering of HEP Applications Daniel Lorenz University of Siegen Darmstadt, 27. 4. 2006 HEPCG Workshop Daniel Max Mustermann Lorenz Online steering Folientitel of HEP applications HEPCG Veranstaltung

More information

Map Reduce Workflows

Map Reduce Workflows 2012 coreservlets.com and Dima May Map Reduce Workflows Originals of slides and source code for examples: http://www.coreservlets.com/hadoop-tutorial/ Also see the customized Hadoop training courses (onsite

More information

20696B: Administering System Center Configuration Manager and Intune

20696B: Administering System Center Configuration Manager and Intune 20696B: Administering System Center Configuration Manager and Intune Course Details Course Code: Duration: Notes: 20696B 5 days This course syllabus should be used to determine whether the course is appropriate

More information

Fixed-Point Logics and Computation

Fixed-Point Logics and Computation 1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of

More information

HybriDroid: Analysis Framework for Android Hybrid Applications

HybriDroid: Analysis Framework for Android Hybrid Applications HybriDroid: Analysis Framework for Android Hybrid Applications Sungho Lee, Julian Dolby, Sukyoung Ryu Programming Language Research Group KAIST June 13, 2015 Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid:

More information

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

More information

New Features in XE8. Marco Cantù RAD Studio Product Manager

New Features in XE8. Marco Cantù RAD Studio Product Manager New Features in XE8 Marco Cantù RAD Studio Product Manager Marco Cantù RAD Studio Product Manager Email: marco.cantu@embarcadero.com @marcocantu Book author and Delphi guru blog.marcocantu.com 2 Agenda

More information

Chapter 6: Programming Languages

Chapter 6: Programming Languages Chapter 6: Programming Languages Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 6: Programming Languages 6.1 Historical Perspective

More information

Login with Amazon Getting Started Guide for Android. Version 2.0

Login with Amazon Getting Started Guide for Android. Version 2.0 Getting Started Guide for Android Version 2.0 Login with Amazon: Getting Started Guide for Android Copyright 2016 Amazon.com, Inc., or its affiliates. All rights reserved. Amazon and the Amazon logo are

More information

Open Mobile API Test Specification for Transport API

Open Mobile API Test Specification for Transport API Open Mobile Test Specification for Transport V1 Copyright 2014 SIMalliance ltd. The information contained in this document may be used, disclosed and reproduced without the prior written authorization

More information

Java in sicherheits-kritischen Systemen: Das HIJA-Profil

Java in sicherheits-kritischen Systemen: Das HIJA-Profil Java in sicherheits-kritischen Systemen: Das HIJA-Profil... Korrektheitsnachweis für (echtzeit-) Java Anwendungen Dr. Fridtjof Siebert Director of Development, aicas GmbH Java Forum, Stuttgart, 7. Juli

More information

Course MS20696A Managing Enterprise Devices and Apps using System Center Configuration Manager

Course MS20696A Managing Enterprise Devices and Apps using System Center Configuration Manager 3 Riverchase Office Plaza Hoover, Alabama 35244 Phone: 205.989.4944 Fax: 855.317.2187 E-Mail: rwhitney@discoveritt.com Web: www.discoveritt.com Course MS20696A Managing Enterprise Devices and Apps using

More information

Monitors, Java, Threads and Processes

Monitors, Java, Threads and Processes Monitors, Java, Threads and Processes 185 An object-oriented view of shared memory A semaphore can be seen as a shared object accessible through two methods: wait and signal. The idea behind the concept

More information

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1 The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose

More information

Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1

Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 Programmers rejoice: QML makes business people understand Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 About me My company What I do at work Where I live What is it all about? Agenda

More information

Unified Static and Runtime Verification of Object-Oriented Software

Unified Static and Runtime Verification of Object-Oriented Software Unified Static and Runtime Verification of Object-Oriented Software Wolfgang Ahrendt 1, Mauricio Chimento 1, Gerardo Schneider 2, Gordon J. Pace 3 1 Chalmers University of Technology, Gothenburg, Sweden

More information

Run-Time Assertion Checking and Monitoring Java Programs

Run-Time Assertion Checking and Monitoring Java Programs Run-Time Assertion Checking and Monitoring Java Programs Envisage Bertinoro Summer School June 2014 June 19, 2014 Your Lecturers Today Frank en Stijn What This Talk Is All About Formal Methods in Practice:

More information

Tutorial for Creating Resources in Java - Client

Tutorial for Creating Resources in Java - Client Tutorial for Creating Resources in Java - Client Overview Overview 1. Preparation 2. Creation of Eclipse Plug-ins 2.1 The flight plugin 2.2 The plugin fragment for unit tests 3. Create an integration test

More information

ITG Software Engineering

ITG Software Engineering Basic Android Development Course ID: Page 1 Last Updated 12/15/2014 Basic Android Development ITG Software Engineering Course Overview: This 5 day course gives students the fundamental basics of Android

More information

Rigorous Software Development CSCI-GA 3033-009

Rigorous Software Development CSCI-GA 3033-009 Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical

More information

Software Engineering Techniques

Software Engineering Techniques Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary

More information

Introduction to Cloud Computing. Lecture 02 History of Enterprise Computing Kaya Oğuz

Introduction to Cloud Computing. Lecture 02 History of Enterprise Computing Kaya Oğuz Introduction to Cloud Computing Lecture 02 History of Enterprise Computing Kaya Oğuz General Course Information The textbook: Enterprise Cloud Computing by Gautam Shroff (available at bookstore). Course

More information

SAP Credit Management. Presented by: Vikram Gollakota

SAP Credit Management. Presented by: Vikram Gollakota SAP Credit Management Presented by: Vikram Gollakota Agenda SAP Credit Management Business Partner Credit Scoring Credit Integration Workflow Credit Checking SAP Credit Management FSCM Credit Management

More information

Dynamic Adaptability of Services in Enterprise JavaBeans Architecture

Dynamic Adaptability of Services in Enterprise JavaBeans Architecture 1. Introduction Dynamic Adaptability of Services in Enterprise JavaBeans Architecture Zahi Jarir *, Pierre-Charles David **, Thomas Ledoux ** zahijarir@ucam.ac.ma, {pcdavid, ledoux}@emn.fr (*) Faculté

More information

Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications

Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications Sayantan Das Prasenjit Basu Ansuman Banerjee Pallab Dasgupta P.P. Chakrabarti Department of Computer Science & Engineering

More information

Enterprise Mobility Best Practices 2017 Analysts Predictions

Enterprise Mobility Best Practices 2017 Analysts Predictions Enterprise Mobility Best Practices 2017 Analysts Predictions Sponsored by Fiberlink John Jackson February, 2014 Agenda 1. Enterprise Mobility, the Third Platform, and a 2-3 Year Outlook 2. Mobile Enterprise

More information

Defending Behind The Device Mobile Application Risks

Defending Behind The Device Mobile Application Risks Defending Behind The Device Mobile Application Risks Tyler Shields Product Manager and Strategist Veracode, Inc Session ID: MBS-301 Session Classification: Advanced Agenda The What The Problem Mobile Ecosystem

More information

Web Presentation Layer Architecture

Web Presentation Layer Architecture Chapter 4 Web Presentation Layer Architecture In this chapter we provide a discussion of important current approaches to web interface programming based on the Model 2 architecture [59]. From the results

More information

Chapter 12 Programming Concepts and Languages

Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution

More information

Here to take you beyond Mobile Application development using Android Course details

Here to take you beyond Mobile Application development using Android Course details Here to take you beyond Mobile Application development using Android Course details Mobile Application Development using Android Objectives: To get you started with writing mobile application using Android

More information

Android Developer Fundamental 1

Android Developer Fundamental 1 Android Developer Fundamental 1 I. Why Learn Android? Technology for life. Deep interaction with our daily life. Mobile, Simple & Practical. Biggest user base (see statistics) Open Source, Control & Flexibility

More information

Automatic vs. Manual Code Analysis

Automatic vs. Manual Code Analysis Automatic vs. Manual Code Analysis 2009-11-17 Ari Kesäniemi Senior Security Architect Nixu Oy ari.kesaniemi@nixu.com Copyright The Foundation Permission is granted to copy, distribute and/or modify this

More information

Data Model Bugs. Ivan Bocić and Tevfik Bultan

Data Model Bugs. Ivan Bocić and Tevfik Bultan Data Model Bugs Ivan Bocić and Tevfik Bultan Department of Computer Science University of California, Santa Barbara, USA bo@cs.ucsb.edu bultan@cs.ucsb.edu Abstract. In today s internet-centric world, web

More information

Simple Loose Ownership Domains

Simple Loose Ownership Domains Simple Loose Ownership Domains Jan Schäfer? and Arnd Poetzsch-Heter?? Technical Report No. 348/06 March 31, 2006 Software Technology Group Department of Computer Science University of Kaiserslautern P.O.

More information

MiniDraw Introducing a framework... and a few patterns

MiniDraw Introducing a framework... and a few patterns MiniDraw Introducing a framework... and a few patterns What is it? [Demo] 2 1 What do I get? MiniDraw helps you building apps that have 2D image based graphics GIF files Optimized repainting Direct manipulation

More information

Static Program Transformations for Efficient Software Model Checking

Static Program Transformations for Efficient Software Model Checking Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major

More information

Course Outline. Managing Enterprise Devices and Apps using System Center Configuration ManagerCourse 20696B: 5 days Instructor Led

Course Outline. Managing Enterprise Devices and Apps using System Center Configuration ManagerCourse 20696B: 5 days Instructor Led Managing Enterprise Devices and Apps using System Center Configuration ManagerCourse 20696B: 5 days Instructor Led About this Course Get expert instruction and hands-on practice configuring and managing

More information

A Comparison of Open Source Application Development Frameworks for the Enterprise

A Comparison of Open Source Application Development Frameworks for the Enterprise A Comparison of Open Source Application Development Frameworks for the Enterprise Webinar on March 12, 2008 Presented by Kim Weins, Sr. VP of Marketing at OpenLogic and Kelby Zorgdrager, President of DevelopIntelligence

More information

Development of Java ME

Development of Java ME Y39PDA Development of Java ME application České vysoké učení technické v Praze Fakulta Elektrotechnická Content What is Java ME Low Level a High Level API What is JSR LBS Java ME app. life-cycle 2/29 Is

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Copyright 2012, Oracle and/or its affiliates. All rights reserved. 1 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any

More information

TATJA: A Test Automation Tool for Java Applets

TATJA: A Test Automation Tool for Java Applets TATJA: A Test Automation Tool for Java Applets Matthew Xuereb 19, Sanctuary Street, San Ġwann mxue0001@um.edu.mt Abstract Although there are some very good tools to test Web Applications, such tools neglect

More information

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T: 072 511 12 23

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T: 072 511 12 23 Microsoft SharePoint year SharePoint 2013: Search, Design and 2031 Publishing New SharePoint 2013: Solutions, Applications 2013 and Security New SharePoint 2013: Features, Delivery and 2010 Development

More information

The 2014 Edition of BSF4ooRexx (for Windows, Linux, MacOSX) http://sourceforge.net/projects/bsf4oorexx/files/

The 2014 Edition of BSF4ooRexx (for Windows, Linux, MacOSX) http://sourceforge.net/projects/bsf4oorexx/files/ Institut für Betriebswirtschaftslehre und Wirtschaftsinformatik The 2014 Edition of BSF4ooRexx (for Windows, Linux, MacOSX) http://sourceforge.net/projects/bsf4oorexx/files/ The 2014 International Rexx

More information

Develop native android apps And port to other platforms

Develop native android apps And port to other platforms Develop native android apps And port to other platforms Robin Puthli, 24 October 2013 Droidcon UK 1 Me Mobile developer 2001 - present Run a 11 strong development shop Netherlands based 2 Itude Mobile

More information

JSR proposal: Enhanced Hybrid APIs

JSR proposal: Enhanced Hybrid APIs JSR proposal: Enhanced Hybrid APIs Introduc;on HTML5 is not the future of apps. While developers dream of 'write once run everywhere' the fragmented support for and limited APIs within HTML5 make this

More information

Why EMM Is the Future of Mac Management

Why EMM Is the Future of Mac Management Why EMM Is the Future of Mac Management In the keynote session at WWDC 2014, Apple s Senior Vice President of Software Engineering Craig Federighi called ios a huge hit in the enterprise, noting the breadth

More information

CS 395 - Mobile Development for Social Change

CS 395 - Mobile Development for Social Change CS 395 - Mobile Development for Social Change Sorelle Friedler sorelle@cs.haverford.edu Spring 2015 Mobile Development for Social Change will focus on standard software engineering principles, object oriented

More information

General Introduction

General Introduction Managed Runtime Technology: General Introduction Xiao-Feng Li (xiaofeng.li@gmail.com) 2012-10-10 Agenda Virtual machines Managed runtime systems EE and MM (JIT and GC) Summary 10/10/2012 Managed Runtime

More information

4D and SQL Server: Powerful Flexibility

4D and SQL Server: Powerful Flexibility 4D and SQL Server: Powerful Flexibility OVERVIEW MS SQL Server has become a standard in many parts of corporate America. It can manage large volumes of data and integrates well with other products from

More information

All Your Mobile Applications Are Belong To Us

All Your Mobile Applications Are Belong To Us Security Art September 2011 All Your Mobile Applications Are Belong To Us Itzik Kotler, Chief Technology Officer www.security-art.com Hello Motto, Hello Hacker Mobile phones are no longer only for making

More information

An introduction to creating JSF applications in Rational Application Developer Version 8.0

An introduction to creating JSF applications in Rational Application Developer Version 8.0 An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create

More information

Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection

Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection Martin Leucker Technische Universität München (joint work with Andreas Bauer, Christian Schallhart et. al) FLACOS

More information

IMCM: A Flexible Fine-Grained Adaptive Framework for Parallel Mobile Hybrid Cloud Applications

IMCM: A Flexible Fine-Grained Adaptive Framework for Parallel Mobile Hybrid Cloud Applications Open System Laboratory of University of Illinois at Urbana Champaign presents: Outline: IMCM: A Flexible Fine-Grained Adaptive Framework for Parallel Mobile Hybrid Cloud Applications A Fine-Grained Adaptive

More information

«compl*tc IDIOT'S GUIDE. Android App. Development. by Christopher Froehlich ALPHA. A member of Penguin Group (USA) Inc.

«compl*tc IDIOT'S GUIDE. Android App. Development. by Christopher Froehlich ALPHA. A member of Penguin Group (USA) Inc. «compl*tc IDIOT'S GUIDE Android App Development by Christopher Froehlich A ALPHA A member of Penguin Group (USA) Inc. Contents Part 1: Getting Started 1 1 An Open Invitation 3 Starting from Scratch 3 Software

More information

BYOD STRATEGIES: THE COST BYOD. The. Can BYOD. decrease. mobility costs?

BYOD STRATEGIES: THE COST BYOD. The. Can BYOD. decrease. mobility costs? BYOD STRATEGIES: THE COST I M P L I C AT I O N S O F BYOD The Can BYOD decrease mobility costs? Introducing BYOD BYOD offers the potential for employers to increase both productivity and employee satisfaction

More information

Multi-Platform Mobile Application Development Analysis. Lisandro Delía Nicolás Galdámez Pablo Thomas Leonardo Corbalán Patricia Pesado

Multi-Platform Mobile Application Development Analysis. Lisandro Delía Nicolás Galdámez Pablo Thomas Leonardo Corbalán Patricia Pesado Multi-Platform Mobile Application Development Analysis Lisandro Delía Nicolás Galdámez Pablo Thomas Leonardo Corbalán Patricia Pesado Agenda 1. 2. 3. 4. 5. Introduction Multi-Platform Mobile Applications

More information

A Study on Behavior Patternize in BYOD Environment Using Bayesian Theory

A Study on Behavior Patternize in BYOD Environment Using Bayesian Theory A Study on Behavior Patternize in BYOD Environment Using Bayesian Theory Dongwan Kang, Myoungsun Noh, Chaetae Im Abstract Since early days, businesses had started introducing environments for mobile device

More information

Functional Programming. Functional Programming Languages. Chapter 14. Introduction

Functional Programming. Functional Programming Languages. Chapter 14. Introduction Functional Programming Languages Chapter 14 Introduction Functional programming paradigm History Features and concepts Examples: Lisp ML 1 2 Functional Programming Functional Programming Languages The

More information

NOTES ON LINEAR TRANSFORMATIONS

NOTES ON LINEAR TRANSFORMATIONS NOTES ON LINEAR TRANSFORMATIONS Definition 1. Let V and W be vector spaces. A function T : V W is a linear transformation from V to W if the following two properties hold. i T v + v = T v + T v for all

More information

Introduction to Automated Testing

Introduction to Automated Testing Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases

More information

ArcGIS Web Mapping. Sam Berg, esri sberg@esri.com

ArcGIS Web Mapping. Sam Berg, esri sberg@esri.com ArcGIS Web Mapping Sam Berg, esri sberg@esri.com Agenda ArcGIS and WebMaps The APIs ArcGIS for Flex Viewer ArcGIS for Silverlight Builder ArcGIS for Sharepoint ArcGIS Application Templates ArcGIS Runtime

More information

Modular Communication Infrastructure Design with Quality of Service

Modular Communication Infrastructure Design with Quality of Service Modular Communication Infrastructure Design with Quality of Service Pawel Wojciechowski and Péter Urbán Distributed Systems Laboratory School of Computer and Communication Sciences Swiss Federal Institute

More information

Understanding class paths in Java EE projects with Rational Application Developer Version 8.0

Understanding class paths in Java EE projects with Rational Application Developer Version 8.0 Understanding class paths in Java EE projects with Rational Application Developer Version 8.0 by Neeraj Agrawal, IBM This article describes a variety of class path scenarios for Java EE 1.4 projects and

More information

Popular Android Exploits

Popular Android Exploits 20-CS-6053 Network Security Spring, 2016 An Introduction To Popular Android Exploits and what makes them possible April, 2016 Questions Can a benign service call a dangerous service without the user knowing?

More information

JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers

JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers Dave Jaffe, PhD, Dell Inc. Michael Yuan, PhD, JBoss / RedHat June 14th, 2006 JBoss Inc. 2006 About us Dave Jaffe Works for Dell

More information

Towards Elastic Application Model for Augmenting Computing Capabilities of Mobile Platforms. Mobilware 2010

Towards Elastic Application Model for Augmenting Computing Capabilities of Mobile Platforms. Mobilware 2010 Towards lication Model for Augmenting Computing Capabilities of Mobile Platforms Mobilware 2010 Xinwen Zhang, Simon Gibbs, Anugeetha Kunjithapatham, and Sangoh Jeong Computer Science Lab. Samsung Information

More information

ni.com Remote Connectivity with LabVIEW

ni.com Remote Connectivity with LabVIEW Remote Connectivity with LabVIEW What Is Remote Connectivity? Local Monitoring 3 Remote Mobile Access 4 What Is Remote Connectivity Two machines talking to one another Client Server PC PC Consumes Data

More information

ANDROID APPS DEVELOPMENT FOR MOBILE GAME

ANDROID APPS DEVELOPMENT FOR MOBILE GAME ANDROID APPS DEVELOPMENT FOR MOBILE GAME Lecture 7: Data Storage and Web Services Overview Android provides several options for you to save persistent application data. Storage Option Shared Preferences

More information

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months Our program is a practical knowledge oriented program aimed at making innovative and attractive applications for mobile

More information

Context-Bounded Model Checking of LTL Properties for ANSI-C Software. Jeremy Morse, Lucas Cordeiro, Bernd Fischer, Denis Nicole

Context-Bounded Model Checking of LTL Properties for ANSI-C Software. Jeremy Morse, Lucas Cordeiro, Bernd Fischer, Denis Nicole Context-Bounded Model Checking of LTL Properties for ANSI-C Software Jeremy Morse, Lucas Cordeiro, Bernd Fischer, Denis Nicole Model Checking C Model checking: normally applied to formal state transition

More information

Auditing the Security and Management of Smart Devices. ISACA Dallas Meeting February 13, 2014

Auditing the Security and Management of Smart Devices. ISACA Dallas Meeting February 13, 2014 Securely Manage your devices, applications and data. Deploy your corporate policies on smart devices. Comply with Regulatory Laws. Auditing the Security and Management of Smart Devices ISACA Dallas Meeting

More information

Big Data with the Google Cloud Platform

Big Data with the Google Cloud Platform Big Data with the Google Cloud Platform Nacho Coloma CTO & Founder at Extrema Sistemas Google Developer Expert for the Google Cloud Platform @nachocoloma http://gplus.to/icoloma For the past 15 years,

More information

ADF Code Corner. 92. Caching ADF Web Service results for in-memory filtering. Abstract: twitter.com/adfcodecorner

ADF Code Corner. 92. Caching ADF Web Service results for in-memory filtering. Abstract: twitter.com/adfcodecorner ADF Code Corner 92. Caching ADF Web Service results for in-memory Abstract: Querying data from Web Services can become expensive when accessing large data sets. A use case for which Web Service access

More information

DETERMINATION OF THE PERFORMANCE

DETERMINATION OF THE PERFORMANCE DETERMINATION OF THE PERFORMANCE OF ANDROID ANTI-MALWARE SCANNERS AV-TEST GmbH Klewitzstr. 7 39112 Magdeburg Germany www.av-test.org 1 CONTENT Determination of the Performance of Android Anti-Malware Scanners...

More information

Software Active Online Monitoring Under. Anticipatory Semantics

Software Active Online Monitoring Under. Anticipatory Semantics Software Active Online Monitoring Under Anticipatory Semantics Changzhi Zhao, Wei Dong, Ji Wang, Zhichang Qi National Laboratory for Parallel and Distributed Processing P.R.China 7/21/2009 Overview Software

More information

New Features in BSF4ooRexx (Camouflaging Java as oorexx) http://sourceforge.net/projects/bsf4oorexx/files/

New Features in BSF4ooRexx (Camouflaging Java as oorexx) http://sourceforge.net/projects/bsf4oorexx/files/ Institut für Betriebswirtschaftslehre und Wirtschaftsinformatik New Features in BSF4ooRexx (Camouflaging Java as oorexx) http://sourceforge.net/projects/bsf4oorexx/files/ The 2015 International Rexx Symposium

More information

Building native mobile apps for Digital Factory

Building native mobile apps for Digital Factory DIGITAL FACTORY 7.0 Building native mobile apps for Digital Factory Rooted in Open Source CMS, Jahia s Digital Industrialization paradigm is about streamlining Enterprise digital projects across channels

More information

<Insert Picture Here> Oracle Web Cache 11g Overview

<Insert Picture Here> Oracle Web Cache 11g Overview Oracle Web Cache 11g Overview Oracle Web Cache Oracle Web Cache is a secure reverse proxy cache and a compression engine deployed between Browser and HTTP server Browser and Content

More information

A Case Study of an Android* Client App Using Cloud-Based Alert Service

A Case Study of an Android* Client App Using Cloud-Based Alert Service A Case Study of an Android* Client App Using Cloud-Based Alert Service Abstract This article discusses a case study of an Android client app using a cloud-based web service. The project was built on the

More information

J a v a Quiz (Unit 3, Test 0 Practice)

J a v a Quiz (Unit 3, Test 0 Practice) Computer Science S-111a: Intensive Introduction to Computer Science Using Java Handout #11 Your Name Teaching Fellow J a v a Quiz (Unit 3, Test 0 Practice) Multiple-choice questions are worth 2 points

More information

IBM Watson Ecosystem. Getting Started Guide

IBM Watson Ecosystem. Getting Started Guide IBM Watson Ecosystem Getting Started Guide Version 1.1 July 2014 1 Table of Contents: I. Prefix Overview II. Getting Started A. Prerequisite Learning III. Watson Experience Manager A. Assign User Roles

More information

How Simple Is It To Develop a Mobile App? Uma Sudhan OpenEdge Developer 7 th Oct 2013

How Simple Is It To Develop a Mobile App? Uma Sudhan OpenEdge Developer 7 th Oct 2013 How Simple Is It To Develop a Mobile App? Uma Sudhan OpenEdge Developer 7 th Oct 2013 Agenda What a mobile app is, and why is it so important? Challenges in mobile app development Progress Developer Studio

More information

opalang - Rapid & Secure Web Development

opalang - Rapid & Secure Web Development opalang - Rapid & Secure Web Development Syllabus Brief History of Web Development Ideas and Goals The Language itself Community Reason for Development Services and Apps written in OPA Future of OPA OPA

More information

Page 331, 38.4 Suppose a is a positive integer and p is a prime. Prove that p a if and only if the prime factorization of a contains p.

Page 331, 38.4 Suppose a is a positive integer and p is a prime. Prove that p a if and only if the prime factorization of a contains p. Page 331, 38.2 Assignment #11 Solutions Factor the following positive integers into primes. a. 25 = 5 2. b. 4200 = 2 3 3 5 2 7. c. 10 10 = 2 10 5 10. d. 19 = 19. e. 1 = 1. Page 331, 38.4 Suppose a is a

More information

What Is the Java TM 2 Platform, Enterprise Edition?

What Is the Java TM 2 Platform, Enterprise Edition? Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today

More information

<Insert Picture Here> Michael Hichwa VP Database Development Tools michael.hichwa@oracle.com Stuttgart September 18, 2007 Hamburg September 20, 2007

<Insert Picture Here> Michael Hichwa VP Database Development Tools michael.hichwa@oracle.com Stuttgart September 18, 2007 Hamburg September 20, 2007 Michael Hichwa VP Database Development Tools michael.hichwa@oracle.com Stuttgart September 18, 2007 Hamburg September 20, 2007 Oracle Application Express Introduction Architecture

More information

MYPY: A PYTHON VARIANT WITH SEAMLESS DYNAMIC AND STATIC TYPING. Jukka Lehtosalo University of Cambridge Computer Laboratory

MYPY: A PYTHON VARIANT WITH SEAMLESS DYNAMIC AND STATIC TYPING. Jukka Lehtosalo University of Cambridge Computer Laboratory MYPY: A PYTHON VARIANT WITH SEAMLESS DYNAMIC AND STATIC TYPING Jukka Lehtosalo University of Cambridge Computer Laboratory SPEAKER BIO 2000-2006 Software engineer (QPR Software and Kielikone) 2007-2009

More information

A Generic Process Calculus Approach to Relaxed-Memory Consistency

A Generic Process Calculus Approach to Relaxed-Memory Consistency A Generic Process Calculus Approach to Relaxed-Memory Consistency Palle Raabjerg Tjark Weber Nadine Rohde Lars-Henrik Eriksson Joachim Parrow UPMARC Workshop on Memory Models (MM 15) 23 24 February 2015,

More information

GUI and Web Programming

GUI and Web Programming GUI and Web Programming CSE 403 (based on a lecture by James Fogarty) Event-based programming Sequential Programs Interacting with the user 1. Program takes control 2. Program does something 3. Program

More information