Dynamic Benchmarking Software development though competition Alex Dubreuil Northeastern University

Slides:



Advertisements
Similar presentations
Tree Diagrams 1. Learning Objectives Upon completing this module, you will be able to:  Understand the purpose and use of a Tree Diagram (TD)  Construct,
Advertisements

Metrics for Process and Projects
“Not Fully Specified (Project) Objectives” CS524 – Software Engineering I Azusa Pacific University Professor Dr. Sheldon X. Liang Fall I 2007 Ernie Rosales.
Specker Challenge Game (SCG): A Novel Tool for Computer Science Karl Lieberherr.
Introduction To System Analysis and Design
Extreme Programming Collaboration in Software Development Process.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
SYSTEMS ANALYSIS AND DESIGN INTRODUCTION 1. Systems Analysis and Design is the process people use to create (automated) information systems Systems Analysis.
SYSTEMS ANALYSIS AND DESIGN INTRODUCTION 1. Systems Analysis and Design is the process people use to create (automated) information systems Systems Analysis.
Application of CRM (Customer Relationship Management) in Libraries.
The Scientific Community Game as A Crowdsourcing Platform to Distinguish Good from Bad Presentation to Clients by Software Development Organization 4/24/20111.
Project Life Cycle Introduction and Overview © Ed Green Penn State University All Rights Reserved.
Chapter Seven Advanced Shell Programming. 2 Lesson A Developing a Fully Featured Program.
HOW DO INFORMATION SYSTEM SUPPORT THE MAJOR BUSINESS FUNCTION?
“Raising the bar in Customer Service”. 2Mercury Confidential & Proprietary Agenda Mercury Introduction Structure/Evolution of CSO Where we were Overview.
Test Organization and Management
CSU 670 Review Fall Software Development Application area: robotic games based on combinatorial maximization problems. Software development is about.
SCG Domain Specification Karl. Overview What needs to be provided – What GameProvider needs to provide to define a competition. – What each Scholar needs.
Chapter 12 The Impact of Globalization on Customer Service
Poster Design & Printing by Genigraphics ® The Scientific Community Game Education and Innovation Through Survival in a Virtual World of.
Business Computing 550 Lesson 1. Fundamentals of Information Systems, Fifth Edition An Introduction to Information Systems in Organizations.
Business Analysis and Essential Competencies
Software Development using artificial markets of constructively egoistic agents Karl Lieberherr 1SD-F09.
Testing Challenges in an Agile Environment Biraj Nakarja Sogeti UK 28 th October 2009.
Chapter 5 Defining and Managing Project and Product Scope Copyright 2012 John Wiley & Sons, Inc. 5-1.
The VPO Operator. [vpo_operator] 2 The VPO Operator Section Overview The role of the VPO operator Starting and stopping the Motif GUI The VPO Operator.
Introduction To System Analysis and Design
SDG Mittagsseminar1 Using Artificial Markets to Teach Computer Science Through Trading Robots How to get students interested in algorithms, combinatorial.
Mani Subramanian. What is Project? is a temporary endeavor with a beginning and an end. Delivers Unique Product, Service or result.
Software Development using artificial markets of constructively egoistic agents Karl Lieberherr 1SD-F09.
Lesson 7-Managing Risk. Overview Defining risk. Identifying the risk to an organization. Measuring risk.
© Copyright 2010 Aqastra1 Dedicated to Testing Excellence Summit 2010 Selecting our Testers and Measuring their Performance Susan Windsor.
Microsoft Office Project 2003: Selling EPM in your Organization Matt Wilson Business Solutions Specialist LMR Solutions.
Chapter 1 Introduction to Databases. 1-2 Chapter Outline   Common uses of database systems   Meaning of basic terms   Database Applications  
Slide 12.1 Chapter 12 Implementation. Slide 12.2 Learning outcomes Produce a plan to minimize the risks involved with the launch phase of an e-business.
PaymentFramework Payment Framework to Mobirox Ltd by team braZil Project Presentation Innopoli 2, SoberIT :00-15:00.
HRM Human Resource management. HRM Class Emphasis Show “best-in-class” HRM practices Understand how HRM practices support business strategy How to use,
Introduction to the Continual Service Improvement Toolkit Welcome.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
11/11/2015SDG1 Specker Derivative Game Karl Lieberherr Spring 2009.
Motivation and Assessment Conventional wisdom would have us believe that the main purpose of assessment is as a stick to force students to learn. The customary.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Methods of Software Development Karl Lieberherr Spring 2007.
The Algorithms we use to learn about Algorithms Karl Lieberherr Ahmed Abdelmeged 3/16/20111Open House 2011.
CSI—The Lifecycle Stage
Key Points Karl Lieberherr. Challenge: old high-level description Price Set of problems 1/5/20162Summary.
Software Engineering (CSI 321) Project Planning & Estimation 1.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Chapter 22 Metrics for Process and Projects Software Engineering: A Practitioner’s Approach 6 th Edition Roger S. Pressman.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
© 2014 International Technology and Engineering Educators Association STEM  Center for Teaching and Learning™ Game Art and Design Unit 2 Lesson 1 Skills.
CS223: Software Engineering
CS223: Software Engineering Lecture 16: The Agile Methodology.
Software Development using virtual scientific communities of constructively egoistic agents Karl Lieberherr 1SCG-SP20103/19/2016.
The 7.5 Things I Wish I'd Known About AP Automation.
CSC 108H: Introduction to Computer Programming
Optimizing the Approach
OWASP Static Analysis (SA) Track Goals, Objectives, and Track Roadmap
Software Security II Karl Lieberherr.
Example of a Problem Statement: Introduction into ARENA
RCall Services.
Example of a Problem Statement: Introduction into ARENA
Game Art and Design Unit 2 Lesson 1 Skills in the Game Industry
Students The number in the lower left corner of each slide is the page number in the O’Brien textbook to which the material refers. The slides in this.
Metrics for Process and Projects
KNOWLEDGE MANAGEMENT (KM) Session # 36
Karl Lieberherr Ahmed Abdelmeged
Presentation transcript:

