Static Analysis
If you like applying Static Analysis, every challenge here gives you a chance to practice it on a real industry brief.
- StrategyBeginnerNew
Code Review Bootcamp for an Early-Stage Mobile Team
Read the team's last 100 merged PRs (export provided) and tag the 10 worst review threads (rubber-stamp, bikeshed, missing context). Draft a 4-page code-review guideline coverin…
- Code Review
- Team Coaching
- Process Design
Software Construction - DesignSeniorNew
Design a Symbolic-Execution Test-Generation Pipeline for a Date-Time Library
Design a generation pipeline that turns the public parsing and arithmetic surface of the supplied library module into branch-covering test inputs using a symbolic-execution engi…
- Symbolic Execution
- Klee
- Test Generation
Open coursework - CodeBeginnerNew
Build a Secure-Coding Linter Ruleset for a Backend Team
Using the findings log, study the twelve documented security-review findings and confirm the three repeat patterns. Then build a custom linter ruleset — choose Semgrep or custom…
- Secure Coding
- Static Analysis
- Semgrep
Open coursework - CodeSeniorNew
Detect Use-After-Free with Pointer Analysis in a C++ Codebase
Build the codebase with compilation database (compile_commands.json). Write a custom Clang static-analyzer checker (or extend an existing one) that flags resource-handle uses af…
- Pointer Analysis
- Static Analysis
- Use After Free
Open coursework Practice your coursework on real scenarios.
Every challenge is shaped from real-world context — not generic exercises. The work mirrors what your degree prepares you for.
Why Ewance
- DesignIntermediateNew
Rate and Reduce Technical Debt in a Telecom OSS Codebase
Design a SQALE-based technical-debt rating and improvement proposal for Lumera Telekom's OSS. Using only the static-analysis findings export, the module inventory and rating gri…
- Sqale Method
- Technical Debt
- Code Quality
Open coursework - AnalysisIntermediateNew
Build a Technical Debt Register for a Legacy Banking Monolith
Run 8 structured 45-minute engineer interviews (template provided) capturing one debt item per pain point with reproducible evidence. Run SonarQube against the monolith for a qu…
- Technical Debt
- Debt Quadrant
- Code Quality
Technical Debt Management - DesignSeniorNew
Migrate a 600K-LOC Monolith to a Modular Monolith
Run static dependency analysis on the monolith (using Packwerk + custom Ruby AST scripts, both available) to surface the current implicit modules and the worst cross-module depe…
- Large Scale Codebases
- Modular Monolith
- Static Analysis
Advanced Software Engineering - CodeIntermediateNew
Find the Dead Code Hiding in a Python Monorepo
Build a dataflow- and call-graph-based dead-code detector in Python (using libcst, or the standard ast module together with jedi) and prove it on the materials provided. Run it …
- Dataflow Analysis
- Ast
- Call Graph
Open coursework - Browse challenges
Explore role
Product Manager
Ship product that solves real user problems. Combine user research, prototyping, and stakeholder alignment to turn ambiguous briefs into measurable wins — the role at the centre of modern software teams.
- CodeIntermediateNew
Build a CodeQL Query Pack to Catch Logging of Personal Data
Using the provided personal-data source and logging-sink specification, write CodeQL data-flow queries for Java and Python that detect personal data travelling from a source (re…
- Static Analysis
- Codeql
- Data Flow Analysis
Open coursework - AnalysisBeginnerNew
Code-Smell Triage Workshop for a Hiring-Platform Backend
Run static analysis (SonarQube + a custom ruleset for domain-specific smells) on the four most-touched services. Score each smell on the 22-item Fowler catalog by occurrence cou…
- Code Smells
- Static Analysis
- Refactoring Prioritization
Open coursework - DesignSeniorNew
Design a Semantic Configuration Validator Using Abstract Interpretation
Using the configuration schema reference, the three incident post-mortems, and the 200-configuration validation set provided, design an abstract domain that captures relations b…
- Abstract Interpretation
- Static Analysis
- Rust Programming
Open coursework - CodeBeginnerNew
Case File: Smart-Pointer Refactor of a Game-Engine Module
Work only from the four supplied items: the representative entity-component-system module slice, the before-refactor heaptrack leak readout, the de-identified incident log, and …
- Cpp Programming
- Manual Memory Management
- Pointers
Open coursework Build a verifiable portfolio.
Submissions become evidence. Reviewers with shipping experience score against a rubric; the result becomes a credential anyone can verify.
Why Ewance
How it works
From brief to credential, in six steps.
Step 01
Browse challenges aligned to your studies.
Step 02
Accept the one that fits your goals.
Step 03
Work through it with AI Copilot guidance.
Step 04
Submit for structured evaluation.
Step 05
Earn a verified credential.
Step 06
Add it to LinkedIn with one click.
Industry teams behind a decade of practitioner briefs
Hiring from this pool?
Sponsor a challenge and meet candidates through actual work.
Industry teams can shape briefs around the skills they hire for, then evaluate students on rubric-scored deliverables — not resumes.



















































































