# Software portability
## MicroSim spec
- **Recommended sim type:** platform / [[Adaptation|adaptation]]
- **Microsimmability score:** 79/100
- **Layout:** drawing region (canvas) on top; control region (sliders/buttons) below.
### Parameters (tunable controls)
- `Platform-specific code %`
- `Abstraction layers`
- `Target platforms`
### What animates
Software migrates across platforms; porting effort falls as the platform-specific fraction shrinks behind abstraction layers.
### Learning objective
Relate porting effort to platform [[Coupling|coupling]] and abstraction.
## Links (Wikipedia order)
<!-- injected from _registry/childlinks/Software_portability.json (2026-07-30T02:09:12Z) -->
`Abstraction_(computer_science)` · [[Accuracy_and_precision]] · [[Adaptability]] · [[Algorithmic_efficiency]] · `Arithmetic_shift` · `Bourne_shell` · `C++` · `C_(programming_language)` · `Compiler` · [[Computer_programming]] · `Computing_platform` · `Conditional_compilation` · [[Correctness_(computer_science)]] · `Cross-platform_software` · `Device_driver` · `Endianness` · `Executable` · [[Flexibility_(engineering)]] · `ISO/IEC_9126` · `Installation_(computer_programs)` · `Integer_(computer_science)` · `Interoperability` · `JavaScript` · `Linker_(computing)` · `Linux_distribution` · `List_of_system_quality_attributes` · `Logical_shift` · [[Loose_coupling]] · [[Maintainability]] · `Make_(software)` · `Mass_storage` · `Microprocessor` · `Microsoft_Windows` · [[Non-functional_requirement]] · `Open-source_software` · `Operating_system` · [[Orthogonality_(programming)]] · `Porting` · [[Reliability_engineering]] · [[Reusability]] · [[Robustness_(computer_science)]] · [[Scalability]] · [[Software_quality]] · [[Software_quality_assurance]] · [[Software_quality_control]] · [[Software_quality_management]] · [[Software_sizing]] · [[Software_testability]] · `Source-to-source_compiler` · `Source_code` · [[Usability]] · `Web_application` · `X86`
> p5.js MicroSim stub · part of System Quality Attributes · [Wikipedia source](https://en.wikipedia.org/wiki/Software_portability)
> Relation: subfield of system quality attributes.
## Concept summary
Portability is the ease of moving software to run on different platforms with minimal modification.
## Build checklist
- [ ] Claim it: set `status: in-progress` + `lease` + `leased_at`
- [ ] Write the child page explaining the concept (tie it back to system quality attributes)
- [ ] Finalize parameter ranges and defaults
- [ ] Implement the p5.js sketch (drawing + control regions)
- [ ] Add caption + the learning objective on the page
- [ ] Set `status: done`
## p5.js sketch
```javascript
// MicroSim: Software portability
let controls = {};
function setup() {
// createCanvas(...); create sliders for the parameters above.
}
function draw() {
// background(...); read controls; render platform / adaptation; respond live.
}
```
---
Back to System Quality Attributes · Wikipedia: [Software portability](https://en.wikipedia.org/wiki/Software_portability)
---
<!-- SEMIOTIC-PROFILE:START -->
## Semiotic profile
> *The semiotic universals this article invokes, machine-derived from the crossref — **unverified** (born so). Populated 2026-07-06 for the Systems room.*
**Universals (1):** 🟡 system (5)
**Enter by sign:** Systems Semiotic Gateway · Alphabetum · Icon Registry · ← Systems Portal
<!-- SEMIOTIC-PROFILE:END -->
## Wikipedia : Wikitube
**Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Software_portability) : [Wikitube](https://en.wikitube.io/wiki/Software_portability)
## Previous hub tags
Tree parent: [[Reliability_engineering]].
Legacy hubs: none.
---
*Sources: 1 legacy note. Minted wave 1, 2026-07-30 (v1.6 order).*