I. INTRODUCTION  
II. EXISTING WORKS AND THE SURVEY STRUCTURE  
III. PRELIMINARIES  
IV. REQUIREMENT ENGINEERING AND DOCUMENTATION  
V. CODE GENERATION AND SOFTWARE DEVELOPMENT  
VI. AUTONOMOUS LEARNING AND DECISION MAKING  
VII. SOFTWARE DESIGN AND EVALUATION  
VIII. SOFTWARE TEST GENERATION  
IX. SOFTWARE SECURITY AND MAINTENANCE  
X. DISCUSSION  
XI. CONCLUSION  