Database-Aware Fault Localization for Dynamic Web Applications

Size: px
Start display at page:

Download "Database-Aware Fault Localization for Dynamic Web Applications"

Transcription

1 Database-Aware Fault Localization for Dynamic Web Applications Hung Viet Nguyen, Hoan Anh Nguyen, Tung Thanh Nguyen, Tien N. Nguyen Iowa State University ICSM 2013 Sep 22-28, 2013 Eindhoven, The Netherlands

2 Motivation PHP Program $result = mysql_query( SELECT Name FROM Users WHERE Age >= $age ); while ($row = mysql_fetch_array($result)) { echo $row[ Name ]. <br / > ; } SQL query Query result DBMS

3 Motivation ID Name Age Gender Country 1 Alice 20 Female USA 2 Bob 20 Male Canada 3 Carol 25 Female Canada 4 Daniel 30 Male USA L1 L2 L3 L4 function displaysearchresults($age, $gender, $country) $con = mysql_connect( localhost, admin, password ); mysql_select_db( my database, $con); Country = $country $sql = SELECT Name FROM Users WHERE Age >= $age AND Gender = $gender OR Country <> $country ; $result = mysql_query($sql); L5 while ($row = mysql_fetch_array($result)) { L6 echo $row[ Name ]. <br / > ; }} Expected

4 Motivation ID Name Age Gender Country 1 Alice 20 Female USA 2 Bob 20 Male Canada 3 Carol 25 Female Canada 4 Daniel 30 Male USA Actual Query Expected Query Actual Query Expected Query Query ($age=25, $gender= Female, $country= USA ) $sql = SELECT Name FROM Users WHERE Age >= $age AND Gender = $gender OR Country <> $country ; $sql = SELECT Name FROM Users WHERE Age >= $age AND Gender = $gender OR Country = $country ; Output Bob Carol Alice Carol Daniel

5 State-of-the-Art Database-Aware Fault Localization (Clark et al., ASE 11) Using key idea in statistical fault localization (Tarantula): If a statement is executed in more failing tests and fewer passing tests more suspicious Test 1 Test n Sus. L L L L L5 $result = mysql_query($sql); 0.83 L Pass/ Fail Status Pass Fail

6 Limitation of Tarantula Most SQL queries are executed in both passing and failing test cases can t localize errors in SQL queries Test 1 Test n Sus. L L L L L5 $result = mysql_query($sql); 0.53 L Pass/ Fail Status Pass Fail

7 State-of-the-Art Database-Aware Fault Localization (Clark et al., ASE 11) Key ideas: Monitor different templates of a query at run time Rank these templates together with regular statements Query templates function displaysearchresults($age, $gender, $country) Test 1 Test n Sus. L5 $result = mysql_query($sql); 0.53 SELECT Name FROM Products WHERE Price < SELECT Location FROM Companies WHERE Size > Pass/ Fail Status Pass Fail

8 L1 Limitation Query has only 1 template used in function displaysearchresults($age, both Test 1 passing and failing Test n tests Sus. $gender, $country) can t localize error in SQL query $con = mysql_connect( localhost, admin, 0.53 password ); L2 mysql_select_db( my database, $con); 0.53 L3 $sql = SELECT Name FROM Users WHERE Age >= $age AND Gender = $gender OR Country <> $country ; SELECT Name FROM Users WHERE Age >=? AND Gender =? OR Country <>? Only 1 template L4 $result = mysql_query($sql); 0.53 L5 while ($row = mysql_fetch_array($result)) { 0.53 L6 echo $row[ Name ]. <br / > ; }} 0.53 Pass/ Fail Status Pass Fail

9 SQL queries with unique templates System Checked queries Queries with unique templates AddressBook SchoolMate ZenCart Total Most SQL queries have unique templates. Require new database-aware fault localization techniques

10 SQLook Approach 1 Row-based test cases 2 Instrumentation for SQL queries

11 Traditional Test Cases SQL Query ID Name Age Gender Country 1 Alice 20 Female USA 2 Bob 20 Male Canada 3 Carol 25 Female Canada 4 Daniel 30 Male USA Expected Output Alice Carol Daniel

12 1 Row-Based Test Cases Create one test case for each row SQL Query ID Name Age Gender Country 1 Alice 20 Female USA 2 Bob 20 Male Canada 3 Carol 25 Female Canada 4 Daniel 30 Male USA Expected

13 2 Instrumentation for SQL Queries PHP Program PHP Interpreter SQL query $result = mysql_query( SELECT Name FROM Users WHERE ); // Eval mysql_query Send query to DBMS Return result Result DBMS Instrumented code

14 2 Instrumentation for SQL Queries SELECT Name FROM Users WHERE Country <> USA Retrieve entire table Filter rows Filter columns SELECT * FROM Users WHERE Country <> USA SELECT Name 1-Alice, 2-Bob, 3-Carol, 4-Daniel, 2-Bob, 3-Carol, Bob Carol Determine which rows are selected

15 Example revisited function displaysearchresults($age, $gender, $country) 1- Alice 2- Bob 3- Carol 4- Daniel Sus. 0.5 Error L4 $result = mysql_query($sql); 0.5 4a WhereExp = True b WhereExp = False 1.0 L5 while ($row = mysql_fetch_array($result)) { 0.5 L6 echo $row[ Name ]. <br / > ; }} 0.25 Pass/ Fail Status Fail Fail Pass Fail Highest suspiciousness score

