A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:

Slides:



Advertisements
Similar presentations
Modelling with expert systems. Expert systems Modelling with expert systems Coaching modelling with expert systems Advantages and limitations of modelling.
Advertisements

 Acceptance testing is a user-run test that demonstrates the application’s ability to meet the original business objectives and system requirements and.
25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
Abstraction Lecture-4. ADT example: London Underground Map.
Dr Gordon Russell, Napier University Unit Data Dictionary 1 Data Dictionary Unit 5.3.
ACTIVELY ENGAGING THE STAKEHOLDER IN DEFINING REQUIREMENTS FOR THE BUSINESS, THE STAKEHOLDER, SOLUTION OR TRANSITION Requirements Elicitation.
Data - Information - Knowledge
SE 450 Software Processes & Product Metrics 1 Quality Systems Frameworks.
SE 450 Software Processes & Product Metrics 1 Defect Removal.
Marakas: Decision Support Systems, 2nd Edition © 2003, Prentice-Hall Chapter Chapter 7: Expert Systems and Artificial Intelligence Decision Support.
Fundamentals of Information Systems, Second Edition
© Lethbridge/Laganière 2001 Chapter 7: Focusing on Users and Their Tasks1 7.1 User Centred Design (UCD) Software development should focus on the needs.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Software Process and Product Metrics
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
AGILE Development Group KEVIN STEVEN EKAPUTRANTO RENDY WINARTA STEFANY TRIFOSA GLADYS NATALIA.
Statistical Natural Language Processing. What is NLP?  Natural Language Processing (NLP), or Computational Linguistics, is concerned with theoretical.
Usability Methods: Cognitive Walkthrough & Heuristic Evaluation Dr. Dania Bilal IS 588 Spring 2008 Dr. D. Bilal.
2 1 Chapter 2 Data Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
S/W Project Management
Overview of the Database Development Process
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Lecture On Database Analysis and Design By- Jesmin Akhter Lecturer, IIT, Jahangirnagar University.
ITEC224 Database Programming
Database Design - Lecture 2
Copyright R. Weber INFO 629 Concepts in Artificial Intelligence Expert Systems Fall 2004 Professor: Dr. Rosina Weber.
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
 CS 5380 Software Engineering Chapter 8 Testing.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
Some Sub-Activities within Requirements Engineering 1.Prototyping 2.Requirements Documentation 3.Requirements Validation 4.Requirements Measurements 5.Requirements.
Team Assignment 15 Team 04 Class K15T2. Agenda 1. Introduction 2. Measurement process 3. GQM 4. Strength Weakness of metrics.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
June 05 David A. Gaitros Jean Muhammad Introduction to OOD and UML Dr. Jean Muhammad.
Implement Unit Test Framework for Application running on a Pocket PC 2003 device Durga Kulkarni Cyberonics Inc August 28, 2009.
1 Introduction to Software Engineering Lecture 1.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
The Role of Experience in Software Testing Practice Zahra Molaei Soheil Hedayatitezengi Comp 587 Prof. Lingard 1 of 21.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Usability Engineering Dr. Dania Bilal IS 582 Spring 2006.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
Gerhard Dueck -- CS3013Requirements Capture 1  From Vision to Requirements  Why it is difficult?  Developers are not users  Inadequate requirements.
Requirements Validation
SQL Based Knowledge Representation And Knowledge Editor UMAIR ABDULLAH AFTAB AHMED MOHAMMAD JAMIL SAWAR (Presented by Lei Jiang)
PowerPoint Presentation by Charlie Cook Copyright © 2004 South-Western. All rights reserved. Chapter 5 Business Intelligence and and Knowledge Management.
Thomas L. Gilchrist Testing Basics Set 3: Testing Strategies By Tom Gilchrist Jan 2009.
Chapter 2 Database Environment.
1 Chapter 2 Database Environment Pearson Education © 2009.
Virtual Memory Pranav Shah CS147 - Sin Min Lee. Concept of Virtual Memory Purpose of Virtual Memory - to use hard disk as an extension of RAM. Personal.
The Functions and Purposes of Translators Translators, Interpreters and Compilers - High Level Languages.
“The Role of Experience in Software Testing Practice” A Review of the Article by Armin Beer and Rudolf Ramler By Jason Gero COMP 587 Prof. Lingard Spring.
Online School Management System Supervisor Name: Ashraful Islam Juwel Lecturer of Asian University of Bangladesh Submitted By: Bikash Chandra SutrodhorID.
Software Engineering Process - II 7.1 Unit 7: Quality Management Software Engineering Process - II.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Advanced Software Engineering Dr. Cheng
Advanced Higher Computing Science
Software Development Life Cycle Waterfall Model
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Methodologies By Akinola Soyinka.
Software Engineering (CSE 314)
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Intro to Expert Systems Paula Matuszek CSC 8750, Fall, 2004
Data Model.
Software Test Automation Louisiana Tech University
Presentation transcript:

A Machine Learning Approach to Programming

Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP: An example. MLAP: Design MLAP: Advantages/Disadvantages Scope Conclusion

Overview of software methodologies SSAD: Here programming is procedural. The mapping between a real life object n its representation in a program is ambiguous. OOAD: Here real life objects are mapped as classes in a program. Each class consists of attributes n methods.

Disadvantages of other Methodologies Testing n error fixing takes a very long time. Enhancements are based on user feedback n usage. Collecting this information is a cumbersome process. Usability issues are not given enough importance because of lack of information. Optimization is difficult because of inadequate information.

What is MLAP? In MLAP, a program encodes information about itself i.e. it is aware of its own design. It is a natural consequence of the Object Oriented Methodology wherein real-life objects are represented as classes. In MLAP, each class is also aware of its construction n purpose. This is an effort to take programming to a higher level wherein the program can fix its errors on its own n provide a better user experience i.e. minor defects r fixed by the program n the program helps a user make the best use of the application n runs based on the user’s preferences.

MLAP- An Example class A { private: attribute1; attribute2; classinfo; //encodes functionality details //of class A public: method1(); method2(); getclassinfo(); //retrieves details of class A };

MLAP- An Example Each class contains information about itself which is encoded as an attribute. This information can be stored in predicates to record functionality.

Design Knowledge Base Expert System for Error Processing n Optimization Application

Design EBL Engine: This will learn how it is used in the execution environment. The engine uses Explanation Based Learning. Domain theory will be specific to the application. Knowledge Base: This will store domain theory n any rules that the EBL generates. ES for Error Processing n Optimization: This can be added for real-time error processing n fixing.

Advantages Error fixing: Recording error info (steps traversed at the time of the error, point in code where error took place), real-time error processing will reduce time required to fix defects immensely. Functionality/design enhancements: Recording code coverage n class usage for optimization n accurate error information will speed up development of new releases.

Advantages Usability: Various aspects of usage will be recorded by different users for usability studies. Customization based on user preferences: UI preferences,order of functions, batch processing based on user preferences n providing help whenever a user needs it will provide for a better user experience.

Disadvantages Higher memory usage. An enhancement to a Basic implementation. Higher costs. Performance overhead due to additional functions.

Scope Project is still in its implementation stage. The idea is to build an EBL engine with a knowledge base to support the application. An expert system shell can be developed at a later stage for error processing.

Conclusion In MLAP, a program encodes information about itself n can enhance its own performance. It can improve n speed up the process of error fixing. It is aware of its functionality n design and works towards its enhancement. It can provide a better user experience.

References Artificial Intelligence-”Nilsson” Expert Systems-”Peter Jackson”