SPB Git

spb/wp44_uqo

Public
19.3 KB · 139 lines python
1"""Area software_pl: categories 14-17 (software engineering, programming languages, compilers, formal verification)."""23CATEGORIES = [4dict(5    id="software_engineering", number=14, name="Software Engineering", area="software_pl",6    definition=("How software is specified, built, tested, maintained and studied: requirements, architecture, testing "7                "and debugging, program repair, mining software repositories, empirical studies of developers, DevOps, "8                "model-driven engineering, open-source ecosystems, and AI-assisted software development. Language design "9                "is programming_languages; proofs of correctness are formal_verification."),10    topics=[("T10430", 1.0, "software engineering techniques and practices"), ("T10260", 1.0, "software engineering research"),11            ("T10639", 1.0, "advanced software engineering methodologies"), ("T10743", 1.0, "software testing and debugging"),12            ("T11450", 1.0, "model-driven software engineering"), ("T12423", 1.0, "software reliability and analysis"),13            ("T12490", 1.0, "software engineering and design patterns"), ("T11675", 0.8, "open source software"),14            ("T13197", 0.8, "spreadsheets and end-user computing"), ("T12127", 0.7, "software system performance, microservices, AIOps"),15            ("T10679", 0.7, "service-oriented architecture and web services"), ("T12799", 0.6, "mobile and web applications"),16            ("T12601", 0.5, "web applications and data management"), ("T10533", 0.4, "teaching and learning programming"),17            ("T11986", 0.4, "research software and scientific workflows"), ("T12479", 0.3, "web application security vulnerabilities"),18            ("T13650", 0.3, "Python scientific programming"), ("T10126", 0.2, "logic, programming and type systems"),19            ("T13034", 0.2, "information systems education and curriculum"), ("T13681", 0.1, "engineering and information technology")],20    subfields=[(1712, 0.5)],21    arxiv=[("cs.SE", 1.0)],22    streams=[("conf/icse", 1.0), ("conf/sigsoft", 1.0), ("conf/kbse", 1.0), ("conf/issta", 1.0), ("conf/msr", 1.0),23             ("conf/icst", 1.0), ("conf/saner", 1.0), ("journals/tse", 1.0), ("journals/tosem", 1.0), ("journals/ese", 1.0),24             ("journals/jss", 1.0), ("journals/infsof", 1.0), ("conf/re", 1.0), ("conf/models", 1.0), ("conf/issre", 1.0),25             ("conf/qrs", 1.0), ("journals/spe", 1.0), ("journals/software", 1.0), ("conf/caise", 0.6), ("conf/compsac", 0.6),26             ("journals/jossw", 0.5), ("journals/softx", 0.5), ("journals/aes", 0.5), ("journals/csse", 0.4),27             ("journals/tr", 0.3), ("conf/dsn", 0.3), ("journals/computing", 0.3), ("conf/sac", 0.2), ("journals/cacm", 0.1),28             ("journals/computer", 0.1), ("conf/icws", 0.3), ("journals/tsc", 0.3), ("conf/fedcsis", 0.2), ("conf/gi", 0.2),29             ("journals/ieicetd", 0.1), ("journals/jsjkx", 0.1), ("conf/iceis", 0.3), ("conf/sigcse", 0.2), ("conf/iticse", 0.2)],30    keywords=[31        (r"(?i)\bsoftware (engineering|development|testing|maintenance|evolution|quality|defects?|bugs?|repositor(y|ies)|architectures?|design|reuse|process(es)?|product lines?|projects?|metrics|vulnerabilit(y|ies)|ecosystems?|supply chains?|requirements?|documentation|analytics|practitioners?|developers?|teams?|artifacts?|systems? engineering|verification and validation|reliability|security practices|refactoring|modernization|migration|libraries|dependencies)\b", 1.0, "both"),32        (r"(?i)\b(code (review|generation|completion|smells?|clones?|search|summari[sz]ation|comprehension|quality|coverage|readability|translation|refactoring|LLMs?)|program (repair|comprehension|synthesis|analysis|slicing)|bug (locali[sz]ation|fixing|reports?|prediction|detection|triage)|defect prediction|fault locali[sz]ation|test (generation|cases?|suites?|oracles?|flakiness|automation|prioriti[sz]ation|amplification)|unit tests?|fuzz(ing|ers?)|mutation testing|regression testing|continuous (integration|delivery|deployment)|DevOps|CI/CD|technical debt|refactoring|static analysis|dynamic analysis|GitHub|open[- ]source (projects?|software|development|communities)|Stack Overflow|pull requests?|commit (messages?|histor)|issue (tracking|reports?)|mining software|API (usage|misuse|evolution|documentation|recommendation)|build (systems?|failures?)|configuration (errors?|management)|infrastructure as code|logging practices|AIOps|incident management)\b", 1.0, "both"),33        (r"(?i)\b(agile|Scrum|Kanban|requirements engineering|user stories|model-?driven|MDE\b|UML\b|SysML|domain-?specific modeling|microservices?|monolith|low-?code|no-?code|end-?user (programming|development)|spreadsheets?|pair programming|code ownership|onboarding|developer (productivity|experience|tools|surveys?)|programmers?' )\b", 0.8, "both"),34        (r"(?i)\b(LLM|AI|automated|neural|learning)-?(based|assisted|powered|driven)? (software engineering|code generation|programming|program repair|test generation|code review|debugging)\b|\b(code|coding) (LLMs?|assistants?|models?|agents?)\b|\bCopilot\b|\bvibe coding\b|\bLLMs? for (code|software|programming|testing)\b|\bAI pair programm\w+\b|\bCodex\b|\bStarCoder\b|\bCodeLlama\b|\bHumanEval\b|\bMBPP\b|\bSWE-?bench\b", 1.0, "both"),35        (r"(?i)\b(developers?|programmers?|software|codebase|source code|programs?|debugging|testing|maintainab)\b", 0.3, "both"),36    ],37    exclusions=[],38    related=["programming_languages", "formal_verification", "llm", "hci", "ai_agents", "operating_systems"],39    parent_of=[], child_of=[],40    provenance=("All 5 topics of OpenAlex subfield 1712 plus SE topics in 1702/1710 (T10639, T10430, T10260) and Social "41                "Sciences (T12490); ICSE/FSE/ASE/TSE/TOSEM/EMSE are the core venues; cs.SE suffices alone."),42),43dict(44    id="programming_languages", number=15, name="Programming Languages", area="software_pl",45    definition=("Design, semantics, type systems and implementation principles of programming languages: type theory, "46                "operational and denotational semantics, functional and logic programming, effects, concurrency models, "47                "memory safety, domain-specific languages, program analysis as a language problem. Code generation and "48                "optimisation pipelines are compilers (a child); machine-checked correctness is formal_verification."),49    topics=[("T10126", 1.0, "logic, programming and type systems"), ("T11727", 0.3, "advanced algebra and logic"),50            ("T11567", 0.2, "formal languages and automata"), ("T12002", 0.2, "computability and logic"),51            ("T10533", 0.2, "teaching and learning programming"), ("T13197", 0.2, "end-user programming")],52    subfields=[],53    arxiv=[("cs.PL", 1.0), ("cs.LO", 0.3), ("cs.FL", 0.2)],54    streams=[("journals/pacmpl", 1.0), ("conf/pldi", 1.0), ("conf/oopsla", 1.0), ("conf/esop", 1.0), ("journals/toplas", 1.0),55             ("journals/jfp", 1.0), ("conf/fscd", 0.8), ("conf/sas", 0.6), ("journals/mscs", 0.5), ("conf/ppopp", 0.5),56             ("conf/concur", 0.4), ("conf/csl", 0.3), ("conf/lics", 0.3), ("journals/lmcs", 0.3), ("conf/cgo", 0.3),57             ("conf/cc", 0.3), ("journals/acta", 0.3), ("conf/birthday", 0.1), ("journals/tcs", 0.1), ("journals/spe", 0.2),58             ("journals/computing", 0.1), ("conf/sigcse", 0.1)],59    keywords=[60        (r"(?i)\bprogramming languages?\b|\blanguage (design|semantics|implementation|features?|constructs?|runtimes?)\b|\bPL (research|community|theory)\b", 1.0, "both"),61        (r"(?i)\btype (systems?|theory|inference|checking|safety|soundness|classes|errors?|annotations?|directed)\b|\b(dependent|gradual|refinement|session|linear|affine|effect|ownership|intersection|union|algebraic data|polymorphic|higher-?kinded|substructural) types?\b|\b(statically|dynamically)[- ]typed\b|\btyped (lambda|functional|assembly|languages?)\b", 1.0, "both"),62        (r"(?i)\b(lambda[- ]calculus|pi-?calculus|operational semantics|denotational semantics|axiomatic semantics|program semantics|abstract interpretation|separation logic|Hoare logic|category theory|monads?|monadic|algebraic effects|effect handlers|continuations?|CPS\b|Curry-?Howard|homotopy type theory|cubical|normali[sz]ation by evaluation|bidirectional typing|subtyping|parametricity|logical relations|step-?indexed|coinduction|abstract machines?)\b", 1.0, "both"),63        (r"(?i)\b(functional programming|logic programming|constraint logic programming|answer set programming|probabilistic programming languages?|reactive programming|dataflow programming|array programming|Haskell|OCaml|Standard ML|Scheme|Racket|Clojure|Erlang|Elixir|Scala|Prolog|Datalog|Coq|Agda|Idris|Lean 4|Rust|WebAssembly|Wasm|Kotlin|Swift|Julia|domain-?specific languages?|DSLs?|embedded DSL|metaprogramming|macros?|staging|multi-?stage programming|garbage collect(ion|ors?)|memory safety|unsafe (code|Rust)|borrow checker|ownership (types?|model)|smart contracts? languages?|language (interoperability|workbench)|parser (combinators?|generators?)|grammars? (for|of) programming)\b", 0.9, "both"),64        (r"(?i)\b(program (synthesis|analysis|verification|transformation|equivalence|slicing|refinement|calculation)|static analysis|dataflow analysis|points?-?to analysis|alias analysis|taint analysis|symbolic execution|partial evaluation|interpreters?|virtual machines? for|bytecode|intermediate language|runtime systems?|concurrency (primitives|models|bugs)|memory models?|weak memory|data races?|deadlock (detection|freedom)|software transactional memory|actors? model|async/await|coroutines?|exceptions? handling|gradual verification)\b", 0.6, "both"),65        (r"(?i)\b(syntax|semantics|compil\w+|interpret\w+|languages?|programs?|programming)\b", 0.2, "both"),66    ],67    exclusions=[],68    related=["compilers", "formal_verification", "software_engineering", "computational_complexity"],69    parent_of=["compilers"], child_of=[],70    provenance=("T10126 is the single OpenAlex PL topic (types, logic, programming); PACMPL (POPL/OOPSLA/ICFP/PLDI) is the "71                "dominant venue stream in DBLP; conf/popl and conf/icfp have no separate stream over the window."),72),73dict(74    id="compilers", number=16, name="Compilers", area="software_pl",75    definition=("Translation and optimisation of programs for execution: compiler construction, intermediate representations, "76                "optimisation passes, code generation, JIT compilation, auto-vectorisation and parallelisation, polyhedral "77                "methods, high-level synthesis, and compilers for machine-learning workloads and accelerators. "78                "A child of programming_languages."),79    topics=[("T10054", 0.6, "parallel computing: compiler optimization, OpenMP, CUDA"), ("T10126", 0.4, "logic, programming and type systems"),80            ("T10904", 0.3, "embedded systems design: high-level synthesis"), ("T13650", 0.2, "Python scientific programming (JIT, NumPy)")],81    subfields=[],82    arxiv=[("cs.PL", 0.5), ("cs.DC", 0.1), ("cs.AR", 0.1), ("cs.MS", 0.1), ("cs.PF", 0.1)],83    streams=[("conf/cgo", 1.0), ("conf/cc", 1.0), ("conf/pact", 0.8), ("conf/pldi", 0.6), ("journals/taco", 0.6),84             ("conf/ppopp", 0.5), ("conf/asplos", 0.4), ("conf/mlsys", 0.4), ("journals/pacmpl", 0.3), ("journals/toplas", 0.3),85             ("conf/ics", 0.3), ("conf/sc", 0.2), ("conf/micro", 0.2), ("journals/tecs", 0.2), ("conf/europar", 0.2),86             ("journals/tpds", 0.1), ("conf/ipps", 0.1), ("journals/jpdc", 0.1), ("conf/esop", 0.2), ("conf/sas", 0.2),87             ("journals/spe", 0.2), ("conf/date", 0.1), ("conf/dac", 0.1), ("conf/fccm", 0.2), ("conf/fpga", 0.2)],88    keywords=[89        (r"(?i)\bcompilers?\b|\bcompilation\b|\bcompiler (optimi[sz]ation|design|infrastructure|passes|back-?ends?|front-?ends?|frameworks?|construction|bugs?|testing|fuzzing|verification|correctness)\b|\bcompiling\b", 1.0, "both"),90        (r"(?i)\b(LLVM|MLIR|GCC|Clang|TVM|XLA|Halide|TensorRT|polyhedral|auto-?tuning|auto-?vectori[sz]ation|vectori[sz]ation|loop (tiling|fusion|unrolling|interchange|transformations?|nests?|optimi[sz]ations?)|register allocation|instruction (scheduling|selection)|intermediate representations?|IR\b.*\b(lowering|optimi[sz]ation)|just-?in-?time|JIT\b|ahead-?of-?time|AOT\b|code generation (for|targeting)|binary (translation|rewriting|optimi[sz]ation)|decompil\w+|superoptimi[sz]\w+|peephole|tensor compilers?|kernel (generation|fusion|compilers?)|operator fusion|graph (compilers?|lowering|rewriting for)|schedule (search|space)|cost models? for (compilers?|code))\b", 1.0, "both"),91        (r"(?i)\b(high-?level synthesis|HLS\b|OpenMP|OpenCL|OpenACC|CUDA (kernels?|code|programming)|SYCL|parallelizing|auto-?parallel|program transformation|link-?time optimi[sz]ation|profile-?guided|whole-?program|inlining|dead code|constant (propagation|folding)|SSA\b|static single assignment|control-?flow graphs?|data-?flow (analysis|graphs?)|alias analysis|escape analysis|garbage collector (design|implementation)|managed runtimes?|interpreters? (design|performance)|bytecode (optimi[sz]ation|interpreters?)|WebAssembly compil|transpil\w+|source-?to-?source)\b", 0.7, "both"),92        (r"(?i)\b(machine learning|deep learning|ML|DL|AI|neural network|DNN|tensor|quantum|domain-?specific|hardware|FPGA|GPU|accelerator|verified|certified) compilers?\b|\bcompilers? for (machine learning|deep learning|neural networks?|accelerators?|GPUs?|FPGAs?|quantum)\b", 1.0, "both"),93        (r"(?i)\b(Triton|CUTLASS|cuDNN|oneDNN|XNNPACK|ONNX|TorchInductor|torch\.compile|TorchScript|Glow|nGraph|IREE|Tiramisu|AutoTVM|Ansor|CompCert|CakeML|Cranelift|V8|HotSpot|GraalVM|Numba|JAX (compilation|tracing)|Mojo)\b", 0.8, "both"),94    ],95    exclusions=[],96    related=["programming_languages", "ai_accelerators", "computer_architecture", "scientific_computing", "distributed_computing"],97    parent_of=[], child_of=["programming_languages"],98    provenance=("No dedicated OpenAlex topic: compiler optimisation sits inside T10054 (keywords list 'compiler optimization') "99                "and T10126. CGO/CC/PACT/TACO are the dedicated streams; keyword patterns (compiler, LLVM, MLIR, polyhedral...) carry the category."),100),101dict(102    id="formal_verification", number=17, name="Formal Verification", area="software_pl",103    definition=("Mathematically rigorous establishment of system properties: model checking, theorem proving and proof "104                "assistants, SAT/SMT solving and automated reasoning, deductive and runtime verification, verified software "105                "and hardware, formal semantics as a verification tool, verification of neural networks, smart contracts and "106                "protocols, automata and temporal logics. Language semantics as design is programming_languages."),107    topics=[("T10142", 1.0, "formal methods in verification"), ("T11125", 0.8, "Petri nets in system modeling"),108            ("T12002", 0.4, "computability, logic and AI algorithms"), ("T11010", 0.4, "logic, reasoning and knowledge"),109            ("T11596", 0.4, "constraint satisfaction and optimization (SAT/CSP)"), ("T11727", 0.3, "advanced algebra and logic"),110            ("T11567", 0.3, "automata theory"), ("T10126", 0.3, "logic, programming and type systems"),111            ("T11424", 0.2, "security and verification in computing"), ("T13286", 0.2, "modeling and simulation systems")],112    subfields=[],113    arxiv=[("cs.LO", 1.0), ("cs.FL", 0.6), ("cs.PL", 0.2), ("cs.SE", 0.1)],114    streams=[("conf/cav", 1.0), ("conf/tacas", 1.0), ("conf/fm", 1.0), ("conf/cade", 1.0), ("conf/itp", 1.0), ("conf/cpp", 1.0),115             ("conf/fmcad", 1.0), ("conf/vmcai", 1.0), ("journals/fmsd", 1.0), ("journals/jar", 1.0), ("journals/tocl", 0.8),116             ("conf/sat", 0.8), ("conf/lpar", 0.8), ("conf/lics", 0.6), ("conf/csl", 0.6), ("journals/lmcs", 0.6),117             ("conf/concur", 0.6), ("conf/cp", 0.5), ("conf/fossacs", 0.5), ("journals/constraints", 0.4), ("journals/acta", 0.4),118             ("conf/sas", 0.4), ("journals/apal", 0.3), ("journals/iandc", 0.3), ("conf/jelia", 0.3), ("conf/aiml", 0.3),119             ("conf/kr", 0.3), ("journals/mscs", 0.3), ("conf/fscd", 0.3), ("conf/dlt", 0.3), ("conf/birthday", 0.2),120             ("journals/tcs", 0.2), ("conf/dsn", 0.1), ("journals/tse", 0.1), ("conf/icse", 0.05), ("journals/pacmpl", 0.2),121             ("conf/pldi", 0.2), ("conf/esop", 0.3), ("conf/models", 0.2), ("conf/rtss", 0.1), ("journals/tcad", 0.1),122             ("conf/date", 0.1), ("conf/dac", 0.1)],123    keywords=[124        (r"(?i)\bformal (verification|methods?|specification|semantics|proofs?|analysis|modell?ing|reasoning|guarantees)\b|\bformally (verified|proved|proven|specified)\b", 1.0, "both"),125        (r"(?i)\b(model check(ing|ers?)|theorem prov(ing|ers?)|proof assistants?|interactive theorem|automated (reasoning|theorem|deduction)|SMT (solvers?|solving)|SAT (solvers?|solving)|satisfiability modulo|bounded model checking|symbolic model checking|abstraction refinement|CEGAR|IC3|PDR\b|k-?induction|temporal logics?|LTL\b|CTL\b|TCTL|mu-?calculus|Büchi|timed automata|hybrid automata|probabilistic model checking|PRISM model|refinement (calculus|checking)|TLA\+|Isabelle|Coq|Rocq|Lean (prover|4|theorem)|Agda|Dafny|Why3|Frama-?C|SPARK Ada|Z3|CVC[45]|Alloy|Event-?B|Petri nets?|process (algebras?|calculi)|bisimulation|rewriting logic|Maude|B method|VDM\b)\b", 1.0, "both"),126        (r"(?i)\b(verified (compilers?|software|implementations?|kernels?|systems?|cryptograph\w+|parsers?|libraries)|certified (programming|software|compilers?)|mechani[sz]ed (proofs?|semantics|metatheory|formali[sz]ation)|machine-?checked|proof of correctness|correct-?by-?construction|deductive verification|invariant (synthesis|generation|inference)|loop invariants?|runtime verification|runtime monitoring|contract-?based|design by contract|refinement types for verification|termination (analysis|proofs?)|verification conditions?|weakest precondition|proof (obligations?|engineering|repair|automation))\b", 1.0, "both"),127        (r"(?i)\b(neural network verification|verif(y|ying|ication of) (neural|deep|DNN|smart contracts?|cryptographic protocols?|distributed (protocols?|systems?)|hardware|RTL|hybrid systems?|cyber-?physical|autonomous|learning-?enabled)|safety verification|reachability analysis|abstract domains?|barrier certificates?|symbolic reasoning about|equivalence checking|hardware verification|formal hardware)\b", 1.0, "both"),128        (r"(?i)\b(automata|decidab(le|ility)|undecidab|satisfiab(le|ility)|unsatisfiable core|constraint solving|first-?order logic|higher-?order logic|modal logic|separation logic|Hoare logic|dynamic logic|description logics?|answer set|logic programming for verification|proof (search|systems?|theory|nets)|sequent calculus|resolution (proving|refutation)|superposition|E prover|Vampire)\b", 0.7, "both"),129        (r"(?i)\b(autoformali[sz]ation|formal (mathematics|theorem proving) (with|using|via) (LLMs?|language models?|neural)|neural theorem proving|LLM-?based (theorem|proof)|Lean (proofs?|theorems?|mathlib)|miniF2F|ProofNet|AlphaProof|DeepSeek-?Prover|proof (generation|synthesis) (with|using) (LLMs?|language models?))\b", 1.0, "both"),130        (r"(?i)\b(verification|verified|correctness|soundness|completeness|specification|logic|proofs?)\b", 0.2, "both"),131    ],132    exclusions=[],133    related=["programming_languages", "software_engineering", "computational_complexity", "applied_cryptography", "ai_safety", "computer_architecture"],134    parent_of=[], child_of=[],135    provenance=("T10142 is the OpenAlex formal-methods topic; logic/automata topics of 1703 (T12002, T11567, T11727) and Petri "136                "nets (T11125) support it. CAV/TACAS/FM/CADE/ITP/CPP/FMCAD/VMCAI/JAR/FMSD are dedicated streams; cs.LO suffices alone."),137),138]139
Files · 1633da005afd6c25974124eee5949692062c9a1d
Menu

Theme