16 Evaluation Evaluating the accuracy of SQLook Using seeded faults: 1. SQL faults in the WHERE clauses of SQL queries 2. PHP faults that affect the output data retrieved from a database query

17 Results System Ver Files LOC Queries SQL faults PHP faults Mutants % Rank Mutants % Rank AddressBook K % 9 98% SchoolMate K % 15 86% ZenCart , K 2, % 24 90%

18 Database-aware fault localization Using 2 key ideas: 1 Row-based test cases 2 Instrumentation for SQL queries

PHP: Cookies, Sessions, Databases. CS174. Chris Pollett. Sep 24, 2008.

PHP: Cookies, Sessions, Databases. CS174. Chris Pollett. Sep 24, 2008. PHP: Cookies, Sessions, Databases. CS174. Chris Pollett. Sep 24, 2008. Outline. How cookies work. Cookies in PHP. Sessions. Databases. Cookies. Sometimes it is useful to remember a client when it comes

More information

SQL stands for Structured Query Language. SQL lets you access and manipulate databases

SQL stands for Structured Query Language. SQL lets you access and manipulate databases CMPSC 117: WEB DEVELOPMENT SQL stands for Structured Query Language SQL lets you access and manipulate databases SQL is an ANSI (American National Standards Institute) standard 1 SQL can execute queries

More information

PHP: Databases and Classes. CS174. Chris Pollett. Sep 29, 2008.

PHP: Databases and Classes. CS174. Chris Pollett. Sep 29, 2008. PHP: Databases and Classes. CS174. Chris Pollett. Sep 29, 2008. Outline. Databases. Classes. Connecting to MySQL from PHP. To start a connect to a MySQL database one can issue the command: $db = mysql_connect();

More information

Chapter. Accessing MySQL Databases Using PHP

Chapter. Accessing MySQL Databases Using PHP Chapter 12 Accessing MySQL Databases Using PHP 150 Essential PHP fast Introduction In the previous chapter we considered how to create databases using MySQL. While this is useful, it does not enable us

More information

Dangling References in Multi-configuration and Dynamic PHP-Based Web Applications

Dangling References in Multi-configuration and Dynamic PHP-Based Web Applications Dangling References in Multi-configuration and Dynamic PHP-Based Web Applications Hung Nguyen, Hoan Nguyen, Tung Nguyen, Anh Nguyen, Tien N. Nguyen Iowa State University, USA ASE 2013, Nov 11-15, 2013

More information

PHP. How Web Applications interact with server side databases CRUD. Connecting and using mysql from PHP PHP provides many mysql specific functions

PHP. How Web Applications interact with server side databases CRUD. Connecting and using mysql from PHP PHP provides many mysql specific functions PHP How Web Applications interact with server side databases CRUD Connecting and using mysql from PHP PHP provides many mysql specific functions mysql_connect mysql_select_db mysql_query mysql_fetch_array

More information

Databases and SQL. Lecture outline. CSE 190 M (Web Programming) Spring 2008 University of Washington

Databases and SQL. Lecture outline. CSE 190 M (Web Programming) Spring 2008 University of Washington Databases and SQL CSE 190 M (Web Programming) Spring 2008 University of Washington References: SQL syntax reference, w3schools tutorial Except where otherwise noted, the contents of this presentation are

More information

What is MySQL? [Document provides the fundamental operations of PHP-MySQL connectivity]

What is MySQL? [Document provides the fundamental operations of PHP-MySQL connectivity] What is MySQL? [Document provides the fundamental operations of PHP-MySQL connectivity] MySQL is a database. A database defines a structure for storing information. In a database, there are tables. Just

More information

WEB SECURITY: SQL INJECTION

WEB SECURITY: SQL INJECTION WEB SECURITY: SQL INJECTION CMSC 414 FEB 15 2018 A very basic web architecture Client Server A very basic web architecture Client Server A very basic web architecture Client Server A very basic web architecture

More information

More loops. Control structures / flow control. while loops. Loops / Iteration / doing things over and over and over and over...

More loops. Control structures / flow control. while loops. Loops / Iteration / doing things over and over and over and over... Control structures / flow control More loops while loops if... else Switch for loops while... do.. do... while... Much of this material is explained in PHP programming 2nd Ed. Chap 2 Control structures

More information

IELM 511 Information Systems Design Labs 5 and 6. DB creation and Population

IELM 511 Information Systems Design Labs 5 and 6. DB creation and Population IELM 511 Information Systems Design Labs 5 and 6. DB creation and Population In this lab, your objective is to learn the basics of creating and managing a DB system. One way to interact with the DBMS (MySQL)

More information

Server side scripting and databases

Server side scripting and databases Example table Server side scripting and databases student How Web Applications interact with server side databases - part 2 student kuid lastname money char char int student table Connecting and using

More information

user specifies what is wanted, not how to find it

user specifies what is wanted, not how to find it SQL stands for Structured Query Language sometimes pronounced sequel a very-high-level (declarative) language user specifies what is wanted, not how to find it number of standards original ANSI SQL updated

More information

By the end of this section of the practical, the students should be able to:

By the end of this section of the practical, the students should be able to: By the end of this section of the practical, the students should be able to: Connecting to a MySQL database in PHP with the mysql_connect() and mysql_select_db() functions Trapping and displaying database

