Skip to content
#ML

Enhancing Software Design and Developer Experience Via LLMs (Category ML)

#ML #AI #Software

People sometimes ask me why I read whitepapers from big tech companies. I often say they rarely disappoint in terms of quality. But then I decided to give a chance to another article.Enhancing Software Design and Developer Experience Via LLMs"ASE"24: Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering"

The abstract of the article sounds good. Initial attention is paid to the ability of models to understand high-level design concepts Subsequently, the study moves to the advanced generation of software artifacts At the end, methods specific to an organization or task are introduced to improve the productivity and experience of software developers. But if you read on, it seems that the article itself was written by LLM:) And from the entire research plan, only an overview of how LLMs work for code generation is made.

And then I'll tell you the details.

In the introduction, it is said that now LLMs usually give tips after commits, and I would like to give them either in the early stages or in the runtime. To do this, the author says that creating software is not only about writing code and there are a lot of CI / CD steps. So the study plan looks like this.

  1. Understand LLM - How LLMs handle code and natural language
  2. LLM for software design (Plan-Code-Build-Test)where the author has identified phases
  • Post commit. Identify problems and provide solutions
  • Pre-commit. Predict problems
  • Line level suggestion. Predict problems & provide hints while developers are working
  1. ML Plugin. Develop a framework that can provide ML hints to developers
  2. Generalize the framework. Apply the framework in other software development processes

Interestingly, the author focuses on using logs in his predictions.

This project aims to advance the analysis and utilization of logs geneated during software development and testing. By implementing real-time log analysis and auto-suggestion features, the research seeks to improve the post-test phase and provide actionable insights for future testing, simulation, and maintenance activities

In the second part of the article, the author tells the database about transformers, as well as a review of other articles that investigated the effectiveness of LLMs in software development.

In the third part, the author reveals the maps and tells about the model he plans to use ... and it is excavated. ~~stewardess~~or rather methodology Model-Driven Architecture (MDA) From Object Management Group straight from the beginning of the two thousandth. The methodology itself involves three steps.

  1. Creating a Platform-Independent Model (PIM)
  2. Converting PIM to Platform-Specific Model (PSM)
  3. Next, generate code for execution

The author of the study seeks to provide solutions specific to the organization or tasks, adapted to the different contexts of the company, as well as a structure capable of generalizing these solutions for wider application in the software industry. To achieve this, the author plans to first develop a domain-based PIM and then a PSM that reflects the specific settings and requirements of different companies. Subsequently, you can improve the initial PIM based on feedback from the PSM, thereby creating a standardized architectural structure that can be used in future projects within a specific domain.

In the fourth part of the article, Auto talks about how the models for the PSM will be evaluated, where computational experiments are supposed to be conducted for preprocessing data and assessing the design and learning process of the model. This includes faintuning models and comparing their performance with other proposed models.

In the fifth part, the author says that only an overview of the use of LLM when writing code is ready:)

P.S. As a result, we have a whitepaper-level coursework student that he generated along with the GPT-4 For a couple of evenings, the review is normal, and everything else is planned:)

#AI #ML #Software