Lunatic Driving AI

Over the past few years, the field of software testing has been revolutionized by significant strides made in automated test case generation (ATCG). This technique, instrumental in streamlining and optimizing the process of software testing, has become a linchpin of modern software development practices. Traditionally, the creation of test cases was a manual, labor-intensive process, often taking up a large portion of the software development cycle. The advent of ATCG has reduced human effort, brought speed and consistency, and minimized the risk of missing important test scenarios. Through ATCG, we've seen not just an improvement in efficiency, but also in the overall effectiveness and reliability of testing processes. One of the most prominent recent trends in ATCG is the use of AI and machine learning techniques. With the incorporation of search-based software testing (SBST), testers are now able to generate test cases that can cover rare edge cases, which were hard to identify manually. Furthermore, the introduction of AI has brought a new dimension of predictive analysis, helping prioritize test scenarios based on bug probability.

One of the major problems in this field is the evaluation and comparison of the different approaches.

The Goal of this work is to create a form of benchmark testing environment to evaluate such machine generated sets of test cases and their coverage of the input space.

The core of this project will be a completely customizable driving AI.

The AI should:

  • Be able to drive in a good and safe manner taking care of speed limits, safety distances, traffic lights other vehicles and pedestrians.
  • Be able to do subtle or drastic driving mistakes and safety violations in a broad variety based on the predefined setup.
  • Be able to be a complete lunatic and menace to society.

Programming Language:

  • Completely up to your team. But recommended is Python or C++ since Carla is written in C++ and has a good and versatile Python API.

AI Model:

  • Completely up to your team. The recommended approach would still be a rule based approach since it can be hard to build adjustable settings into a neural network or a reinforcement learning based AI.

Frameworks:

  • You can use any framework, library or open source solution you can find to help your project provided they have reasonable licenses.