More information

PHP Development - Introduction

PHP Development - Introduction PHP Development - Introduction Php Hypertext Processor PHP stands for PHP: Hypertext Preprocessor PHP is a server-side scripting language, like ASP PHP scripts are executed on the server PHP supports many

More information

Lecture 13: MySQL and PHP. Monday, March 26, 2018

Lecture 13: MySQL and PHP. Monday, March 26, 2018 Lecture 13: MySQL and PHP Monday, March 26, 2018 MySQL The Old Way In older versions of PHP, we typically used functions that started with mysql_ that did not belong to a class For example: o o o o mysql_connect()

More information

AN INTRODUCTION TO WEB PROGRAMMING. Dr. Hossein Hakimzadeh Department of Computer and Information Sciences Indiana University South Bend, IN

AN INTRODUCTION TO WEB PROGRAMMING. Dr. Hossein Hakimzadeh Department of Computer and Information Sciences Indiana University South Bend, IN AN INTRODUCTION TO WEB PROGRAMMING Dr. Hossein Hakimzadeh Department of Computer and Information Sciences Indiana University South Bend, IN HISTORY Developed by Michael Widenius. Initially release in 1995.

More information

COLUMN DATABASES A NDREW C ROTTY & ALEX G ALAKATOS

COLUMN DATABASES A NDREW C ROTTY & ALEX G ALAKATOS COLUMN DATABASES A NDREW C ROTTY & ALEX G ALAKATOS OUTLINE RDBMS SQL Row Store Column Store C-Store Vertica MonetDB Hardware Optimizations FACULTY MEMBER VERSION EXPERIMENT Question: How does time spent

More information

I n p u t. This time. Security. Software. sanitization ); drop table slides. Continuing with. Getting insane with. New attacks and countermeasures:

I n p u t. This time. Security. Software. sanitization ); drop table slides. Continuing with. Getting insane with. New attacks and countermeasures: This time Continuing with Software Security Getting insane with I n p u t sanitization ); drop table slides New attacks and countermeasures: SQL injection Background on web architectures A very basic web

More information

Database Connectivity using PHP Some Points to Remember:

Database Connectivity using PHP Some Points to Remember: Database Connectivity using PHP Some Points to Remember: 1. PHP has a boolean datatype which can have 2 values: true or false. However, in PHP, the number 0 (zero) is also considered as equivalent to False.

More information

Qapla: Policy compliance for database-backed systems

Qapla: Policy compliance for database-backed systems Qapla: Policy compliance for database-backed systems Aastha Mehta 1, Eslam Elnikety 1, Katura Harvey 1,2, Deepak Garg 1, Peter Druschel 1 1 Max Planck Institute for Software Systems (MPI-SWS) 2 University

More information

Chapter 6 Part2: Manipulating MySQL Databases with PHP

Chapter 6 Part2: Manipulating MySQL Databases with PHP IT215 Web Programming 1 Chapter 6 Part2: Manipulating MySQL Databases with PHP Jakkrit TeCho, Ph.D. Business Information Technology (BIT), Maejo University Phrae Campus Objectives In this chapter, you

More information

Introduction to Databases CSE 414. Lecture 2: Data Models

Introduction to Databases CSE 414. Lecture 2: Data Models Introduction to Databases CSE 414 Lecture 2: Data Models CSE 414 - Autumn 2018 1 Class Overview Unit 1: Intro Unit 2: Relational Data Models and Query Languages Data models, SQL, Relational Algebra, Datalog

More information

Create Basic Databases and Integrate with a Website Lesson 3

Create Basic Databases and Integrate with a Website Lesson 3 Create Basic Databases and Integrate with a Website Lesson 3 Combining PHP and MySQL This lesson presumes you have covered the basics of PHP as well as working with MySQL. Now you re ready to make the

More information

UNIT V ESTABLISHING A DATABASE CONNECTION AND WORKING WITH DATABASE

