1 / 15

A Machine Learning Approach to Programming

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.

truman
Download Presentation

A Machine Learning Approach to Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Machine Learning Approach to Programming

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

  3. 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.

  4. 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.

  5. 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.

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

  7. 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.

  8. Design

  9. 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.

  10. 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.

  11. 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.

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

  13. 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.

  14. 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.

  15. References • Artificial Intelligence-”Nilsson” • Expert Systems-”Peter Jackson”

More Related