Software engineering automation
Automatic parallelization of multi-core processor∏¥• software
The development of informat₽¶ion technology has put forward higher requiremenδ☆ts for THE processing capacityΩ₽γ¶ of CPU. The development of pro Ω€♠cessor from single core to mul'₹∑ti-core has realized the parallel co±™ ×mputing physically and greatly improved the com♠•puting capacity. Howeve≤¶∞₹r, the corresponding software development metho₩≤≠✘d is difficult to realize parallel programmi♥¶ng because of the limitation of human t ♦hinking mode. This software tool can analy>←ze the traditional software c€λode, automatically extra✘™ct the parallel code, automatically estimat ↕αe the code execution time, according to t₽β↕he overall optimal performance strategy, give↔<s the multi-core parallel exe'γcution scheme. The software tool can also allow ♣±users to adjust the parallel execution scheme a★ε£>ccording to their own need"→£s, while adjusting tεδ≠<he overall efficiency chan∑<וges can be seen in real time, to ac¶♠↑'hieve task execution simulation on e©φ∞ach core. This software tool is an☆±≤ auxiliary design too γ∑l based on multi-core pro₩←αcessor software development, which can g₩₽≥reatly improve the development effici> ©ency of multi-core processor software×α.
Automatic software Bug localβ©ization technology
In the fields with very h★σ☆igh reliability requirements, such as autom♥$otive electronics, rail ✘•γtransit, nuclear power plants, aeδ✘rospace and other fields, the ₽↑∏ tolerance rate of soft÷★ware bugs is very low, a✔→nd the cost of Bug testing and positioning in >≈the development of enterprises is very hi↑✔ gh. With the expansion of code size and t"∑≤he shortening of release cycle, sim§β₩£ple manual testing, error δβ€ detection and troubleshooting will no$✔"t meet the needs of devel←opment. This tool integr₩↑"ates code editing IDE, dyna&<↑mic debugging environment, compilat<♠÷ion and execution test environment, high β≈₩efficiency development at the sa$•>me time, and can automati&¶cally find software code logic errors,× greatly improving the dev±≤↓§elopment efficiency.
In the market, c language ®×πoriented static analy₹₩sis tools tend to solve some code writin®✔σg specifications, arrays ×&out of bounds, null Pointers and other common p♦✔>roblems. By testing t$δhe source code and comparing the code output with ε the expected results, the tool che ✔Ωcks each line of code, analyzes★♠←Ω the complex interaction between the codes ¥₽×εin depth, analyzes with high p↑¶recision, and finds the re↔'al error defect code. Changed thγ←₩£e traditional test coσ↕♣de, manual analysis of the error of the deve'<lopment mode, greatly ₩&•saving the time to find t★ αhe wrong code.
Process management and ∑♦ test validation of large h→ $igh reliability software
In orbit transportation, a✘&©γerospace and other fields, the sca®♦→'le of the software is very big, very high rel↓✘ >iability requirements, at the same time is of¶↔ten referred to as demanding system (Critical₽↕↕δ Systems).
In rail transit, aerospace and other fieldsλε✔, the software scale is v•ery large, and the reliability requiπ¥rements are very high, usually called≤¥ Critical Systems. According to the requ∞€irements of international ₩&₹standard IEC61508 and EN50128, V m>←₩>odel is used to manage the software devel$≥opment process. In cooperation with a list♣↑ed company, the team planned and i<₽↔mplemented the whole process pla'↓€"nning, development team building, development sc ¥∑hedule management and software quality managε≠←ement of the development o∏ f a large high reliabil§ity software, ensuring that the softwa>λ∞'re was successfully developed and passed t¶γhe international highest level sa≠$αfety certification of Lloyd's. At th≥≤✔e same time, the team was entrusted to c×≥÷onduct a comprehensi$×ve test and verification o₽↕πf the function and performance of the software,&•♣ including detailed test₹β↓ of each module, coverage™★∞> test based on white box, system integrati∞∞on interface test, ≤$ system test. It also includes veri₽γ♣ fication and validatio↕€"≥n of code, requirement doc₹¥uments, design documents, test reports and othe≥★¥r contents involved in the certification±♠Ω process.