UNIT V ESTABLISHING A DATABASE CONNECTION AND WORKING WITH DATABASE UNIT V 1 ESTABLISHING A DATABASE CONNECTION AND WORKING WITH DATABASE SYLLABUS 5.1 Overview of Database 5.2 Introduction to MYSQL 5.3 Creating Database using phpmyadmin & Console(using query, using Wamp

More information

NCSS: Databases and SQL

NCSS: Databases and SQL NCSS: Databases and SQL Tim Dawborn Lecture 1, January, 2016 Motivation SQLite SELECT WHERE JOIN Tips 2 Outline 1 Motivation 2 SQLite 3 Searching for Data 4 Filtering Results 5 Joining multiple tables

More information

CSCE 548 Building Secure Software SQL Injection Attack

CSCE 548 Building Secure Software SQL Injection Attack CSCE 548 Building Secure Software SQL Injection Attack Professor Lisa Luo Spring 2018 Previous class DirtyCOW is a special type of race condition problem It is related to memory mapping We learned how

More information

OLAP Drill-through Table Considerations

OLAP Drill-through Table Considerations Paper 023-2014 OLAP Drill-through Table Considerations M. Michelle Buchecker, SAS Institute, Inc. ABSTRACT When creating an OLAP cube, you have the option of specifying a drill-through table, also known

More information

Development Technologies. Agenda: phpmyadmin 2/20/2016. phpmyadmin MySQLi. Before you can put your data into a table, that table should exist.

Development Technologies. Agenda: phpmyadmin 2/20/2016. phpmyadmin MySQLi. Before you can put your data into a table, that table should exist. CIT 736: Internet and Web Development Technologies Lecture 10 Dr. Lupiana, DM FCIM, Institute of Finance Management Semester 1, 2016 Agenda: phpmyadmin MySQLi phpmyadmin Before you can put your data into

More information

Jackson State University Department of Computer Science CSC / Advanced Information Security Spring 2013 Lab Project # 3

Jackson State University Department of Computer Science CSC / Advanced Information Security Spring 2013 Lab Project # 3 Jackson State University Department of Computer Science CSC 439-01/539-02 Advanced Information Security Spring 2013 Lab Project # 3 Use of CAPTCHA (Image Identification Strategy) to Prevent XSRF Attacks

More information

Read this before starting!

Read this before starting! Portion of test Points possible Written: 60 Code Modification: 20 Debug/Coding: 20 Total: 100 Points missed Points correct Student's Name: East Tennessee State University Department of Computer and Information

More information

PHP Introduction. Some info on MySQL which we will cover in the next workshop...

PHP Introduction. Some info on MySQL which we will cover in the next workshop... PHP and MYSQL PHP Introduction PHP is a recursive acronym for PHP: Hypertext Preprocessor -- It is a widely-used open source general-purpose serverside scripting language that is especially suited for

More information

An introduction for the novice. David Lawrence, JLab. 5/8/07 MySQL David Lawrence 1/36

An introduction for the novice. David Lawrence, JLab. 5/8/07 MySQL David Lawrence 1/36 An introduction for the novice David Lawrence, JLab 5/8/07 MySQL David Lawrence 1/36 What is a Database? Store information(data) in a reliable, accessible way Allow access to data over a network to multiple

More information

gfuzz: An instrumented Web application fuzzing environment Ezequiel D. Gutesman Corelabs Core Security Technologies

gfuzz: An instrumented Web application fuzzing environment Ezequiel D. Gutesman Corelabs Core Security Technologies gfuzz: An instrumented Web application fuzzing environment Ezequiel D. Gutesman Corelabs Core Security Technologies Objectives Present a working tool (prototype-poc) to test the security of a given web

More information

PHP 5 if...else...elseif Statements

PHP 5 if...else...elseif Statements PHP 5 if...else...elseif Statements Conditional statements are used to perform different actions based on different conditions. PHP Conditional Statements Very often when you write code, you want to perform

More information

Lecture 7: Web hacking 3, SQL injection, Xpath injection, Server side template injection, File inclusion

Lecture 7: Web hacking 3, SQL injection, Xpath injection, Server side template injection, File inclusion IN5290 Ethical Hacking Lecture 7: Web hacking 3, SQL injection, Xpath injection, Server side template injection, File inclusion Universitetet i Oslo Laszlo Erdödi Lecture Overview What is SQL injection

More information

Using PHP with MYSQL

Using PHP with MYSQL Using PHP with MYSQL PHP & MYSQL So far you've learned the theory behind relational databases and worked directly with MySQL through the mysql command-line tool. Now it's time to get your PHP scripts talking

More information

CSE 344 JANUARY 5 TH INTRO TO THE RELATIONAL DATABASE

CSE 344 JANUARY 5 TH INTRO TO THE RELATIONAL DATABASE CSE 344 JANUARY 5 TH INTRO TO THE RELATIONAL DATABASE ADMINISTRATIVE MINUTIAE Midterm Exam: February 9 th : 3:30-4:20 Final Exam: March 15 th : 2:30 4:20 ADMINISTRATIVE MINUTIAE Midterm Exam: February

More information

PHP Arrays. Lecture 18. Robb T. Koether. Hampden-Sydney College. Mon, Mar 4, 2013

PHP Arrays. Lecture 18. Robb T. Koether. Hampden-Sydney College. Mon, Mar 4, 2013 PHP Arrays Lecture 18 Robb T. Koether Hampden-Sydney College Mon, Mar 4, 2013 Robb T. Koether (Hampden-Sydney College) PHP Arrays Mon, Mar 4, 2013 1 / 29 1 PHP Arrays 2 Iteration Structures 3 Displaying

More information

NULL. The special value NULL could mean: Unknown Unavailable Not Applicable

NULL. The special value NULL could mean: Unknown Unavailable Not Applicable Advanced SQL 1 / 23 NULL The special value NULL could mean: Unknown Unavailable Not Applicable 2 / 23 Three-Valued Logic - AND AND TRUE FALSE UNKNOWN TRUE TRUE FALSE UNKNOWN FALSE FALSE FALSE FALSE UNKNOWN

More information

Computing Science. Advanced Higher. Finalised Marking Instructions

Computing Science. Advanced Higher. Finalised Marking Instructions National Qualifications 2016 Computing Science Advanced Higher Finalised ing Instructions Scottish Qualifications Authority 2016 The information in this publication may be reproduced to support SQA qualifications

More information

Web Application Development (WAD) V th Sem BBAITM (Unit 4) By: Binit Patel

Web Application Development (WAD) V th Sem BBAITM (Unit 4) By: Binit Patel Web Application Development (WAD) V th Sem BBAITM (Unit 4) By: Binit Patel Working with Forms: A very popular way to make a web site interactive is using HTML based forms by the site. Using HTML forms,

More information

A SQL Injection : Internal Investigation of Injection, Detection and Prevention of SQL Injection Attacks

A SQL Injection : Internal Investigation of Injection, Detection and Prevention of SQL Injection Attacks A SQL Injection : Internal Investigation of Injection, Detection and Prevention of SQL Injection Attacks Abhay K. Kolhe Faculty, Dept. Of Computer Engineering MPSTME, NMIMS Mumbai, India Pratik Adhikari

More information

Networks and Web for Health Informatics (HINF 6220)

Networks and Web for Health Informatics (HINF 6220) Networks and Web for Health Informatics (HINF 6220) Tutorial #1 Raheleh Makki Email: niri@cs.dal.ca Tutorial Class Timings Tuesday & Thursday 4:05 5:25 PM Course Outline Database Web Programming SQL PHP

More information

Read this before starting!

Read this before starting! Portion of test Points possible Written: 60 Code Modification: 20 Debug/Coding: 20 Total: 100 Points missed Points correct Student's Name: East Tennessee State University Department of Computer and Information

More information

the Data Drive IN THIS CHAPTER Good Things Come in Free Packages

the Data Drive IN THIS CHAPTER Good Things Come in Free Packages c h a p t e r 7 Let the Data Drive IN THIS CHAPTER Good Things Come in Free Packages New Functions Installing MySQL Setting up a Simple Database Basic SQL Queries Putting Content into a Database Using

More information

Ten Great Reasons to Learn SAS Software's SQL Procedure

Ten Great Reasons to Learn SAS Software's SQL Procedure Ten Great Reasons to Learn SAS Software's SQL Procedure Kirk Paul Lafler, Software Intelligence Corporation ABSTRACT The SQL Procedure has so many great features for both end-users and programmers. It's

More information

Hints: I used a left fold and wrote a named helper function when I created my solution.

Hints: I used a left fold and wrote a named helper function when I created my solution. 1) [4 marks] On a particular system, a password is considered acceptable if it meets the following constraints: It is at least 8 characters in length It contains at least one uppercase letter ('A' to 'Z')

