a machine learning approach to programming. agenda overview of current methodologies. disadvantages...
TRANSCRIPT
![Page 1: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/1.jpg)
A Machine Learning Approach to A Machine Learning Approach to ProgrammingProgramming
![Page 2: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/2.jpg)
AgendaAgenda
Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP: An example. MLAP: Design MLAP: Advantages/Disadvantages Scope Conclusion
![Page 3: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/3.jpg)
Overview of software methodologiesOverview 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.
![Page 4: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/4.jpg)
Disadvantages of other MethodologiesDisadvantages 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.
![Page 5: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/5.jpg)
What is MLAP?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.
![Page 6: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/6.jpg)
MLAP- An ExampleMLAP- An Example
class A{ private: attribute1; attribute2; classinfo; //encodes functionality details
//of class A public: method1(); method2(); getclassinfo(); //retrieves details of class A};
![Page 7: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/7.jpg)
MLAP- An ExampleMLAP- An Example
Each class contains information about itself which is encoded as an attribute.
This information can be stored in predicates to record functionality.
![Page 8: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/8.jpg)
DesignDesign
EBL Engine
Subsystem Subsystem Subsystem
Knowledge BaseExpert System for Error
Processing n Optimization
Application
![Page 9: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/9.jpg)
DesignDesign
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.
![Page 10: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/10.jpg)
AdvantagesAdvantages
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.
![Page 11: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/11.jpg)
AdvantagesAdvantages
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.
![Page 12: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/12.jpg)
DisadvantagesDisadvantages
Higher memory usage.
An enhancement to a Basic implementation.
Higher costs.
Performance overhead due to additional functions.
![Page 13: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/13.jpg)
ScopeScope
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.
![Page 14: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/14.jpg)
ConclusionConclusion
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.
![Page 15: A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f2b5503460f94c45d04/html5/thumbnails/15.jpg)
ReferencesReferences
Artificial Intelligence-”Nilsson”
Expert Systems-”Peter Jackson”