4kB of flash memory is significant memory space for a sensor application. As an example, one can store a program performing the following functions in less than 4kB of flash memory:
1) Measure one differential input.
2) Measure two single-ended inputs.
3) Read a non-chip temperature sensor.
4) Read VDD.
5) Set two analog outputs.
6) Set alarm trip points using GPIO pins.
7) Implement a 2nd-order compensation function.
Of course, programming expertise is always a factor in how efficiently the memory space is used.