More information

Simple SCORM LMS Adapter Full Documentation

Simple SCORM LMS Adapter Full Documentation Simple SCORM LMS Adapter Full Documentation Version 3.1.0 Table of Contents Introduction What is the Simple SCORM LMS Adapter? How the Simple SCORM LMS Adapter Works Technical Details Figure A. On Load

More information

CSE 344 JANUARY 8 TH SQLITE AND JOINS

CSE 344 JANUARY 8 TH SQLITE AND JOINS CSE 344 JANUARY 8 TH SQLITE AND JOINS ADMINISTRATIVE MINUTIAE Next Monday, MLK day HW1, and QZ1 due next Wednesday Online Quizzes Newgradiance.com Course token: B5B103B6 Code assignment Through gitlab

More information

PHP Arrays. Lecture 20. Robb T. Koether. Hampden-Sydney College. Wed, Feb 28, 2018

PHP Arrays. Lecture 20. Robb T. Koether. Hampden-Sydney College. Wed, Feb 28, 2018 PHP Arrays Lecture 20 Robb T. Koether Hampden-Sydney College Wed, Feb 28, 2018 Robb T. Koether (Hampden-Sydney College) PHP Arrays Wed, Feb 28, 2018 1 / 27 1 PHP Arrays 2 Iteration Structures 3 Displaying

More information

Mount Saint Mary College, Newburgh, NY Internet Programming III - CIT310

Mount Saint Mary College, Newburgh, NY Internet Programming III - CIT310 Warm up mini-lab Lab 1 - Functions Type in the following function definition and calls to the function. Test it and understand it. function myprint($str= No String Supplied ) // the argument is optional

More information

Relational Databases

Relational Databases Relational Databases Lecture 2 Chapter 3 Robb T. Koether Hampden-Sydney College Fri, Jan 18, 2013 Robb T. Koether (Hampden-Sydney College) Relational Databases Fri, Jan 18, 2013 1 / 26 1 Types of Databases

More information

How to extract suicide statistics by country from the. WHO Mortality Database Online Tool

How to extract suicide statistics by country from the. WHO Mortality Database Online Tool Instructions for users How to extract suicide statistics by country from the WHO Mortality Database Online Tool This guide explains how to access suicide statistics and make graphs and tables, or export

More information

/Users/ekrimmel/Desktop/_potential/Zex site/assignment_8_common_functions.php Page 1 of 6

/Users/ekrimmel/Desktop/_potential/Zex site/assignment_8_common_functions.php Page 1 of 6 /Users/ekrimmel/Desktop/_potential/Zex site/assignment_8_common_functions.php Page 1 of 6 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

More information

Database Management Systems. Chapter 5

Database Management Systems. Chapter 5 Database Management Systems Chapter 5 SQL Example Instances We will use these instances of the Sailors and Reserves relations in our examples. If the key for the Reserves relation contained only the attributes

More information

Running SQL in Java and PHP

Running SQL in Java and PHP Running SQL in Java and PHP FCDB 9.6 9.7 Dr. Chris Mayfield Department of Computer Science James Madison University Feb 28, 2018 Introduction to JDBC JDBC = Java Database Connectivity 1. Connect to the