Dynamic Benchmarking Software development though competition Alex Dubreuil Northeastern University

This slide intentionally left blank

Contents Dynamic Benchmarking Introduction Uses of the Benchmarking Game model Software Development (CS 4500) A Lesson I’ve learned Caution: Slide layout may cause drowsiness.

Benchmarking Assesses relative performance Typically by running standardized tests –Produces scores which are then compared –SATs Other options exist –Allowing software to compete directly –Chess game

The Traditional Approach Software A Static Benchmark Software B Software C Score A Score C Score B Developer A Developer B Developer C Parameterized by the domain.

The Dynamic Approach Team A Software A Benchmark A Team C Software C Benchmark C Team B Software B Benchmark B Artificial World (Game) Agent Ranking Parameterized by the domain. Agent

An Artificial World Agent’s View Administrator Agent Opponents’ communication, Feedback Beliefs, Challenges, Problems, Solutions Results Problems: Benchmark output Solutions: Software output Beliefs/Challenges: statements about algorithms

Problems & Solutions Problem communication: –Define an instance of a problem in the domain Solution communication: –Respond to an opponent’s problem –Administrator has a metric for determining how good a solution is –This metric is well defined and known by all

Beliefs & Challenges General statements about algorithms –Belief: Defines a subset of the problems in the domain Makes a statement about the problems in that subset –Challenge: A response to a belief of an opponent

Administrator Opponents’ communication –Filter all communication through the Administrator for security –Filter information when necessary Feedback: –Inform agents of rule violations –Inform agents of status changes

Administrator Results –Track state changes through the game –Produce the agent ranking from the end game state

What’s next Dynamic Benchmarking Introduction Uses of the Benchmarking Game model Software Development (CS 4500) A Lesson I’ve learned If you can read this, you don’t need glasses.

Overhead Requires mature Administrator, communication system for accurate results –Reuse between domains is possible Requires new translation for each problem domain

Software Development Ranks software without a mature benchmark –Dynamic approach excels when a well- defined benchmark does not exist Creates data to build better benchmarks –Because Agents, not Software, are ranked Forces developers to consider both their solutions and the problem domain

Education Motivates students Mature Administrator/Agent not required Creates interesting student interaction Creates a realistic software development environment

What’s next Dynamic Benchmarking Introduction Uses of the Benchmarking Game model Software Development (CS 4500) A Lesson I’ve learned Yeah, I got nothing.

Specker Challenge Game The SCG is the basis for Professor Karl Lieberherr’s Software Development class Uses an arity 3 boolean constraint satisfaction problem (CSP) as our domain Teams of 2~3 produce the components of an Agent

(Some of the) Skills Involved Using outsourced tools –DemeterF (developed by Bryan Chadwick) –Component Market Dealing with users –Underspecified requirements Source control Constraint Satisfaction algorithms Data mining

Added bonus Programmers RequirementsLimitations Domain Knowledge Experts Customers Users How-to So what? Salespeople Code Gibberish Non-technical Requirements

It’s a busy class Traditional grading would not work The competition keeps students motivated

What’s next Dynamic Benchmarking Introduction Uses of the Benchmarking Game model Software Development (CS 4500) A Lesson I’ve learned

Administrator Security Never accept extra input –Transaction: Challenge: ID, Type, Price –vs. –Transaction: Challenge: ID Check all necessary input –Transaction: Deliver Problem: ID, Problem –Check: Does the Problem match the Type?

General Lesson Never trust user input –Sanitize data –Protect against buffer overflows

More General Lesson It’s good to see things before they can do you or others harm –Users you can yell at –Security flaws that don’t cost money –Underspecified requirements

Alex Dubreuil Northeastern University Thank you!