Software testing is fundamental to system reliability and remains resource-intensive. Traditional frameworks often treat test case generation and prioritization as disconnected phases, neglecting the rich coverage metadata produced during generation and necessitating costly pre-execution. To bridge this gap, we present an integrated framework that enables profiling-free prioritization by reusing generation-time coverage metadata, with the objective of enabling earlier accumulation of multi-criteria structural coverage during test execution, and empirically facilitating earlier fault exposure. The proposed framework features Multiple Coverage Test Case Generation (MCTCG), an enhanced symbolic execution tool engineered to generate test suites satisfying six diverse coverage criteria while simultaneously capturing granular coverage data. Leveraging this intrinsic data, [Formula: see text] performs greedy multi criteria coverage prioritization by maximizing marginal structural coverage in the execution prefix, without requiring re-execution. Experimental results on CodeNet and RERS benchmarks demonstrate that MCTCG achieves superior coverage and bug detection rates compared to baseline tools. Furthermore, [Formula: see text] significantly outperforms state-of-the-art prioritization methods, improving the Average Percentage of Faults Detected (APFD) by 4.11% and reducing the first-fail metric by 8.7%. This work effectively enhances testing efficiency by seamlessly unifying the generation and prioritization processes, making it particularly valuable for standard-compliant white-box testing.
Regression testing aims to confirm that program changes do not disrupt existing functionalities. Automated fault localization improves quality and efficiency of regression testing. Spectrum-based fault localization (SBFL) is adept at identifying faults in program statements using test case execution data. However, SBFL overlooks faults due to structural anomalies and cannot detect nonexistent or redundant statements. This study introduces program structure check (PSC) to address the issue. In regression testing, historical program versions provide valuable information for fault localization. PSC compares the structure of the program being tested with programs of historical versions to find structural differences, like missing code. This increases suspicion scores at these locations. Experimental findings show PSC detects over 90% of structural bugs, with over 76% ranked highest on the suspicion list. We combine PSC with SBFL, termed PSC-SBFL, and test it on a publicly available program suite and a program suite from a real-world project to assess bug location effects. Results indicate that adding PSC to SBFL enhances bug ranking by approximately 93% and reduces manual code checking by about 34% when all bugs are identified. Compared with another SBFL-based method, PSC-SBFL demonstrates superior bug localization. These findings underscore how combining PSC and SBFL algorithms enhances bug localization accuracy, expedites bug identification and boosts software quality.
Software testing plays a critical role throughout the software development lifecycle. In modern development practices, frequent and incremental updates to code are common, and each update typically necessitates the generation of new test cases. While the generation of test cases can be automated, the creation and adjustment of test oracles (expected outputs or behaviors) still require significant manual effort. This process is time-consuming and labor-intensive, particularly when code changes are minor, making repeated oracle creation inefficient. Meanwhile, test cases and their associated oracles from previous versions, having been refined and validated through multiple iterations, are highly reliable and valuable. However, due to the changes in execution paths introduced by code updates, it is unclear which old test cases remain applicable to the new version, leaving these valuable resources underutilized. Consequently, the ability to effectively identify and reuse applicable test cases and their oracles from previous versions is of paramount importance. Currently, research on test case reuse in unit testing is relatively sparse. Existing approaches often focus on software requirements and pay limited attention to code-level changes. Even methods that consider code changes fail to ensure precision in selecting test cases or maintain high coverage in the reused test set. To address these challenges, this paper proposes a novel approach, Path Similarity-based Test case Reuse (PSTR), tailored for the characteristics of unit testing. PSTR significantly enhances testing efficiency and reduces costs by accurately identifying reusable test cases through path similarity analysis. The proposed PSTR method consists of three core modules: static analysis, dynamic analysis, and reuse. First, static analysis is performed on both the old and new code versions to generate their respective sets of static paths. Next, the test cases from the old version are executed on its code, establishing a mapping between each test case and its covered execution paths. Finally, the path similarity algorithm compares paths between the old and new versions, allowing test cases associated with the most similar paths to be reused for the new version. For cases where direct reuse is not possible, the method provides clear guidance to assist testers in completing subsequent tasks more efficiently. For evaluation, a custom dataset derived from LeetCode problem solutions was used, and the PSTR method was compared with the classical ATR (All Test case Reuse) method. The results demonstrated the superiority of PSTR, achieving a precision rate of 95.64%, which is 14.87% higher than ATR. Additionally, while PSTR reused an average of 77.81% of test cases, it maintained a path coverage rate comparable to ATR, which reused 100% of test cases. Metrics such as F1-score, recall, and misuse rate further highlighted PSTR's advantages in accurate and effective test case reuse. Specifically, PSTR achieved comparable coverage with fewer reused test cases while significantly reducing the misuse rate. In summary, as an innovative test case reuse method, PSTR has demonstrated remarkable effectiveness and practicality. It reduces resource consumption, improves testing efficiency, and lowers testing costs while maintaining high coverage standards. The findings underscore PSTR's potential to make software testing more efficient and cost-effective.
One of the main objectives of software testing is to locate the position of bugs. Bug localization is generally categorized into statement-level and file-level localization. File-level bug localization is typically performed using information retrieval-based bug localization(IRBL) methods. However, when used alone, file-level bug localization can only identify bugs at the file level and has low accuracy, limiting its practicality. Integrating file-level and statement-level bug localization can produce more precise results. To address these limitations, this study proposes a novel hierarchical bug localization framework that integrates multiple localization techniques across the file and statement levels. First, we present AS_IRBL, an enhanced IRBL method that introduces two innovations: a word-attention component that selectively amplifies the weight of key terms in bug reports, and a complex-word segmentation component that improves semantic matching by decomposing compound identifiers. These enhancements lead to significantly improved file-level localization performance. Second, we introduce C_FF_S, a new cross-level integration strategy that hierarchically combines file-level and statement-level localization results. Unlike prior approaches, C_FF_S uses an activation-based weighting mechanism to adjust statement-level suspicion scores according to file-level confidence, enabling context-aware and more accurate bug localization. Experimental results on the Defects4J benchmark demonstrate the effectiveness of our method: AS_IRBL improves MAP by 30.44% and Einspect@n by 31.89% over baseline IRBL. C_FF_S outperforms existing combination strategies, withMAP, MRR, and Einspect@n increased by 6.08%, 7.31%, and 7.58%, respectively. These results confirm the novelty and practical value of our hierarchical and mechanism-driven approach to multi-level bug localization.
Software testing plays a critical role throughout the software development lifecycle. In modern development practices, frequent and incremental updates to code are common, and each update typically necessitates the generation of new test cases. While the generation of test cases can be automated, the creation and adjustment of test oracles (expected outputs or behaviors) still require significant manual effort. This process is time-consuming and labor-intensive, particularly when code changes are minor, making repeated oracle creation inefficient. Meanwhile, test cases and their associated oracles from previous versions, having been refined and validated through multiple iterations, are highly reliable and valuable. However, due to the changes in execution paths introduced by code updates, it is unclear which old test cases remain applicable to the new version, leaving these valuable resources underutilized. Consequently, the ability to effectively identify and reuse applicable test cases and their oracles from previous versions is of paramount importance. Currently, research on test case reuse in unit testing is relatively sparse. Existing approaches often focus on software requirements and pay limited attention to code-level changes. Even methods that consider code changes fail to ensure precision in selecting test cases or maintain high coverage in the reused test set. To address these challenges, this paper proposes a novel approach, Path Similarity-based Test case Reuse (PSTR), tailored for the characteristics of unit testing. PSTR significantly enhances testing efficiency and reduces costs by accurately identifying reusable test cases through path similarity analysis. The proposed PSTR method consists of three core modules: static analysis, dynamic analysis, and reuse. First, static analysis is performed on both the old and new code versions to generate their respective sets of static paths. Next, the test cases from the old version are executed on its code, establishing a mapping between each test case and its covered execution paths. Finally, the path similarity algorithm compares paths between the old and new versions, allowing test cases associated with the most similar paths to be reused for the new version. For cases where direct reuse is not possible, the method provides clear guidance to assist testers in completing subsequent tasks more efficiently. For evaluation, a custom dataset derived from LeetCode problem solutions was used, and the PSTR method was compared with the classical ATR (All Test case Reuse) method. The results demonstrated the superiority of PSTR, achieving a precision rate of 95.64%, which is 14.87% higher than ATR. Additionally, while PSTR reused an average of 77.81% of test cases, it maintained a path coverage rate comparable to ATR, which reused 100% of test cases. Metrics such as F1-score, recall, and misuse rate further highlighted PSTR's advantages in accurate and effective test case reuse. Specifically, PSTR achieved comparable coverage with fewer reused test cases while significantly reducing the misuse rate. In summary, as an innovative test case reuse method, PSTR has demonstrated remarkable effectiveness and practicality. It reduces resource consumption, improves testing efficiency, and lowers testing costs while maintaining high coverage standards. The findings underscore PSTR's potential to make software testing more efficient and cost-effective.
Purpose: Software testing is crucial for ensuring software quality, but it often consumes significant time and resources. Test case generation tools can generate test cases which cover the elements of tested program. However, some types of test case generation algorithms, such as those based on symbolic execution, can also gather coverage information during the test case generation process, which is undoubtedly valuable for other testing tasks. Test case prioritization (TCP) helps detect software faults earlier, achieving better testing outcomes under limited resources. Our goal is to enhance TCP without increasing costs, making it applicable across all white-box testing while improving its effect. Methods: We developed MCTCG, a symbolic execution-based test case generation tool that produces test case sets meeting various coverage criteria. During generation, MCTCG analyzes program coverage for elements like statements and branches to guide the next step. We also proposed TCPall−first , a prioritization method that uses the coverage information of MCTCG to prioritize test cases based on the principle of 'maximizing coverage step by step.' It selects test cases that cover the most uncovered elements until full coverage is achieved. Since TCPall−first directly uses the coverage data of MCTCG, there is no need to re-execute the test cases to determine priority, allowing test case generation and prioritization to occur in the same process, saving significant testing resources. Results and conclusion: We evaluated our approach using multiple open-source programs. The results show that MCTCG successfully generates high-coverage test case sets according to various coverage criterias, with higher bug detection rates. TCPall-first uses the coverage information obtained during the generation process to determine test case prioritization. Compared with the best performing among other TCP methods, TCPall−first improved the APFD value by 4.11% and reduced the first-fail metric by 8.7%. Moreover, TCPall−first required the fewest test cases to detect the same number of bugs compared to all other methods. Therefore, we believe that MCTCG effectively enhances test case set coverage while gathering coverage information, and TCPall−first extends the applicability of TCP and improves coverage-based TCP techniques.
In software testing, the quality of test cases is crucial, but manual generation is time-consuming.Various automatic test case generation methods exist, requiring careful selection based on program features.Current evaluation methods compare a limited set of metrics, which does not support a larger number of metrics or consider the relative importance of each metric to the final assessment.To address this, we propose an evaluation tool, the Test Case Generation Evaluator (TCGE), based on the learning to rank (L2R) algorithm.Unlike previous approaches, our method comprehensively evaluates algorithms by considering multiple metrics, resulting in a more reasoned assessment.The main principle of the TCGE is the formation of feature vectors that are of concern by the tester.Through training, the feature vectors are sorted to generate a list, with the order of the methods on the list determined according to their effectiveness on the tested assembly.We implement TCGE using three L2R algorithms: Listnet, LambdaMART, and RFLambdaMART.Evaluation employs a dataset with features of classical test case generation algorithms and three metrics-Normalized Discounted Cumulative Gain (NDCG), Mean Average Precision (MAP), and Mean Reciprocal Rank (MRR).Results demonstrate the TCGE's superior effectiveness in evaluating test case generation algorithms compared to other methods.Among the three L2R algorithms, RFLambdaMART proves the most effective, achieving an accuracy above 96.5%,surpassing LambdaMART by 2% and Listnet by 1.5%.Consequently, the TCGE framework exhibits significant application value in the evaluation of test case generation algorithms.
After software or program updates, it is crucial to establish a new set of test cases. Reusing parts of the old test case set in unit testing is a cost-effective, efficient, and common approach. However, only a few commercial software are utilized for this purpose, and their techniques for reusing test cases are not publicly available. PC-TRT is a test case reuse tool primarily designed for software and programs written in the C language. PC-TRT reuses test cases from historical program versions and generates test data for uncovered paths, resulting in a high path coverage test case set. Its key functions include analyzing test case path coverage information, selecting reusable cases from old test case sets based on path similarity, and generating test data for uncovered paths. PC-TRT significantly improves both the efficiency and reliability of software testing.
Automatic train operation (ATO) system is an important driving control system for train operation, which adjusts traction or braking force in real time according to different operating environments. As an important part of the ATO system, the train dynamic model determines the tracking accuracy of the train to the target speed. Based on the force analysis of the actual train operation, the single-particle dynamic models of train operation were established. Considering the high efficiency of the single-particle model in online identification, the single-particle train model is applied to the actual parameter identification. Firstly, the second-order single particle model is established, and three identification methods and two sets of data are compared and analysed. The auxiliary model and the recursive least square method with variable forgetting factor (AM-VFF-RLS) identification method have good performance. On this basis, a third-order-single-particle model is established. Through the analysis of the identification results, it is found that the model can improve the identification accuracy while ensuring the efficiency.
Data-driven approaches in structural health monitoring have received increasing attention, especially advances in deep learning-based methods, which have further driven the development of data-driven damage detection. Due to the limited availability of guided wave samples and the imbalance between data classes, this study proposes a deep convolutional neural network-based transfer learning (DCTL) approach for the structure monitoring of switch rails using guided wave monitoring signals. A pretrained model based on Inception-ResNet-V2 was adopted and fine-tuned. Different methods for converting 1D signals into 2D images were investigated to find the optimal approach that meets practical monitoring requirements. Affine transformations were used for data augmentation to improve generalization ability and to avoid the overfitting of the training model. Two types of guided wave monitoring experiments on the foot and web of switch rails were conducted to evaluate the proposed method against different conventional methods in the field of switch rails. In addition, the DCTL method was investigated, with and without pretrained weights, along with different frozen layers. The classification results show that the proposed method can identify damage in challenging situations and outperforms conventional methods.
Obstacle detection is vital to the safe operation of the metro. Obstacle detection methods based on supervised methods have high accuracy and high real-time performance, while most methods based on traditional image processing have low accuracy and poor real-time performance. However, supervised learning-based methods can only detect partially trained obstacles. In order to detect all kinds of obstacles, we propose an unsupervised learning-based approach. The pixel-level features are extracted by a pre-trained feature extraction network, and the density distribution of the features is estimated using normalizing flows. Furthermore, we assume that features with low probability are obstacle features. Based on the data collected in the real operating environment of the metro, our unsupervised method achieved 98.8963% DET-AUROC, 98.94% DET-precision, 99.99+% DET-recall, 99.7557% SEG-AUROC, and 98 fps inference speed. Additionally, our method only requires obstacle-free images for training purposes and can detect any kind of obstacle.
Switch rails are weak but essential components of high-speed rail (HSR) systems. In the condition-based maintenance of HSR, ultrasonic guided wave (UGW) on-line monitoring technology is widely used in judging real-time operating conditions; however, it always generates large amounts of data. Too much data bring significant challenges, such as too many unnecessary costs of energy, storage, and network bandwidth in the structural health monitoring of switch rails, making it challenging to realize embedded sensor networks with high durability and low power consumption. Furthermore, the structural damage occurs relatively less over the long-term, indicating that these measurements are inherently sparse. The sparseness of structural damage makes them attractive for the compressed sensing technique. This study proposes a novel data compression and reconstruction method to meet the challenges and reduce the amount of data transmitted by sensor networks and maintain their accuracies simultaneously. First, a lightweight data dictionary is constructed to perform a sparse decomposition of UGW signals according to the characteristics of UGW propagation. Second, an effective sampling method based on a sparse random matrix is designed for sub-Nyquist sampling and compressing UGW signals. Third, a novel block adaptive matching pursuing algorithm is proposed to reconstruct UGW signals from compressed data. Finally, numerical signals, finite element simulation, and several actual monitoring experiments on the foot of a switch rail are conducted to verify the effectiveness and accuracy of the proposed method. The influence of different compression ratios and block sizes on the reconstruction performance of guided wave signals is investigated. The results indicate that the proposed method can sample UGW signals with much lower requirements than the Nyquist sampling theorem and is superior to other novel algorithms.
Switch rail is a weak but essential component of high-speed rail (HSR) systems. Due to aging and the potential of fatigue damage accumulation, it has an urgent requirement for damage detection. An automatic classification method of switch rail damage based on feature integration and machine learning is proposed. According to the characteristics of switch rail and guided wave, several features extracted from different signal processing domains (such as time domain, power spectrum domain and time-frequency domain) are proposed and defined to characterize the complexity of switch rail damage. A damage index is defined to eliminate the effects of various environmental and operational conditions. A feature selection method based on binary particle swarm optimization (BPSO) is proposed. This method uses a new fitness function to select the most damage-sensitive features, eliminate the irrelevant and redundant features, and improve the classification performance. The least-squares support-vector machine (LS-SVM) is adopted to build an automatic classification model to reduce the probability of artificial error diagnosis and improve the generalization ability. Finally, experiment on the switch rail foot is conducted to verify the proposed method. The results show that the method has the ability of damage identification, which is better than traditional methods.
Switch rails are weak but essential components of high-speed railway systems that have urgent nondestructive testing requirements owing to aging and the associated potential for fatigue damage accumulation. This study presents a multi-feature integration and automatic classification algorithm for switch rail damage using guided wave monitoring signals. A combination of piezoelectric transducers and magnetostrictive patch transducers is adopted to improve the monitoring performance and meet actual monitoring requirements. Furthermore, multiple features extracted from various signal processing domains—such as the time domain, power spectrum domain, and time–frequency domain—are proposed and defined according to the structure and characteristics of the switch rail and guided wave to represent the complex nature of the damage. A damage index is defined to eliminate the influence of various environmental and operational conditions, signal power, and other factors. In addition, a feature selection method based on binary particle swarm optimization with a new fitness function is proposed to select the most damage-sensitive features and eliminate irrelevant and redundant features to improve the classification performance. Moreover, considering that the results are easily influenced by experts’ subjective judgment and experience, the least-squares support-vector machine is used to construct automatic classification models to reduce the probability of artificial incorrect diagnosis and improve the generalization ability to unknown environments. Finally, three types of experiments on the foot of a switch rail are presented to evaluate the proposed method. The results indicate that the proposed method is capable of identifying damage in challenging cases and is superior to conventional methods.
该文通过论证旨在说明,深化高等学校创新教育改革,是提升学生创新意识、推动国家创新发展的必要任务.针对目前生物医学工程本科生难以从现实的社会需求中及时发现问题、创新性地解决问题的现状,基于开放的实践创新平台——创客空间,提出了将创新课程和创新实践相结合的创新教育模式,引导和激发学生的积极性、主动性与创造性,锻炼和加强学生的研究能力与创新能力,为创新教育模式的进一步完善打下坚实的基础.
The FAO system is a new-generation railway signaling system, the comprehensive and accurate testing is the main means to verify the safety and stability of the system, and the design and generation of test cases is an important link of the system testing. Traditionally, test cases are manually generated, which is inefficient, time-consuming and inaccurate. To solve this problem, we proposed an automatic test case generation method for the FAO system specified scenario using the CT-LSSVM algorithm. The CT algorithm was used to realize multi-factor combination to generate test cases, and the LSSVM method was used to predict and analyze the expected results of the test cases. The results showed that when the LSSVM method was used to model and analyze the test cases generated by the CT five-factor combination, the recognition rate of the calibration set was 96.58% and the recognition rate of the test set was 97.73%; At the same time, some test cases of the twelve-factor combination were predicted and analyzed, and the recognition rate reached 98.57%. This proves that the CT-LSSVM method can be applied to the test case generation of the FAO system.
The methodology based on reflected guided-wave by a reflector associated with an increase or a decrease in the cross-sectional area has the challenge of determining their location and identity. This paper presents a numerical investigation of a method for locating and identifying the reflector based on guided-wave circumferential scanning and phase characteristics. To determine the axial and circumferential positions of the reflector within the pipeline, the procedures of the guided wave-based circumferential scanning were presented, including data preprocessing, median filter, image smoothing and binary processing. Through theoretical analysis, we obtained the phase relationship between the guided-wave excitation signal and reflection signals generated by a reflector, such as corrosion, crack, weld and support, which caused the change in the cross-sectional area. Consequently, an algorithm based on the phase characteristics was proposed to determine the change and type of reflector. The spatial distances were calculated between the guided wave excitation signals with different phases and the concerned reflection signals, subsequently identifying the change and type of the reflector by comparing the distance values. An identification index named the reliable index for the character of the reflector (RICR) was defined to evaluate the reliability of the predicted results. Numerical and finite element simulation validations of the proposed method were performed. It has been found that if RICR was larger than 1.05, the results predicting the reflector type were reliable. The proposed method was found to be superior relative to the conventional correlation coefficient method according to the numerical results. Finally, the simulation results demonstrated that the proposed method could be potentially applied for locating and identifying reflectors in pipelines.
Power supply system is an important part of safety-critical computer platform for the railway signal control equipment. According to the basic architecture of dual-duplex platform, to meet the reliability requirements of safety-critical computer platform in EN50126, the power supply system is improved and better architectures is proposed. In addition, according to the EMC requirements of EN50121 railway standard, to solve some important EMC problems, the power system adopts the following design methods: transient voltage suppression, current-limiting and voltage dips suppression. Finally, this paper uses Reliability analysis Software to verify the effect of this power supply system design on system reliability, and uses experimental method to verify the function realization of EMC solutions.
This article has described the simulation test platform system researched and developed on the basis of the CBTC system and has introduced the overall architecture and requirements of the system. It has proposed a design and implementation solution to the CS architecture. This solution makes the entire system which has distributed functions with simple deployment and great extensibility.