More information

LISUG web site project

LISUG web site project Google AdWords LISUG web site project Web site design considerations SEO (Search Engine Optimization) Keyword Analysis PHP MySQL by Alan Baisch Important steps and strategies Review existing website and

More information

CPSC 233: Assignment 4 (Due March 26 at 4 PM)

CPSC 233: Assignment 4 (Due March 26 at 4 PM) CPSC 233: Assignment 4 (Due March 26 at 4 PM) New learning concepts: Problem solving using object-oriented programming. Aside from main() you cannot implement other static methods. Also you should not

More information

Databases PHP I. (GF Royle, N Spadaccini ) PHP I 1 / 24

Databases PHP I. (GF Royle, N Spadaccini ) PHP I 1 / 24 Databases PHP I (GF Royle, N Spadaccini 2006-2010) PHP I 1 / 24 This lecture This covers the (absolute) basics of PHP and how to connect to a database using MDB2. (GF Royle, N Spadaccini 2006-2010) PHP

More information

Teradata. This was compiled in order to describe Teradata and provide a brief overview of common capabilities and queries.

Teradata. This was compiled in order to describe Teradata and provide a brief overview of common capabilities and queries. Teradata This was compiled in order to describe Teradata and provide a brief overview of common capabilities and queries. What is it? Teradata is a powerful Big Data tool that can be used in order to quickly

More information

King Fahd University of Petroleum and Minerals

King Fahd University of Petroleum and Minerals 1 King Fahd University of Petroleum and Minerals Information and Computer Science Department ICS 334: Database Systems Semester 041 Major Exam 1 18% ID: Name: Section: Grades Section Max Scored A 5 B 25

More information

This lecture. PHP tags

This lecture. PHP tags This lecture Databases I This covers the (absolute) basics of and how to connect to a database using MDB2. (GF Royle 2006-8, N Spadaccini 2008) I 1 / 24 (GF Royle 2006-8, N Spadaccini 2008) I 2 / 24 What

More information

CMSC 330: Organization of Programming Languages. Markup & Query Languages

CMSC 330: Organization of Programming Languages. Markup & Query Languages CMSC 330: Organization of Programming Languages Markup & Query Languages Other Language Types Markup languages Set of annotations to text Query languages Make queries to databases & information systems

More information

CMSC 330: Organization of Programming Languages

CMSC 330: Organization of Programming Languages CMSC 330: Organization of Programming Languages Markup & Query Languages Other Language Types Markup languages Set of annotations to text Query languages Make queries to databases & information systems

More information

CHAPTER 10. Connecting to Databases within PHP

CHAPTER 10. Connecting to Databases within PHP CHAPTER 10 Connecting to Databases within PHP CHAPTER OBJECTIVES Get a connection to a MySQL database from within PHP Use a particular database Send a query to the database Parse the query results Check

More information

Networks and Web for Health Informatics (HINF 6220) Tutorial 13 : PHP 29 Oct 2015

Networks and Web for Health Informatics (HINF 6220) Tutorial 13 : PHP 29 Oct 2015 Networks and Web for Health Informatics (HINF 6220) Tutorial 13 : PHP 29 Oct 2015 PHP Arrays o Arrays are single variables that store multiple values at the same time! o Consider having a list of values

More information

PHP. M hiwa ahamad aziz Raparin univercity. 1 Web Design: Lecturer ( m hiwa ahmad aziz)

PHP. M hiwa ahamad aziz  Raparin univercity. 1 Web Design: Lecturer ( m hiwa ahmad aziz) PHP M hiwa ahamad aziz www.raparinweb.com Raparin univercity 1 Server-Side Programming language asp, asp.net, php, jsp, perl, cgi... 2 Of 68 Client-Side Scripting versus Server-Side Scripting Client-side

More information

A1 (Part 2): Injection SQL Injection

A1 (Part 2): Injection SQL Injection A1 (Part 2): Injection SQL Injection SQL injection is prevalent SQL injection is impactful Why a password manager is a good idea! SQL injection is ironic SQL injection is funny Firewall Firewall Accounts

More information

SQL-Nested Queries & Aggregate functions. Lecture By Binu Jasim 02-Aug-2016

SQL-Nested Queries & Aggregate functions. Lecture By Binu Jasim 02-Aug-2016 SQL-Nested Queries & Aggregate functions Lecture By Binu Jasim 02-Aug-2016 Student rollno name dept CGPA 123 Alice CSE 8.2 201 Bob EEE 5.6 399 Cherry CSE 8.2 Course rollno cname dept marks 123 DBMS CSE

More information

If you do not specify any custom parameters, we will deliver the message using the default names.

If you do not specify any custom parameters, we will deliver the message using the default names. Inbound SMS to UK landline numbers API HTTP GET/POST variables If you choose to have the messages delivered by HTTP, you may either use our standard parameters, or create a custom format for compatibility

More information

Semi-Joins and Bloom Join. Databases: The Complete Book Ch 20

Semi-Joins and Bloom Join. Databases: The Complete Book Ch 20 Semi-Joins and Bloom Join Databases: The Complete Book Ch 20 1 Practical Concerns UNION R1 S1 R1 S2 R2 S1 RN SM R1 R2 RN S1 S2 SM 2 Practical Concerns UNION R1 S1 R1 S2 R2 S1 RN SM R1 R2 RN S1 S2 SM Where

