软件开发 Skill技能列表
常数传播优化Skill constant-propagation-pass
这个技能实现常数传播优化,通过数据流分析在编译器中传播常数值以优化代码。它适用于编译器构建、程序分析学习和优化技术实现,能够收集和替换常数,提高程序效率。关键词:常数传播、编译器优化、数据流分析、程序优化、静态分析、代码优化。
并发验证器Skill concurrency-verifier
这个技能用于验证并发和并行程序的正确性,检测数据竞争和死锁,确保多线程和分布式系统的可靠性。关键词包括并发验证、数据竞争检测、死锁分析、锁协议验证、内存模型推理、软件测试、并发程序安全。
公共子表达式消除器Skill common-subexpression-eliminator
公共子表达式消除器是一种编译器优化技能,用于识别和消除代码中的重复计算,提高程序性能。适用于编译器构建、代码优化和程序分析,关键词包括编译器优化、代码优化、公共子表达式消除、程序分析。
闭包转换器Skill closure-converter
闭包转换器是编译器设计和函数式语言实现中的关键技术,用于将闭包转换为显式环境传递,优化代码生成和性能。关键词:闭包转换、编译器、环境传递、lambda提升、函数式编程、代码优化、自由变量分析。
双向类型检查Skill bidirectional-type-checking
双向类型检查是一种编程语言技术,用于结合类型推断和类型验证来实现高效的类型系统。它通过区分推断模式(从项合成类型)和检查模式(验证项对给定类型),应用于编译器设计、类型检查器和交互式开发环境,提高错误消息质量和类型安全。关键词:双向类型检查,类型推断,类型验证,编程语言,编译器,错误处理,类型系统。
别名与指向分析Skill alias-and-points-to-analysis
该技能用于静态分析中的别名和指向分析,计算指针的指向目标和别名关系,适用于编译器优化、内存安全验证、程序理解、并行化等场景。关键词:静态分析、别名分析、指向分析、指针、编译器优化、内存安全。
代数效应与效应处理程序Skill algebraic-effects
该技能实现代数效应和效应处理程序,用于在类型化语言中模块化地处理计算效应,如异步、状态、异常、日志记录和非确定性。它涉及效应签名定义、处理程序实现、效应推断等,适用于编程语言设计、效应系统研究和软件架构优化。关键词:代数效应,效应处理程序,类型系统,效应推断,编程语言设计,计算效应,模块化处理。
actor模型实现器Skill actor-model-implementer
这个技能用于实现actor模型,支持并发计算和分布式系统开发,包括创建actors、处理消息传递、管理邮箱和实现行为。关键词包括:actor模型、并发计算、分布式编程、消息传递、容错系统、异步通信、软件架构。
ACSL注释助手Skill acsl-annotation-assistant
这个技能用于为C/C++程序生成ACSL(ANSI/ISO C Specification Language)形式验证注释,支持函数契约、循环不变量、内存安全注释等,以帮助使用Frama-C等工具进行代码验证和形式验证。关键词:ACSL,形式验证,C/C++,函数契约,Frama-C,代码注释,软件测试。
抽象机Skill abstract-machine
抽象机技能用于实现抽象机器,以定义和执行编程语言的操作语义,构建高效解释器,实现虚拟机,并应用于编程语言理论、教学和软件开发。关键词:抽象机、操作语义、编程语言、解释器、虚拟机、CEK机器、SECD机器、Krivine机器、编译器、形式语义。
抽象解释引擎Skill abstract-interpretation-engine
这个技能实现抽象解释框架,用于静态程序分析、bug检测和程序验证。它支持多种抽象域,如符号域、区间域,并提供固定点计算和widening操作以确保终止。关键词:抽象解释、静态分析、程序验证、bug检测、抽象域、固定点、widening、程序分析、静态分析器、软件验证。
Web应用测试Skill webapp-testing
这个技能是使用Playwright进行本地Web应用程序测试的工具包,支持验证前端功能、调试UI行为、捕获浏览器截图和查看浏览器日志,适用于自动化测试、调试和QA流程。关键词:Playwright测试、Web应用自动化、前端测试、UI调试、浏览器自动化、QA工具。