Qodo (formerly CodiumAI)
p/codiumai
Quality-first code generation to write, test & review code
Ben Lang
CodiumAI — Generating meaningful tests for busy devs
Featured
122
CodiumAI analyzes your Python, JS, or TS code and generates meaningful tests to catch bugs before you ship. With CodiumAI, you can easily and quickly generate comprehensive test suites that help you ensure the reliability and correctness of your software.
Replies
Shai Geva
Hey guys, I'm with the CodiumAI team, I made a few videos to introduce some of our features. Just a taste of what CodiumAI can do :) Basic showcase: https://www.loom.com/share/658d0... Basic configuration options: https://www.loom.com/share/22f2d... Reference tests: https://www.loom.com/share/a607c...
Itamar Friedman
@shai_g thanks! Great share! One of our users also created a video showing with an excellent example of using CodiumAI to generate tests for the Gilded Rose kata (typescript):
Itamar Friedman
Hello Product Hunt ! 🚀 I'm thrilled to announce the launch of CodiumAI [beta], an innovative solution to generate component testing of your Python, JS, or TS code. 🧪 Testing your code is important. Aside from catching bugs, it gives you valuable insight into your code, and lets you know you’re coding with a purpose. 🌰 But writing non-trivial test cases is tedious, frustrating, and time consuming. And when bugs still pop up, it can be hard to figure out how you missed that edge case. In retrospect, it’s so obvious! 🤝 As devs, we get it. And that’s why we made CodiumAI. As a veteran developer and R&D manager, I'm excited to present this powerful tool that can generate comprehensive test suites for your software quickly and easily, within your IDE. ✅ CodiumAI generates meaningful tests. Tests that actually check the functionality of your code – and suggests them right inside your IDE, as you type. It does this by analyzing and deeply understanding your code, docstrings, and comments, and by interacting with you, the dev. So if you want code that functions like you meant it to, get CodiumAI for meaningful test generation. Try CodiumAI today! You can find CodiumAI / TestGPT in VS Code or JetBrain marketplace. 🙏 We greatly value your input and take all feedback into consideration as we aim to deliver the best possible solution for your software testing needs. Please drop your comments and questions below, we'll be here all day and are excited to hear from you! Itamar, the CEO and Co-founder of CodiumAI
Dean Šoć
@maritamar Is Java somewhere in the pipeline?
Itamar Friedman
@dean_soc , definitely. Probably next in line. Although, recently, on our discord server we got more requests for Ruby..
Ben Lang
Top Product
Hunter
📌
Congrats Itamar and team on the launch!
Itamar Friedman
@benln , thank you Ben! We are lucky to have such an excellent Hunter! We are just Gathering feedback here :)
Uri Eliabayev
Great job! definitely going to help many developers.
Itamar Friedman
@urieli17 , thanks Uri. It means a lot to us to hear this from you! We are looking forward to getting feedback from as many developers as possible -- the best way to learn what works well and want not, and what we can improve.
Eddie Forson
Congrats on the launch! This looks super useful as we have a growing Python codebase and I'm not always doing the best job when it comes to writing tests due to lack of time... Have installed Codium and will give it a go 👌🏿 What are the next steps for this project?
Tal Ridnik
@ed_forson Hi Eddie. In a week or two, we plan to upgrade the Pycharm GUI, and add capabilities that are currently only in our VS-Code extension. For example, auto-mocks, example input, example test, give-me-more,... So if you are a Python-PyCharm user, stay tuned :-) Under the hood, a lot is going on. We will definitely continue to improve the quality of our tests, enable them to have a larger context, and add capabilities and features.
Almog Lavi
@ed_forson Thank you, Eddie! I hope our product will benefit you. Next, we are planning to support more languages, and more IDEs, we will, of course, keep improving the test results (getting feedback from users will certainly help!) and we are planning to add Team's plan with more advanced capabilities. I invite you to register for our newsletter and stay tuned https://www.codium.ai/#home-wait 🌻
Itamar Friedman
@ed_forson , thank you for asking! 1> We wish to make sure that almost any type of code (different frameworks, different languages) is well supported by CodiumAI. 2> We want to improve our UX/UI according to feedback we hear from our dear users. These are the top urgent items in the roadmap. In our seed funding announcement, we share a longer roadmap of our plans! https://www.codium.ai/blog/codiu...
Salil Sethi
@maritamar - Congrats on the launch! It is exciting to see AI-driven test generation. Can you share more about how CodiumAI handles edge cases and unique scenarios that might not be immediately obvious from the code, docstrings, or comments?
Itamar Friedman
@salil_sethi , thank you! With CodiumAI, which is already available in VS Code for example: 1) The algorithm runs in an iterative process, like a chain of thoughts, aiming to think about happy/general cases as well as edge cases. You will see a tag in the test case description. 2) CodiumAI various interfaces enable the developer to advise the algorithm by providing input data (e.g. input for class parameters), test examples, or general instructions. With these interfaces, the developer can steer CodiumAI to generate more edge cases. Check it out, and let us know what you think! In the future, we will integrate with various additional sources of data, e.g. to Jira.
Nevo Alva
This is really awesome. I'll let our team try it and let you know how it went. Can you share some results so far? like do devs trust this?
hussam lawen
@nevoalva Hi Nevo, Thank you for your question. We constantly benchmark on HumanEval Test Generation Task among other benchmarks internal benchmarks. On HumanEval Test Generation, CodiumAI's TestGPT delivers tests with higher Branch Coverage compared to simple Test completion with GPT3.5-Turbo (97.3% vs 92%) and a higher test pass rate of 97% vs 61%.
Mehdi Rifai
Congrats Codium team! Testing code is very tedious and absolutely necessary. Simplifying the process reducing the time to deploy code in production is a real need in every start up out there.🔥
Itamar Friedman
@mehdi_rifai , wow, I really appreciate your message, it exactly describes what we are trying to help with. Please do send over any additional feedback and suggestions, thank you!
Tal Peretz
Amazing stuff guys! taking off the hassle of actually writing tests (and way more). love it. @maritamar
Itamar Friedman
@tal_peretz , thank you!! Exactly! Enough with hating tests, it is time to love code logic testing. Well, it was quite frustrating to write component tests, but with CodiumAI the process becomes interactive and pleasant. And we just started, more features and capabilities around the corner :)
Jonathan Haim Fishner
Looks promising will give it a look 👀 I love the launch 🚀
Itamar Friedman
@jonathan_haim_fishner , thank you! Please do let us know what you think! We would love to hear your feedback and suggestions.
Ehud b
Good luck!
Itamar Friedman
@ehudbasis , thank you! Feel free to share any suggestion or feedback!
Jim Engine
Congratulations @maritamar on launching Codium! 🎉 It seems like an amazing tool that can help busy developers generate meaningful tests effortlessly. I love the idea of getting non-trivial tests suggested right inside the IDE, making it easier for developers to code smart, create more value and stay confident when pushing their code. The fact that Codium analyzes code, docstring, and comments, and interacts with you to suggest tests is really impressive. It's great to see that it provides full visibility of how the code behaves and how the changes affect the rest of the code. And by the way, I like the landing page.💪
Itamar Friedman
@officialexaking , thank you Jim! We hope to meet your expectations, let us know about anything you have in mind: suggestions, issues, requests..
Ran Ribenzaft
Congrats team! Looks super promising 🎉🚀
Itamar Friedman
@ranrib , thanks Ran! We hope that already with our beta version, developers can generate meaningful tests right inside their IDE with much less frustration than before. Some alpha release users even said that some generated tests felt magical for them. But we defiantly have a long way to go, we are just starting!
Max
Congrats on launch! Do you use ChatGPT/GPT3 or your own model?
Itamar Friedman
@realmaxrush , thank you! We work closely with our partner OpenAI. Our system and model TestGPT-1 is based on a combination of gpt-3.5-turbo (a.k.a ChatGPT-Turbo) and GPT-4. We will share more technical details later this year, when we release TestGPT-2
Ron Fybish
Love it 😍
Itamar Friedman
@ron_fybish1 , thank you! Happy to hear! We would love to hear any feedback or suggestion!
Khrystsina Trusava
This sounds cool, the tool helps eliminate human error and reduces overhead :)
Dedy Kredo
Thanks @khrystsina_trusava ! Those are exactly our goals - make developers' lives easier, and happier :-)
Itamar Friedman
@khrystsina_trusava , we also think it is cool, we use it ourselves on our own code :) Worth mentioning -- CodiumAI is an interactive tool, it is like your personal agent that collaborates with you the developer to eliminate bugs and enable you to code with confidence.
Anil Matcha
Writing tests is a painful problem for us devs. Generating it via AI will be very useful
Itamar Friedman
@matcha_anil , definitely ! It could even be fun. I just tried giving CodiumAI this general instruction: "Add funny, pirate-like, docstrings. Make them different for each test." and got this test: >>> # Tests that a call is dispatched to an available operator. tags: [happy path] def test_dispatch_call_to_operator(self): """ Ahoy matey! Let's test if a call can be dispatched to an available operator. If there be an operator available, the call should be taken and the test should pass with flying colors! """ operator1 = Operator(1, "Jack Sparrow") operator2 = Operator(2, "Blackbeard") call = Call(Rank.OPERATOR) call_center = CallCenter([operator1, operator2], [], []) call_center.dispatch_call(call) assert call.employee == operator1 or call.employee == operator2
Ankur Singh
Congrats on the launch, all the best!!
Itamar Friedman
@singh_ankur thank you! Really any suggestion or feedback is welcome. We are hear to listen and learn.
Inderpreet Singh
This is great. Congratulations 🎊
Itamar Friedman
@inderpreet_singh1 , wow, I am happy to hear this. Let us know if you are missing any feature
Gil Dabah
Awesome! Can’t wait for my team to use it, I am sure it’s gonna help productivity!
Dedy Kredo
Thanks a lot @gil_dabah. Exciting times! Let us know your feedback :)