More information

Relational Databases Lecture 2

Relational Databases Lecture 2 Relational Databases Lecture 2 Robb T Koether Hampden-Sydney College Fri, Jan 20, 2012 Robb T Koether (Hampden-Sydney College) Relational DatabasesLecture 2 Fri, Jan 20, 2012 1 / 36 1 Databases Systems

More information

CRAXweb: Web Testing and Attacks through QEMU in S2E. Shih-Kun Huang National Chiao Tung University Hsinchu, Taiwan

CRAXweb: Web Testing and Attacks through QEMU in S2E. Shih-Kun Huang National Chiao Tung University Hsinchu, Taiwan CRAXweb: Web Testing and Attacks through QEMU in S2E Shih-Kun Huang National Chiao Tung University Hsinchu, Taiwan skhuang@cs.nctu.edu.tw Motivation Symbolic Execution is effective to crash applications

More information

How to Save the Smart Home from Cyber Invasion. IoT DevCon 2017 Art Swift, President, prpl Foundation

How to Save the Smart Home from Cyber Invasion. IoT DevCon 2017 Art Swift, President, prpl Foundation How to Save the Smart Home from Cyber Invasion Art Swift, President, prpl Foundation Smart Home Security Report 2016 Research Findings Smart device adoption has reached a tipping point - the smart home

More information

IS 2150 / TEL 2810 Introduction to Security

IS 2150 / TEL 2810 Introduction to Security IS 2150 / TEL 2810 Introduction to Security James Joshi Professor, SIS Lecture 15 April 20, 2016 SQL Injection Cross-Site Scripting 1 Goals Overview SQL Injection Attacks Cross-Site Scripting Attacks Some

More information

Automatically Locating software Errors using Interesting Value Mapping Pair (IVMP)

Automatically Locating software Errors using Interesting Value Mapping Pair (IVMP) 71 Automatically Locating software Errors using Interesting Value Mapping Pair (IVMP) Ajai Kumar 1, Anil Kumar 2, Deepti Tak 3, Sonam Pal 4, 1,2 Sr. Lecturer, Krishna Institute of Management & Technology,

More information

TOWARDS AUTOMATICALLY LOCALIZING AND REPAIRING SQL FAULTS

TOWARDS AUTOMATICALLY LOCALIZING AND REPAIRING SQL FAULTS TOWARDS AUTOMATICALLY LOCALIZING AND REPAIRING SQL FAULTS by Yun Guo A Dissertation Submitted to the Graduate Faculty of George Mason University In Partial Fulfillment of The Requirements for the Degree

More information

SelectSurveyASP Advanced User Manual

SelectSurveyASP Advanced User Manual SelectSurveyASP Advanced User Manual Creating Surveys 2 Designing Surveys 2 Templates 3 Libraries 4 Item Types 4 Scored Surveys 5 Page Conditions 5 Piping Answers 6 Previewing Surveys 7 Managing Surveys

More information

BEM Toolbox3. BEM Toolbox3 version provides the interface for the new BMX Australia OSM database for Membership and On-Line Entries.

BEM Toolbox3. BEM Toolbox3 version provides the interface for the new BMX Australia OSM database for Membership and On-Line Entries. Toolbox Version: 3.7.1 Document Updated 18-Mar-2015. BEM Toolbox3 Overview. This document details the facilities provided and operating instructions for the Bmx Event Manager Toolbox3, a utility program

More information

Advance SSRS Reporting. Aun Ali Baghdadwala System Analyst Reporting, Enform Canada

Advance SSRS Reporting. Aun Ali Baghdadwala System Analyst Reporting, Enform Canada Advance SSRS Reporting Aun Ali Baghdadwala System Analyst Reporting, Enform Canada Agenda Introduction - 9:00 to 9:10 am (10 min) Presentation Part 1-9:10 to 9:30 am (20 min) Activity 1-9:30 to 10:00 am

More information

VarexJ: A Variability-Aware Java Interpreter

VarexJ: A Variability-Aware Java Interpreter VarexJ: A Variability-Aware Java Interpreter Testing Configurable Systems Jens Meinicke, Chu-Pan Wong, Christian Kästner FOSD Meeting 2015 Feature Interaction Jens Meinicke VarexJ - Testing Configurable

More information

CSC System Development with Java. Database Connection. Department of Statistics and Computer Science. Budditha Hettige

CSC System Development with Java. Database Connection. Department of Statistics and Computer Science. Budditha Hettige CSC 308 2.0 System Development with Java Database Connection Budditha Hettige Department of Statistics and Computer Science Budditha Hettige 1 From database to Java There are many brands of database: Microsoft

More information

Importing to WIRED Contact From a Database File. Reference Guide

Importing to WIRED Contact From a Database File. Reference Guide Importing to WIRED Contact From a Database File Reference Guide Table of Contents Preparing the Database table for Import... 2 Locating the Field Names for the Import... 2 Importing the File to WiredContact...

More information

Database Systems CSE 303. Outline. Lecture 06: SQL. What is Sub-query? Sub-query in WHERE clause Subquery

