Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create an API for Pipeline creation #172

Open
coderustic opened this issue Oct 5, 2024 · 1 comment
Open

Create an API for Pipeline creation #172

coderustic opened this issue Oct 5, 2024 · 1 comment
Labels
enhancement New feature or request platform Underlying platform (code) changes refactor Refactoring the code to make it better

Comments

@coderustic
Copy link
Contributor

coderustic commented Oct 5, 2024

When you look at the CoverAgent + UnitTestGenerator, there is a sequence of steps composed into a Pipeline. We should expose an ability to build the pipeline by composing the stages of the pipeline and run via CoverAgent.

Having an API enables fast experimentation for building different strategies for eg: should we include natural language comprehension of the code vs the actual code snippet.

Having an API enables programmatic approach for users to build their own custom agent rather than dealing with a complex combination of configuration options.

To keep up with the research and enable fast experimentation of different strategies, so cover-agent could become a framework for any one to do fast experiments to decide which pipeline makes sense for a particular codebase and then deploy the CI job instead of dealing with config options.

Abstracting into different interfaces means we can compose different strategies and build a pipeline

  1. Should I include natural language comprehension?
  2. Should I include code features? Focal method, focal class features - constructors, other methods, class definitions of arguments of focal method etc
  3. Is there a tool that can help easily figure out dependencies of focal method and extract code features of dependencies instead of user choosing them via --include-additional–files

While this issue is only for enabling Pipeline creation API, enabling NL comprehension or adding Code features could be different issues.

@coderustic
Copy link
Contributor Author

Looking at this latest evaluation of unit test generation, it can be easier to build different combination of strategies between -

  1. Prompt design
    a) To have NL comprehension vs. Code snippets
    b) To include code features and which features provides better results?
  2. Incontext learning - Choosing between CoT vs. RAG

While cover-agent continues to be a command line tool, splitting the CLI interface from a API interface could help expose the Pipeline aspects to CLI as well as it also enables anyone to build their own strategy.

@EmbeddedDevops1 EmbeddedDevops1 added refactor Refactoring the code to make it better enhancement New feature or request platform Underlying platform (code) changes labels Oct 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request platform Underlying platform (code) changes refactor Refactoring the code to make it better
Projects
Status: No status
Development

No branches or pull requests

2 participants