Video: COBOL in the Age of AI: Meet Rocket® Visual COBOL® 12.0 | Duration: 4245s | Summary: COBOL in the Age of AI: Meet Rocket® Visual COBOL® 12.0 | Chapters: Welcome and Introduction (1.52s), Session Housekeeping (66.485s), Community and Team Introduction (162.22s), AI in COBOL (326.535s), PHP Security Update (497.82s), AI for COBOL (623.295s), AI Planning Tools (1251.85s), Modern COBOL Coding (1607.275s), AI Result Checking (2266.595s), AI Unit Testing Demo (2394.87s), Unit Testing Overview (2463.355s), Testing Tool Demo (2572.535s), Prioritizing Test Coverage (3139.475s), Q&A and Wrap-Up (3247.605s)
Transcript for "COBOL in the Age of AI: Meet Rocket® Visual COBOL® 12.0":
Hello. Hello, everyone. How's it going? Welcome to our today's session about COBOL in the age of AI and our presentation of brand new RocketSoftware Visual COBOL 12 panel. As a little tradition, let us know if you can hear me, if you can see the slides clearly, and where are you joining from. That would be amazing. So we can see that everything is working, chat is working, and we can start our webinar today. From Belgium. That's really, really nice. From Germany. Oh my gosh. Someone from Brazil. That's a long way. Bedford, Cincinnati, Oklahoma. We have a really, really global audience days. Thank you everyone for joining us today. We have a really packed and interesting agenda for you, and we are excited to present you RocketSoftware Visual Global 12 title. Okay. I see that everything is working. Thanks so much for your feedback, and we can start. We'll dedicate some time for housekeeping, and then we will continue with our main topic of today. So a few things before we start. The first thing is we will be recording today's session, and we're gonna share the recording with you this week... Early next week. You're gonna find it on the forum about it a little bit later. And, yeah, let us know your thoughts or feedback when you have any... If you watch the recording. The second thing is that we want the session to be as interactive and as engaging as possible. So you're gonna have three tabs today. Right now, you have two, chat and q and a. So please use the q and a tab for all the questions to our speakers. And if you send the question... A question to the chat, we're gonna forward it to q and a. So if you see that it disappears, don't worry. We saw it, and we're gonna address it in the... At the end of the session today. And then we're gonna have a poll today for you. Just, one simple question, about it a little bit later. So once we're gonna launch it, you will see another tab next to the chat that will say poll. And please go there to leave your response there. And last but not least, at the end of the session, you're gonna have a short post event survey, like five questions with your feedback about the webinar and the demos and everything that we're gonna show you today. Please leave your thoughts and let us know how we're doing. This is how you help us to ensure that these sessions are as valuable and as helpful for you as possible. And then I want to talk about Rocket Software Forum. This is a dedicated space for everything Cobble. We are super excited about how it's growing and how more and more Cobble enthusiasts are using it to share experience, ask questions, ask about the troubles and bugs that they have, and then, you know, using this power of community to help resolve any related topics or questions about Cobo organizations. You can see the QR code on the slide so you can join the forum today. And forum will be the place where we're gonna share the... Today's deck, presentation, and then recording in upcoming days. So make sure to not only join forum, but also subscribes to Rocket Software Visual Cobble, sub forum, and it will be great. Oh, I hope everything is okay with my audio. Today's session, as I said, it's packed. So we're gonna start with agentic development in Cobble, and our vice president of product management, Scot, will talk about how to enable agentic development for Cobble applications and Cobble workflows. Then we're gonna have two demos for our... From our next gen graduates. We're gonna have rocket global roadmap overview, and then we're gonna finish with a quiz based on today's content and live q and a with our team. And speaking of the team, here are the people who are... Were... Were working on Rocket Software Software and our Rocket Software Software modernization products. And we are super excited about the release and all the things that we prepared for you today. And you're gonna hear from Scot Nielsen, our vice president of product management, and Jennifer Osborne, our product management for Rocket Software Software products today. And last thing from my side, this is something we're gonna talk about a little bit later. So this is the last thing from my side about Rocket Software Software and how we react, to the changes in the world. So if if you've seen our previous webinars, we were talking about our mission as modernization without disruption for our customers, like global enterprises all over the world. And now we are presenting a new iteration of our mission as something that reflects our vision and how we see the world of software today. And this is accelerating modernization without disruption powered by AI. And I believe that this whole company mission is aligned with something that we're gonna show you today with Rocket Software global products and how we're enabling modernization without disruption powered by AI. And on that note, I will like to invite Jennifer Osborne, our product management... Product manager to the stage, and she will talk about AI in Cobalt. I see there's a question where am I located. I'm located in Lithuania, Vilnius, Eastern Europe. Hi, Jen. Happy to see you. Hey, Sava. Thank you for having me. Yeah. Thanks so much for joining us today, and, yeah, handing it over to you. Yes. So, first off, we wanted to hear from our our audience and our customers today. So I have a question for everyone. So I've seen you're already very active on the chat, but Greta is just going to post a poll. So if you look in the chat window, there we go. You can see now we've got a new poll for you. So we want to know, are you using AI in your COBOL development today? I'll give you a couple of minutes to add add your answers. So there's answers from, you know, yes, we're doing it. Yes, we're using it to write new code or maybe change or fix some existing code, or maybe maybe you're actually not using it yet. To be honest, if you're not using it, we'd love to know, you know, why not? Is it maybe you don't... You know, your company has maybe blocked it? Maybe you don't have the chance to to try it out. Maybe there's just too much going on in business as usual. Maybe you just don't believe in it. That's completely that's completely valid answer. We'd love to hear. Love to hear from you. But, also, if you are using it, then what are you using? You know, personally, I use a lot of Claude day to day, but I know, I know a lot of people would use Copilot, GitHub Copilot. Maybe maybe there's something else that people would use. And I'd also love to know, if you have tried it on COBOL, how did it go? Were there any any frustrations? Anything maybe unexpected? Did it go really well? We'd love to know. I've seen that we've got quite a few answers coming in already, actually. Thank you so much. Yeah. A couple of people not doing it or, you know, maybe not using so much COBOL or maybe not so much AI and COBOL yet. And we've had a couple of people say, actually, yeah, we're... We are using it. So... Yeah. Thank you so much for your answers. I'm going to invite Scot onto stage here, and then he's going to take you through the rest of the presentation. Hi, Hi, Scot. Jennifer. Thanks for that. Thanks for running us through that. We got some more polls coming. I think everyone can see the answers now themselves. Right? Greta, if you close the poll and, people get to see what the rest of the audience, had said. It's one of the benefits from joining. Here there... Here we go. And I think maybe maybe there was a slight issue with one of the questions there. Looks like a duplicate. But we can see that there's a good range of answers being submitted there, and I think, hopefully, something for everyone in today's session as we go through. So thanks a lot, Jennifer. We'll be hearing from Jennifer a little bit later on. Yeah. Thank, you. Jennifer. There will be a few more, polls coming today, as we go through. Not the formal one, but I'll have a couple of slides, that you can, where there's some questions. And we'd love to hear what your, your answers in the chat. And I think it really helps make these, these, presentations much more engaging. Now just before we get into today's conversation, I just wanna take a brief detour actually to look at what's going on in the wider industry right now. I'm sure everyone's well aware of, the situation around, PHP, and I hope you haven't been personally too impacted by that. I know much of what is still coming to terms with with the impact of it. Being rest assured, as a responsible software vendor, we are ourselves actively looking at our systems, our internal systems, our services that you might be accessing, and, of course, our own software, to understand whether there's any impact, across there. And we will let you know as soon as we possibly can about, any news we find there. So that will be communicated through normal global channels. But if you have a... If you are a customer of RocketSoftware, then please feel free to raise a ticket with support line, and they will keep you connected. But without that, let's come back to, today's topic, for today, about agentic development as, Jennifer alluded to today. And whenever I think about AI, I, and in particular to prepare for today's presentation, I'm reminded of this tweet by a fairly influential person in the world of AI who was remarking on how in the, you know, 2023, suddenly, the most popular programming language became English. Right? And I always think that at the end of this, there could have been a comma, you know, who knew, to which every single person on this webinar today could have responded with, we did. We knew that English was a really popular way to write software because we've been doing it in Rocket Software for many years, and it seems to have taken quite a long time for the world to catch up at just how useful this is. But, you know, what he was talking to is the fact that developers find it far more convenient to use their natural language, whether it's English or Mandarin or Italian or Spanish or French. And then they had a tool that could interpret what they wanted and start to write code for them. And that tool at the beginning was quite novel and quite interesting, and it has turned into something truly, truly capable and highly remarkable. And it is... That really is the topic of conversation for us today about how we're bringing the benefits of that to you and to your businesses. Now we're gonna talk about, what we've built, during today's session and how we've built it, but we're also gonna spend a tiny bit of time talking about why we built it. And the reason for that is that leading up to the presentation today, we had a lot of feedback from various people around the world, a lot of people excited to see what we're doing. It's kind of an annual event with new innovation in in the world of Rocket Software. People have been in our our betas and wanted to see, you know, the GA software. And then you also have, you know, people who are skeptical, a little bit skeptical about AI and its future role in this space. And some even, you know, just thinking maybe this is just another example of someone jumping on the AI bandwagon. Right? And I I get... I understand, you know, the sentiments behind some of those remarks, but that's why I wanted to spend a couple of minutes explaining why we are investing in this area. And I... I'll give you a good reason, for that. In fact, I'll give you 800,000,000,000 good reasons for that. I'm sure you've seen this stat, before. It gets rolled out. It it was written there. It was arrived at a few years ago. Micro Focus did this. And it gets brought out every so often in case anyone forgets just how much COBOL is out there running the world today. It's, enormous amount of code. Now I have my own feelings about how that code base has changed over the years. You know, it's gone up or down or it's about the same. But it's perhaps more interesting for you to think about in your corner of the world, how has your own code base changed here? And so this is another poll perhaps you can participate in. But through the chat, you know, let us know, what your code base is looking like. Now most people actually don't record the total number of lines of code. Right? But... So in which case, think about the number of programs maybe that you've got in your in state. Has it grown? Has it shrunk? Is it about the same? I can see people replying there. Thank you. Really appreciate your engagement. The fact is even, where it may have gone down for some people, I think that the chances are that what is left in your portfolio is still, and what we would say in in in England, a boatload of cobalt or a shed load of COBOL that you're still dealing with, it's very likely still to represent the very largest amount of of code in your codebase. Now the code... Size of the codebase is one thing, but I think a more impactful thing for us to consider is the people who are connected to those applications. And Sava flashed up very quickly a slide earlier on about a roadshow we've been doing for the last couple of years. We've been to many cities all over the world, from Australia all the way to to The UK and and in between. Fantastic. And in each one of those locations, I often meet a person, who's a developer or a manager, responsible for an application. And you realize very quickly that there's a significant number of people that depend on that application. And when I say a significant number, I mean a significant percentage of that country's population depend on that application. And then we find another and another and another, and you realize before too long, there's several applications just in that room that if they failed and didn't... Weren't running as flawlessly as they do, it would be... There would be a lot of drama, in that particular country. In fact, some countries, every single citizen is somehow connected to these applications. And and it's for that reason, I think, when I talk to industry leaders, people who are responsible for these applications or the buck stops with them, They are responsible for their company's reputation, their own reputation, their customers' needs. The one thing that we keep coming back to time and time again is this topic of skills. You know? And we never seem to be able to move away from this as being a big concern. And I... We understand it because the question is who is going to be maintaining these systems and these important applications in a few years' time. Now it's not a new problem, which should tell people something about how serious this is. Right? We've been talking about skills for a long time, and it's and it's also not what it might appear on the surface of things. You know, any COBOL developer will tell you it's not a hard language to learn. Right? It's not that. It's more to do with the perception of COBOL, and it's more to do with the scale of the systems and understanding them. That's more of the challenge when it comes to skills. And when I reflect on kind of the road map that we've been working on in the products for the last fifteen, twenty years and where we spent our engineering resources, I can attribute a lot of what we've done to that general topic of skills. And we've invested in many different ways there across the board from tooling to education and, a lot of things ultimately that are designed to help make COBOL industry standard. You know? So it doesn't feel special that it can integrate with anything else. So you don't necessarily need specialist skills, to maintain it. And I know that has helped enormously when I've spoken to people who onboard new developers. This has made a a really huge difference to them. But we keep coming back to that 800,000,000,000 and the hundreds of millions of people around the world, and it still creates concern. It it it continues to bubble up to the surface. And, unfortunately, it also drives a set of strategies that can come about in certain organizations where the executives feel, I I need a way out of this. And they see AI, and sometimes they think maybe that's my magic wand. I waive that, and I can solve my skills problem by replacing my AI system... My Kovalenko system with somehow with AI... Using AI. Now we're not gonna spend time talking about why that is a challenging path. Let's leave it at that. It's challenging path if that's what you want to do. We're gonna set... Talk about what we're doing, which is where we think a better use case for AI is to help you sustain those systems and be able to manage and maintain and and and extend them moving forward. But not just you. Right? We need far more people helping to work on those systems. We need a bigger resource pool, there. And, really, that is the main reason why we're doing that, to bring more people in and ensure there's continuity of these systems in the in the future. But to do that, we need to achieve this milestone. We need to get to a point where a developer asking and working with AI can get 80% of their job done, the code aspect, writing the code done by AI. It can do that coding effort for them. And I'm curious here again in another poll. How do you feel about that idea? You know, 80 of the code that is being... Can be written by, AI. Are you welcome and open to that idea and bring it on, or you're at the other end of the spectrum where it's like, woah. Hold your horses here. That that sounds scary to me or somewhere in between. Let us know. And if you want to also, let us know how far away do you think those timelines could possibly be. Is it near term, or is it way out? So thank you for... I see people, variety of responses there, which is great, and and I really appreciate you joining in there. But I can tell you, this is what we're setting out to try and help organizations do. And to achieve it, we've got to ensure COBOL, not only can be used in these sort of chat use cases with AI. You know, you can you can even ask Google these days to write you a COBOL program, can't you? And it can do a reasonable job. What what we're really focusing here is on the agentic workflow and where you give the agent a a mission. You give it a goal, and off it goes through its agentic loop where it's planning a series of steps it has to take. It's executing. It's using tools. It's leveraging resources. It's editing files. It's making decisions. And then, eventually, it's checking its results, and it iterates till it thinks it's done when it hands it back to you, the developer, the human in the loop. Or, actually, more increasingly, it hands it off to another agent to do a prereview before it hands it to you to save your valuable time. Right? These are things that we are... We need to solve to ensure that we can kinda get to that 80% milestone. And what we're gonna do today is tell you how far along we are in in achieving that, helping making, to ensure that RocketSoftware can fully participate, in that agentic workflow. And it comes down to these three areas, helping the agent plan what it needs to do, acting on the the task that you've given it, and then checking its results. And we're gonna look at each one of these today, look at the problem, the need, specifically around RocketSoftware, and then we'll do you a little demo. Well, I'm sort of gonna do a demo, but there's two other people, brilliant people who've got coming onto the the stage, later on who will do demos in those areas of act and check. Alright? So we'll talk more about those in a moment. But for now, let me start with the plan piece here. And I think, you know, if you've used, you know, Copilot or indeed any agent to help you working with COBOL programs, if it's a single source file you're working on, you make a a small change. And AI can generally do a pretty reasonable job at that. But one of the challenges that we know is it's very easy to make a change that's seemingly innocuous but can have a ripple effect right across your application. And this is the first challenge we think AI faces is just getting visibility into all those locations. You know, you could change a copy book and so many other files might be impacted. You could change something that affects a screen or a data file or a database. Right? And AI won't necessarily have that knowledge. It it may have some blind spots. So this, we think, is a a vital thing that we're trying to work on right now. And let me tell you what we've been doing in that area. We think the way to remove those blind spots from AI is to give it basically the facts of how the whole application is constructed through deterministic knowledge. Right? We're not wanting AI to make guesses about how things are put together because we know through the tools that we've been developing, you know, for the last several decades, in fact. And if you're familiar with Enterprise Analyzer or Cobalt Analyzer, that is the basis of providing those facts. And, today in this release, actually, we can now point analyzer a git repo. If you've got your source code there, which makes a nice easy way to suck it in or files on disk. Then it goes through its usual process of loading and creating a dependency map. And once that's done, then you have the option of bringing AI into the picture and enriching the repository. And we can use the large language model to add more information to the repository. There's really interesting stuff I'm gonna tell you about in a second. But once it's created, now we can access that repo through classic traditional means that we have. But using the MCP servers that we've created, now we can start connecting, the repo into Visual Studio Code and into GitHub to provide you that context. Now where we are today is that we've completed the chat assistant part of that. Right? I'm gonna show you some examples of that. It's really exciting. What we're working on is getting, that repo into the agentic loop. Alright? And by the time most people pick up this version of the product and try it, I imagine that work would be done at that point and be ready for you to go. But let's take a look at what we can do today as as of GA. And, one of the things that we can have analyzer do, or allow you to do is to start asking questions of the repo in your preferred language, whether it's English or you can see here down here in French. And I'm not gonna embarrass myself trying to pronounce, what that says. But you can ask for a variety of things, you know, from searching the code base through to producing you a code summary and many other things besides. What you don't have to do is operate the user interface. Just use the natural language chat, whether that's in Visual Studio code or within the analyzer itself. Another element of what we can then do when we enrich that repository, as many of you have seen this kind of network of of dependencies, you know, with tools that visualize your application. And when you first see it for the first time, it's like, wow. Look at that. That's my application. And then your jaw jaw drops and you realize, oh my goodness. I didn't realize there were so many dependencies in such tight coupling. It's like, where on earth do I begin? I cannot see the wood for the trees. Right? And we did have a lovely animation here, but we didn't quite keep it in when we loaded it into Goldcast. But turning that network map into a series of domains where you've got programs within a domain, that it makes it a lot easier for you to see the wood for the trees, right, and organize things in a much easier, way for you as a developer to find what you're looking for. Now the last thing I want to show you, and there's many... I had to keep this into just a handful. Right? There's a lot of fantastic things that you can do, through analyzer now, either through Versus Code or the natural language interface. But here's another really interesting one, I think, for the developer. You know, I... It it turns out... And I, you know, I I I definitely hold my hand up as being someone to blame here as well. But when you write code and you have to arrive at, come up with a a name for a data item, for some reason, your mind goes completely blank, and you have no idea what to call it. And you end up coming up with sometimes the most bizarre names, for a field. Given that Sava Kovalenko can have, you know, more than 31 letters, I think, characters in his name, we intend to abbreviate them for some reason. And, you know, it would have made sense to the developer when they first crafted the code, but you drop someone else new into the code. It's like, what on earth were they thinking, and what on earth does that thing actually mean? Well, with that extra information that analyzer has got by augmenting its understanding through the LLM, we can start to actually overlay and augment your code view inside of Visual Studio Code. We're not changing your code. Right? We're augmenting it with extra information, like, what is the real name meaning behind this thing and giving you a descriptor of how it and where it's used and and other information. So you'll see that in Visual Studio Code, for example, if you just put the mouse over a field or something like that. And, you know, hopefully, you know, we're talking a lot about Agintiq, but, hopefully, you see there's some great features in here for the developer who continues to work at the co face, which is certainly gonna be many people for for a little while yet. So there's some great tools coming, from from this element of plan. Alright. So that wasn't really a great demo. I know there's a lot of screenshots and concept. We're now gonna move on to something that has a bit more of a demo associated it... With it because we're gonna look at the act part of the agentic story. And here, if you think about, you know, how models have been trained, originally, the large language models, we know they've used a lot of open source, Java or Python. And despite there being 800,000,000,000 lines of of COBOL code out there, very little of it is in, the, public domain. So I think what COBOL has been used to train these models is probably... Was written in the nineteen eighties. Right? And to be fair, that's probably representative of a lot of COBOL out there, but it is absolutely not representative of what Rocket Software can do. And, we wanna make sure that when you're asking an agent or an MLM to write code for you, it can write it using the modern features and capabilities of the COBOL or what you would have known as Micro Focus COBOL dialect in the past. And to help me do that and help me show that, I'm gonna invite a guest to the stage today who you've not met before. And let me just bring up the slide here. Anush, welcome. anush varma, welcome to the stage. First time here, first time the audience has met you today. Tell us a little bit about yourself. It gives an introduction to what we do here at Rocket Software. Yeah. Sure. So hello, Scott. Hello, everyone, and good morning, good afternoon wherever you are in the world. So I'm anush. I'm a customer solutions engineer at Rocket, and I've been working with Rocket for just over a year now. And what I do, so I usually help customers, help them leverage our products to the best of their ability. Brilliant. Thank you, Anush. Well, welcome to you. Gonna get to a demo in a second with Anush. You might have noticed Anush been in the company just a year, which is interesting, but it is also the sum total of his career in IT because he's not long out of education here. And you might be thinking, well, why why have we put Anush on the stage here for lots of good reasons? Not least of which, we think he's... He and Harry, who you're gonna meet in a minute, are exactly representative of the kind of people that will be coming into your organizations as well and, to... As you do succession planning and things like this. So who better to ask to look at these tools and to see how they help them, you know, write code? By the way, anush and Harry are part of the cohort of over a 150 people that RocketSoftware has hired as part of our next gen program from Australia all the way through to, to The UK. And I've met a lot of them, and they're fantastic people. We're gonna meet two of them today. anush, what what what are you gonna actually show us? Let me move on to the next slide. Just tell us what you're gonna look at today. Yes. So I was tasked to find out how Copilot works out of the box and then how it interacts with our latest version, so version 12. And I was able to demonstrate all of this just under five minutes. So just a quick easy demo showing you all the cool features that version 12 has. Excellent. Alright. Well, let's take a closer look then, shall we? Greta, Yeah. let's see the demo, please. Okay. So let's start the demo. So here I am in Visual Studio code, and I've got my Copilot chat window on the right side here. So what I wanted to find out was what can Copilot produce straight out of the box, so without any interference. So I've given a very simple prompt here of can it create a cobalt program which converts Fahrenheit to Celsius and vice versa. So we can look at the code that it's produced and here we can see it's all in uppercase. I scroll down a bit. We can see it's using numbered sections, and it's even got some magic numbers. So this is what our typical COBOL program looks like. You may be familiar with it, but there's quite a lot to be improved upon. So here I am in another workspace, but now I've got version 12 installed, and I've got the extension enabled. So I've given the exact same prompt to Copilot, So create a RocketSoftware global program, which converts Fahrenheit to Celsius. And instantly, we can see the code has changed drastically. So we've got RocketSoftware specific dialect usage. So set source format variable, and it's also all in lowercase. So what this directive does, it allows us to go past our fixed column lengths of 72. If we scroll down, we can see we've got usage of type defs. We've got declare statements, so local variables, and even a parameterized section here. So we can see that Copilot now has access to our RocketSoftware syntax. But can it leverage some of our external tooling as well? To show to show that, here, I've got another workspace. So hang... I've now given Copilot a different prompt of asking it, can it produce me a program that writes a JSON file? So here, it's also still all in lowercase, and it's use a set source format variable as well. So we scroll down. We can see it's used the JSON generate function as well. So how is Copilot using all of these different tooling? So if I go into my chat window here, we can go into our history and click the complete the steps. We can see a little MCP icon, and it's around something called Cobalt doc search. So here, it's utilizing our RocketSoftware Cobalt documentation and the MCP server. So what it's done here, it's asked a question about JSON generate, and our documentation has responded with the invalid and verified documentation. So now Copilot can create and produce verified code with our documentation and use it as context. Additionally, if you want to verify that you've got the MCP tools enabled, we can go into our chat window here and click the configure tools button. And if we scroll, we can see something here called RocketSoftware global documentation and RocketSoftware global language server. These are both checked. Additionally, in my workspace here, I've also got some skills being used. So a skill is just a regular skill, MD file or markdown file. So inside here is just your coding preference. So here, I want to leverage my coding preference, which is leaning towards RocketSoftware syntax and dialect. So if I scroll down, we can see some of my preferred coding style. So I want everything in lowercase. I want to use variable four, source format, and some more modern syntax as well. And I've even provided some good and bad codings and samples. So that's good and all. Let's go back to our original demo. So the original code we had was all in uppercase here. And let's try to make this a bit more better and improve on Homet. So what I've done here is I just asked Copilot, can you refactor my code to remove some magic numbers? So it's done here. What it's done here is it's gone through the file, seen what magic numbers there are, and added those adjustments. So it's removed them and added reasonable named variables. So this is a good first step into refactoring our code, but we can take this a bit further as well. So I've gone into another, workspace. Here, I've just asked it to refactor my code with parameterized sections. So if I scroll down, it's changed the sections that are repetitively called and added a parameterized section. So here. So now it's using a Fahrenheit as a variable and passing that and returning different variables as well. So I'm hoping you're able to see what we can leverage with Copilot and our Rocket tooling now, and I'm hoping you're able to use these in your workflow as well. Thank you. Alright. I think that is us back. And are you still there with us, Anush? I can just see, Yep. an icon for you at the moment, but I, can hear you. There we. go. Brilliant. Thanks. You crammed an awful lot in in, five minutes there, and covered a range of the features. I know you had to crop out the kinda Copilot interactions because they just take time, but you walked us through them, which was great. One of the things I noticed is you showed us the skills file there, and we know it's just a regular markdown file, and it's kinda got instructions there to help Copilot do its job and connect to the MCP servers and things like that. There's quite a lot of information there. Do you have to... Did you have to write all of that yourself? So luckily, I didn't. In version 12, we do provide some premade templates that can help Copilot leverage our tooling. So all I did was just use the premade skills and customize them to my preference as well. So I leaned towards the rocket co... Rocket dialect and features. So I just edited my markdown, added some extra features, and added some restrictions as well. Brilliant. Right. So it's a... It... We provide those, templates, Yeah. and it's a great way of actually customizing the output, which in your case, you went all in on, modern Rocket Software COBOL syntax. But. people may have coding standards, and they can apply those in the skills files themselves. Great. The other thing I would... I noticed... It was really great you showed the refactoring tools as well because that is a great way of helping people deal with technical debts, you know, that mounts up. And, you know, we know a lot of people don't like to to do that, but now we've got, you know, to to change existing code. But now we've got tools there to help do that and tools that can leverage modern Rocket Software global dialect. But let me ask you this, Anush. Have you ever heard of this adage, don't fix what isn't broken? And so what do you have to say about that? Because people still be concerned that if they make these changes, even though it's a, you know, it's a good tool, that something untoward might happen. Yeah. So I think that's a quite common adage. And, yeah, I've definitely heard of it. So when it comes to refactoring, I believe it's extremely important to test whatever code changes you make. So I don't wanna get into too much detail because I think someone else will be telling you a bit more about that. Indeed, they will be. In fact, it's actually a perfect segue. That's a a a great way to lead into the... Our next guest in just a second. But, anush, thanks very much. I'm sure we'll be seeing you again. We'll see you later for. q and a anyway. So you. Thanks for having me. go far. Thank you. Alright. Well, let's get on to then that final part of the agentic workflow, which is about enabling AI to check its results. And that's not just, you know, checking that the code compiles, but actually checking that the functionality is added is doing what it expected it to do. And, of course, that's not like you can fire up your whole application to do that and check it, although that is certainly a step you will want to take. It needs to be able to target it at exactly the code changes it made. And this is a vital element in the Injective workflow really working for you. And to take us through that, I am going to now introduce our next guest to the stage, and that is Harry Morley. Hello, Harry. How are you? Thanks? for coming. I'm good. Yes. So you. thank you. You're very welcome. So tell us a little bit about yourself, before we begin. Yeah. So, I am also a customer solutions engineer just like anush. I joined again last year with the NextGen program, and I'm based in The UK, in Newbury where a lot of our development teams are based. So... Yeah. You and I have spoken before, and I happen to know you did quite an interesting degree, actually. Tell me about that quickly. Yeah. So I studied cybersecurity and forensic computing. Right. Really interesting. And, you know, well, maybe we could talk about that, another time. But I think your your... What's interesting about it is you you you weren't doing a a complete software engineering degree, but you did do some development, of course, in that. Yeah. And I think, it... What's interesting about this is that we see people coming into working in RocketSoftware from all walks of life and in your case you know it's adjacent but in many other cases like our our very own Jennifer Osborne at the beginning came from a completely different background in fact non technical background so we see that a lot and I could say I don't think that is easy so easy to do outside of the world of RocketSoftware. So I think it's another feather in the cap for RocketSoftware. But tell me, Harry, back to your circumstances. When you were learning to write code, did they teach you about writing tests? No. They did not. I kind of had a very surface level understanding of testing before, but not the intricacies of the the different definitions and things like that. Right. So this is a really interesting area for you to get into in that case. The whole. idea of it, notion of it, let alone what it's all about. So... Alright. Tell us in that case, what were what were you setting out to do? What are you gonna show us today? Yeah. So I'm gonna show you, the, Visual Studio code extension that we have for AI unit testing. Inside of that, I'm gonna show you how to generate a test plan from a given, you know, any source program. We're gonna rank, some critical sections so we can get to know where to start testing if we don't know where to before. We're then gonna generate a small test suite, about 10 tests, run them, and then after all that, we'll show you, how to get some tips on how to make your program a little bit more testable. Alright. Might take a bit more than five minutes. anush took this one by the sound of things, but it's all good. Yes. Absolutely. Alright. Where do we where do we wanna get started? Yeah. So first off, we wanna kind of define exactly what we mean by unit test. So there... There's a lot of different varieties, in the testing world. We see with COBOL, a lot of the focus is around user acceptance, system testing, maybe integration tests. Some of these are run manually. Those that are run thematically, they tend to drive the the program from the outside rather than, harnessing the individual sections and paragraphs. In, development with other languages like Java or Python, there's a big focus on unit testing. We'll speak about exactly what unit testing is in a second, but it's... There's an expectation that when you're writing code, you generate the test with it, so you're picking up bugs early. Alright. Yeah. So kind of what is unit testing in the context of COBOL? We like to think of it as testing an individual section or paragraph. So you're, you know, I guess, separating your program into separate functions, so that'll be your sections, and being able to test those without, your dependencies such as databases and things like that. You're only testing the logic within that section. And, it's been quite hard to do that to date, I think with most global applications, hasn't it? Alright. So should we see this demo in action then? Yeah. Let's, Absolutely. thank you. Let's fire away, Greta. So here's an example. This is an amortization calculator, so it takes in a principal balance, a loan term, and an interest rate. It then calculates your interest payments and then prints it out in a nice table. Now these are quite important numbers to get right, so I would like to start unit testing, but I'm not really sure what the most critical paragraphs are in this, program. So I'm gonna ask the unit testing assistant to create me a test plan and then rank the critical sections in the program. So here, I'm in Rocket Copilot invoking the testing assistant with the test plan, tool and then asking it to give me a ranking inside of it. So if I let that go, it's then gonna ask me which section it should analyze. As I would like to do the whole program, I'm gonna do the procedure division, so I press enter, and then that's gonna start generating. Now I generated one of these earlier, and it should look something like this. Now at the top of the program or the, test plan, we have the program overview. So this gives us an idea of what the program flow is, the main kind of, point of the program. Underneath it here, we have which testing framework it recommends we use. So we have the RocketSoftware COBOL unit testing framework. And then if we scroll down, we have our, paragraph priority ranking. We can see at the top here, we have calc payment is our highest priority with a high criticality, and then this is the reason why. We'll get to that in a little bit when we go to create our actual test suite. Underneath here is a really nice feature where it's identified some bugs and concerns for us already. So before we've even tested anything, we can go back and start fixing some bugs, so we don't need to spend any more time, generating unit tests, although that is important. Underneath that, we have test setup. So we'll speak about, this a bit more later, but this is about testability. So that is defined as, how easily testable your program is. So, you know, if certain sections are directly callable by test, so you can get a higher test coverage. But, again, like I said, we'll speak about that a bit more in detail later. Underneath that, we have some example test cases. So as we created this test plan from the procedure division, it's gonna give us some example test cases for every section in the program, not just one specific one. But it's gonna try and give us a good range of test cases, to test as much as possible. So if we just scroll down, you'll see it's given us about 10 or 12. And then, lastly, there's some areas for special attention. This is just kind of the most important things the test plan has picked up, but this tends to be, you know, which test we should focus on, and some, you know, things like that. So if we scroll up to the top, we can see again calc payment is our highest priority, so let's go find that in the code. Here it is. So as we can see, this is doing a relatively complex calculation. It may be hard to debug it manually and find an expected result. So I'm gonna create a suite of 10 tests, to, you know, get us started. So this is my prompt. So, again, we're invoking the testing assistant with the tests, tool this time. We're also specifying that we would like to use the calc payment paragraph. So instead of leaving that blank and having to select it manually, we can, have that automatically selected for us. And we're gonna create 10 tests. Now that's just an arbitrary number. We can do any amount, but I think 10 is a good baseline. Here we're just describing the expected behavior of the section and then the format we would like the tests, to be. So if we have a specific standard, it can fit around that. So if we get it going, it's gonna start generating again. Now this takes quite a while. So again, I've pregenerated this for us. If I just close that and then come to here. And once it's generated, it's gonna look something like this. If we scroll to the top, we have a big comment, describing what the file is, where it's gonna, test from, and then the amount of tests, and then we can start to see our test. It's taken the formatted or format we specified, so it's numbered it, nice and clearly. It's described what the test is testing, and then it's given us some clear section names, to see what each of them do. As you can also see, it's given us everything we need for a test. So we've got our data set up and our test body here. So we don't need to change anything. We can just compile it and run straight away. If we start scrolling down, we can see the other tests. We'll start to see that it's given us a good range of test cases. Also, some tests are gonna be testing the bounds of the inputs. So it's a good wide range of different, things to look at. Now if you were to specify any number, it... It's gonna try and spread these test cases for the widest possible coverage. So you'll get some that's testing, input bounds, some that's testing actual calculations, edge cases, things like that. But, again, 10 is just a good number to see that range clearly. So here you go. We have number 10 here. If I want to run these tests, we have a setup test, tool. I've already done that, for us in the interest of time. So to run them, I can click this testing icon here inside the IDE and click this play button. And after a few seconds, we'll see the results. Now, unfortunately, we've had some fail. And if we want to see which ones have failed and why, we can just click on them, and it's gonna give us the expected result and then actually what we got here, which is nice, easy to debug. We can just click through and navigate through all of them, and that's, you know, nice in my opinion. So we've successfully tested our program. But as I mentioned earlier and we saw in our test plan, we had some improvements we could make to testability. If we want to see these in line, we can click this eye icon up here, which brings up the testing assistant, and we can ask for testing assistance. We click here. It's gonna analyze our entire program and give us some suggestions on how to make this more testable. Now these suggestions will typically be, putting program logic into sections so it's direct... Directly callable or separating business logic from display logic so it's, easier to separate them. We can also have, input separated from business logic So then, we can easily, test the business logic without having to spoof inputs. So here's an example. We can hover over the suggestion and see a more detailed, look at it. We have the reason why, it's given us this suggestion and some example code. Now that's quite nice if we wanted to implement it ourselves, but we could do this automatically. If we press control period, it'll give us a quick fix. If we click it here, it's gonna give us an automatic prompt inside of Copilot that if we let it, start generating, it will implement this fix for us automatically. So that concludes a very, very quick look at the, unit testing tool in, Visual COBOL. I hope you enjoyed, and thank you for watching. Alright. Thank you, Harry. I know you're coming back online there quick, you said, but very, very comprehensive and, covering many different aspects of the toolset. We ran this at the... In beta, by the way, prior to the launch, and I've never seen such a participation in the beta before. We had over 500 different people joining various, webinars about this and then, more than a 100 people moving into the beta participation itself. So I'm really glad that we're now GA. Great overview for us, Harry, because this kind of thing is is... Previously, it was very difficult to do in Copol, and we developed these tools to help people target individual sections of code and mock out any dependencies, which was a great step. But to build up a bank of tests quickly, it's still, you know, it's still a heavy lift for a lot of people. And now we can bring AI to help solve that problem, which which you just demonstrated there. I know you picked... Arbitrarily picked 10, but, you know, you can get... As as you showed, you can get AI to exercise all these different profiles, even spot some bugs, didn't you, in there? Heaven forbid in in, and then produce test based on those, and, of course, you can customize them. So really great demo. I wanted to ask you a question about prioritizing where you get started because you were looking at a single program, and you had one section in there which clearly was the most important thing to test, the thing that calculates the interest payments. What if you're looking at a 100 or a thousand or 10,000 programs in your portfolio? When have you get started? Any advice? Yeah. So there are many different, methods you could use, but, I think a good one is, as you mentioned, analyzer, earlier, you can generate various complexity or, change frequency analysis reports. Those... So these will look at your code and see what is changing the most, what's being updated, and, how complex each program is. So, typically, you're looking to start testing at the most complex, program or section and the section that is changing the most. So, you know, that's probably the most high value. And, yeah, like I said, you can grab those from analyzer, which I think is quite useful. Super. Alright. Thanks a lot for your time today. Hang around. Don't disappear. We might have some questions for you later on. Thanks, Harry. Cool. Thank you. Alright. We're just sort of getting to the, let me share the slides again. We're just going to sort of back end of the presentation now. Not much... Too much more to tell you about today, but just to give you a few tips about where to find more information about the release because there's a lot we didn't get a chance to tell you about today. But you can find that all in the what's new document. Apologies. That's got the wrong screenshot. It's from eleven, but twelve is available, the documentation. And I think that link is to it, And, then you can see the what's new, which will tell you about also all of the extensions that have been updated in the marketplace. People have been asking about, Eclipse and things like this, so talk more about that in the q and a. But all of the Versus code, Visual Studio Code extensions, most of those have been updated, including that unit testing one that Harry Morley, just took... Taken you through. That's live on, the Visual Studio marketplace now already. Now irrespective of anything that you've seen here today in terms of innovation that you might be interested, there's another reason that you wanna pay attention to the the the release here. It's just to make sure that you and your company are always on a version of the software that has engineering support to help deal with things like maybe PHP and things like this, you know, that coming about. You always want to be on a version of the software where you're at... Where you can get access to new engineering. And where we stand today, version nine of the product, it's now... It's gonna enter into its final year of engineering life. Okay? And if you're on version nine, now is the time to start really thinking about upgrading to a newer release. If you need more time, those things are available. Those options are available. Please just reach out to your account manager, and they'll walk you through it. If you can't reach them, reach me, and we can talk about it. Last thing to share with you, if you really wanna know about the long term direction, then we have published a, a more... Much more detailed road map of our products. And it... In... Indicated by this image, there are several pages here, to look through. But it guides you about what we think is... You know, where we are investing, and we look at different tool sets and where... And give you some insights into what we think the direction of travel is. If you'd like to access that, it's not actually publicly available on the website. It's got some confidential stuff in there that we don't want competitors seeing, but we're very happy for you to see. So if you'd like to access that, then, please, again, just reach out to your account manager, or you can reach out to Sava, and he'll make sure you get a copy. But with that, let me hand over to Sava to kinda wrap up this section today. I cannot hear you, Sava. Can you hear me now? I can hear you now loud and clear. Over to you. many nice things about you, the team, but we are sharing time. Anyway, thanks, Jane. Thanks, Scot. Thanks, anush and Harry for all the great stuff that you presented today. I'm gonna sum up the things with with five main takeaways for you, and then we're gonna have a really short quiz with five questions and then live q and a. So stay with us a little bit longer, and we're gonna, finish the webinar today. So the first takeaway I want to highlight is about AI and Cobble. And as you can see, it's a complex topic that consists of two parts. One is about cultural readiness and the second one about technical readiness. So we see how AI is changing the role of developer or engineer in general, and it's, kind of shifting from writing code to prompting code and then reviewing code and using AI tools to help you with that. And with this rocket visual, cobalt12.o, we want to empower and equip your engineers and your developers and boost their productivity working with Cobalt code. And, also, we want to help you to close the skills gap and make sure that you can hire and onboard developers with any experience relatively easily with AI features that we present. And the second part of the story is about how can you trust AI working with Cobalt, especially when we are talking about mission critical applications. And this is something that Scot was, talking about, and then anush and Harry was showing you how we make sure that, you know, every AI input and output are rooted in your business and application context, providing you the results that you can trust and use in your environment. And so together, this is how we ensure that you can adapt to ever changing needs of your customers, competitors, and the market because, you know, with AI adoption and AI development, everything is going, super quick, like, quicker than before. And with this release, you can actually ensure that your mission critical global application is moving as fast as your business require. The next, talking point is about clear roadmap and ongoing dialogue. Again, this is something that Scot just mentioned on the previous slide. So we are presenting our road map, and we updated it, the version from the last year, to reflect on all the things and changes coming 2026 and how our vision is changing moving forward. But, basically, it's our statement that we believe we understand the role of Cobble and Cobble applications in the future of IT, and we invest in Cobble modernization tools. And today's kinda illustration of how we're evolving those tools for you. This year, we are turning 50, Rocket Cobble turning fifty fifty our own dialect, and, basically, our expertise in Cobalt modernization. To celebrate that, we're gonna have a last webinar this year in December, like, first days of December. So stay tuned for more details on the forum and in your inbox in upcoming weeks. And then last but not least, we are hosting Cobble Days all over the globe. So in 2026, we had events in The US and The UK. We had events in Spain and Italy, and we have two more events, until the end of the year. The first one is going to be in Copenhagen on November 3, and the second one will be in Netherlands on November 5. I will share the link with you in the chat as well so you can actually, register for one of the events. And let us know if you want to have Cobble Days somewhere else in your region. We are open to host those days for networking, product demos, and, of course, to tell you more about all the products that we are working on. So, yeah, it's coming up, so make sure to register and join us in Amsterdam or Copenhagen or both. Honestly, it's also an option. And without further ado, I know that we are on time. So please let me know in the chat if you're still here and if you want to participate in the quiz or should we skip to q and a. Let me know in chat, like, just drop a plus if you're still here, and I will see that we have two more minutes for the quiz. Okay. I see that people are here. So we're gonna have five questions. Please just send the number of the answer to the chat, and then we're gonna have top five winners on the forum published next week. And each question will take, like, thirty seconds, so we're gonna make it, like, in two minutes and a half. The first question is, what is RocketSoftware mission? Is it modernization without disruption, accelerating modernization without disruption, powered by AI, accelerating modernization with AI, or quick software modernization? So we are going to have five more seconds, and then we will proceed to the next question. And the correct the correct answer is number two, accelerating modernization without disruption powered by AI. The next question is how many lines of Cobalt code were reported in the survey? Is it 800, 800,000,000, 800,000,000,000, or 800,000? This is something that Scot mentioned at the beginning highlighting why are we investing in Cobalt modernization products and why is it important. Three, two, one. And the correct answer is number three, 800,000,000,000. The next question is, what is developer's role in Adjacent development? Is it prompting coding and viewing? Is it just chilling and vibing and, you know, being there in the team? Is it prompting and reviewing, or is it hanging out in the rocket... At the RocketSoftware forum talking about Cobalt with other enthusiasts? A lot of answers. A lot of different answers. Okay. Three, two, one. And here, we are focusing on number three, prompting and reviewing. So everything else is handled to agents, and they are ensuring that you're reviewing already tested code, and this is something you can push the deployment. The fourth question is what enables identity development for Coble? Is it deterministic application context? Is it RocketSoftware Cobalt dialect skills? Is it unit testing framework or all the above? And then... So here, the correct answer is number four, all the above. And the last question is this one. What... Where will the next couple day take place? Is it Copenhagen, Amsterdam, Paris, or Atlanta? Okay. So many, many correct answers. So, yeah, the correct answer is Copenhagen on November, third and then Amsterdam on November 5. So, again, you can find all the links, on the forum, and we will be happy to see you. And with that, I will like I would like to invite all the... Today's speakers to the stage, and we can dedicate some time for the q and a if we have some questions. Do have some questions, so I'll just wait for everyone to jump on there. There were a few questions we saw in the chat, and there were a couple in the q and a that we should get to. If there's some that we don't spot, we will look at the chat. And as always, we will post when we start the answers on community sites, along with the winners, of today's And, I see a few questions here. Actually, one we saw in the chat, come on to that in a second, but there was some discussion here about... From Melinda about how do you protect your proprietary code if you're using tools to analyze code. And that... That's an interesting question. Of course, it gets to how a lot of people's concern about what they're pushing out to these large language models and what, might be ending up as training data for those large language models. The first thing I would say to that, you know, it's entire... It's down to you to decide whether you're gonna allow this or not, first of all. And in the case of analyzer that I talked to before, it will not connect to our NLM unless you set it up and agree and you you actively, request that to happen, first of all. But then I think the rest of the answer really is down to the type of subscription that you have with your, LLM provider and the arrangements that you have there about what guarantees they're putting in place so that, you know, your intellectual property is not leaking anywhere into training, model. So certainly something you wanna pay attention to. Then I, actually, why don't we, Harry, why don't we come on to you? Because there was a question in there about the unit testing tools. Were they available in only 12, or can you use them with, an older release of the product? What can you tell us about that? Yeah. So you mentioned the beta that we run, in June ish. That was all based around version 11. So all of the, unit testing tools will be, usable with version 11. I believe, we're gonna try and test if they're useful in version 10, but, I can't confidently say that they will work. But I know for a fact they will at least work with version 11 and version 12. Alright. Well, we'll we'll we'll fill in the gaps there on the... And we, provide an update on all these questions. I think we do try and support older... But supported versions of the product, but we'll get the full details on that. Thank you, Harry. I think the last one to come on to here was from Richard, and he was talking about, you know, a lot of the con... The conversation today was around VC. Was the language you used here? What about Eclipse? But when we... When I talk about Visual Cobalt, it really is a family name, and it covers quite a few different, you know, products ultimately, including, the IDEs that you might be using, whether that's Visual Studio or Eclipse or Visual Studio Code. You know, they all sit under the the Visual Cobalt, family. And depending, you know, what you've acquired from us, you might get access to all three or might... You might just be, like, a Visual Studio or, an Eclipse, user. What we were showing today was actually Visual Studio code. And, the first thing to let you know about there, Richard, is the Visual Studio Code is available, on the Visual Studio marketplace. You can just go and download that, and it will connect into your existing Visual Cobalt, deployment, product. Whether you've got Eclipse installed or something else, it will start to leverage the capabilities of that. And a lot of the innovation that we're leading, our releases with will take place in Visual Studio Code to start with because this is a really great experimentation ground for us in some in some respects because it's getting such activity. It's by far and away the most popular tool... Development tool set in the market at the moment. So a lot of our innovation starts there, and then we kinda... Then when we get, you know, good feedback and we get, we've trialed it, then some of that innovation will find itself, in other IDEs. So I definitely encourage you to try Visual Studio Code. But other things like enterprise analyzer, cobalt analyzer we were showing today, they absolutely are gonna work in your context as well with Eclipse. Okay. So I think there's still plenty there for you for you to go take a look at. And I think that's it, for today, Sava, in terms of the questions. Back to you to close things out. Thanks so much, Scot. Thank you so much, everyone, for joining us. We also launched the post event service, so please share your feedback. This is how you help us to polish the sessions and make them as valuable for you as possible. And, yeah, we're gonna share all the resources and everything on the forum in the upcoming days, like, early next week. Thanks, everyone. Thanks for a great session, and see you in December celebrating Rocket Software fiftieth anniversary. Stay tuned for the details. And, Thanks, of course, everyone. and, of course, 12.o is available. So if you would like to learn more, see the demos, in person or anything, reach out to your account executives or, yeah, to anyone, you know, from RocketSoftware. Thank you so much. Have a great, great rest of the week.