Database Systems CSE 303. Outline. Lecture 06: SQL. What is Sub-query? Sub-query in WHERE clause Subquery Database Systems CSE 303 Lecture 06: SQL 2016 Subquery Outline What is a Subquery Subquery in WHERE clause >ALL, >ANY, >=ALL,

More information

Create a simple database with MySQL

Create a simple database with MySQL Create a simple database with MySQL 1.Connect the MySQL server through MySQL Workbench You can achieve many database operations by typing the SQL langue into the Query panel, such as creating a database,

More information

HTML Forms & PHP & MySQL Database. Database Systems CSCI-3343 Dr. Tom Hicks Computer Science Department

HTML Forms & PHP & MySQL Database. Database Systems CSCI-3343 Dr. Tom Hicks Computer Science Department HTML Forms & PHP & MySQL Database Database Systems CSCI-3343 Dr. Tom Hicks Computer Science Department 1 Import Database University1 with MySQL Workbench 2 It Should Have 3 Tables 3 Create Folders 4 Create

More information

13.1 Relational Databases (continued) 13.1 Relational Databases. - Logical model

13.1 Relational Databases (continued) 13.1 Relational Databases. - Logical model 13.1 Relational Databases 13.1 Relational Databases (continued) - A relational database is a collection of tables of data, each of which has one special column that stores the primary keys of the table

More information

13.1 Relational Databases

13.1 Relational Databases 13.1 Relational Databases - A relational database is a collection of tables of data, each of which has one special column that stores the primary keys of the table - Designing a relational database for

More information

Lab #3. Viewing Data in SAS. Tables in SAS. 171:161: Introduction to Biostatistics Breheny

Lab #3. Viewing Data in SAS. Tables in SAS. 171:161: Introduction to Biostatistics Breheny 171:161: Introduction to Biostatistics Breheny Lab #3 The focus of this lab will be on using SAS and R to provide you with summary statistics of different variables with a data set. We will look at both

More information

Zend Platform's Partial Page Caching

Zend Platform's Partial Page Caching Technical Article: Zend Platform's Partial Page Caching By Zend Technologies September 2005 2005 Zend Technologies, Inc. All rights reserved. Zend Platform's Partial Page Caching Real-World Examples One

More information

Options. Real SQL Programming 1. Stored Procedures. Embedded SQL

Options. Real SQL Programming 1. Stored Procedures. Embedded SQL Real 1 Options We have seen only how SQL is used at the generic query interface an environment where we sit at a terminal and ask queries of a database. Reality is almost always different: conventional

More information

WellComm: A Speech and Language Toolkit for Screening and Intervention in the Early Years. Revised Edition Report Wizard: User s Guide

WellComm: A Speech and Language Toolkit for Screening and Intervention in the Early Years. Revised Edition Report Wizard: User s Guide WellComm: A Speech and Language Toolkit for Screening and Intervention in the Early Years. Revised Edition Report Wizard: User s Guide 1. Overview of the Report Wizard The Report Wizard allows WellComm

More information

WEB PROGRAMMING SCV1223. PHP : Authentication Example. Dr. Md Sah bin Hj Salam En. Jumail bin Taliba

WEB PROGRAMMING SCV1223. PHP : Authentication Example. Dr. Md Sah bin Hj Salam En. Jumail bin Taliba WEB PROGRAMMING SCV1223 PHP : Authentication Example Dr. Md Sah bin Hj Salam En. Jumail bin Taliba Topics Form Handling Redirection Connecting to Database User Authentication Session Authentication Case

More information

CSE 344 APRIL 16 TH SEMI-STRUCTURED DATA

CSE 344 APRIL 16 TH SEMI-STRUCTURED DATA CSE 344 APRIL 16 TH SEMI-STRUCTURED DATA ADMINISTRATIVE MINUTIAE HW3 due Wednesday OQ4 due Wednesday HW4 out Wednesday (Datalog) Exam May 9th 9:30-10:20 WHERE WE ARE So far we have studied the relational

More information

Announcements. Using Electronics in Class. Review. Staff Instructor: Alvin Cheung Office hour on Wednesdays, 1-2pm. Class Overview

Announcements. Using Electronics in Class. Review. Staff Instructor: Alvin Cheung Office hour on Wednesdays, 1-2pm. Class Overview Announcements Introduction to Databases CSE 414 Lecture 2: Data Models HW1 and WQ1 released Both due next Tuesday Office hours start this week Sections tomorrow Make sure you sign up on piazza Please ask

More information

MULTIMEDIA AND WEB TECHNOLOGY

MULTIMEDIA AND WEB TECHNOLOGY SET-4 Series GBM Code No. 89 Roll No. Candidates must write the Code on the title page of the answer-book. Please check that this question paper contains 9 printed pages. Code number given on the right

More information

Databases (MariaDB/MySQL) CS401, Fall 2015

Databases (MariaDB/MySQL) CS401, Fall 2015 Databases (MariaDB/MySQL) CS401, Fall 2015 Database Basics Relational Database Method of structuring data as tables associated to each other by shared attributes. Tables (kind of like a Java class) have

More information

Data Manipulation with SQL Mara Werner, HHS/OIG, Chicago, IL

Data Manipulation with SQL Mara Werner, HHS/OIG, Chicago, IL Paper TS05-2011 Data Manipulation with SQL Mara Werner, HHS/OIG, Chicago, IL Abstract SQL was developed to pull together information from several different data tables - use this to your advantage as you

More information