Presentation: Mutation Testing in Additive Manufacturing, 10th User Conference on Advanced Automated Testing

Johannes Erbel


Additive manufacturing (AM) enables the rapid development of customizable three-dimensional objects. However, additive manufacturing, or 3D-printing, is error-prone and therefore mainly used for rapid prototypes rather than production. For industrial application, machine learning models are employed that monitor the printing process and automatically test whether the object quality is sufficient. To train such models, visual, audio or vibration sensor data is required that especially records relevant information, e.g., of faulty prints. However, failed prints are costly as material is wasted, making the creation of large datasets expensive. Moreover, a consistent replication of print error phenomena is difficult to achieve and may require manipulating the 3D-printer. By injecting synthetic and controlled print faults (mutations), we can assess the quality of employed error-detection models and therefore support the automation of quality assurance in AM mass production. While several approaches aim at detecting defects in AM processes, there are only few concepts that support their development and assessment aside from benchmark prints. To close this gap, we utilize the concept of mutation testing to the 3D-printing domain. Rather than source code, we apply mutation operators to Gcode which is a common language for fused deposition modeling printers. Each line of a Gcode file describes a machine movement to be performed, e.g., the acceleration of a print-head or the extrusion of material. By mutating the variables of the machine instructions, we provide configurations for desirable print failures that are reproducible. One example is the adjustment of extrusion values to either print too much or too little filament, which may lead to a complete print failure or an uneven surface. Knowing the mutant and its exact location, we can evaluate the extent to which a model can detect and identify different kinds of print defects. By applying the mutation testing paradigm to AM, we simplify the replication process of print failures by forcing artificial faults into print instructions and check whether quality assurance techniques can detect the "mutant". The forced errors support researchers with the creation of a cost-efficient error-dataset that is tailored to individual needs, e.g., by targeting errors at the early stages of a print. Moreover, 3D-printing practitioners can nourish existing models with data that is recorded from individual and diverse print environments. Thus, different video angles, lighting conditions, or acoustic situations can be incorporated. Ultimately, mutating 3D print instructions may enable organizations and 3D-printing practitioners to push the manufacturing of 3D-printed parts to actual production by choosing the best error-detection model for their specific print environment.
Additive Manufacturing, Mutation Testing
Document Type: 
2024 © Software Engineering For Distributed Systems Group

Main menu 2