5.2. Trabajo futuro

pDI-Tools esta actualmente en un punto donde ofrece mucha más funcionalidad de la esperada. Inicialmente sólo se pedía un programa equivalente a DITools, pero este hito se superó hace tiempo y en estos momentos es mucho más fácil de usar, más portable y más potente. No obstante hay algunos aspectos que se podrían mejorar para dar mejores funcionalidades.

La funcionalidad más interesante sería añadir nuevos tipos de interposiciones que permitiesen instrumentar las llamadas dentro de un mismo DSO. Es decir, interceptar llamadas a funciones que no usan los métodos de enlace dinámico. Esto es muy complejo, y aunque creo que sería posible implementarlo sin introducir cambios estructurales en pDI-Tools, necesitariamos usar información de depuración muy dependiente del compilador y del sistema operativo. Pero sin duda esta modificación pondría a pDI-Tools al nivel de Dyninst.

Otra interesante modificación sería alterar un poco la sintaxis de los comandos de reenlace para obtener un lenguaje más flexible y próximo a una verdadera "shell". Actualmente sólo se pueden aplicar las interposiciones de una en una o todas de golpe sobre un conjunto de elementos con un comodín (*). En el futuro sería interesante poder usar "wildcards", expresiones regulares o conjuntos de elementos. Además podría ser interesante potenciar el lenguaje con condicionales y/o variables para poder realizar "scripts" de interposición de código más complejos.

Por último, sería interesante terminar de desligar la parte no-dependiente de la arquitectura del formato ELF y portar pDI-Tools a otros entornos distintos como Microsoft® Windows o Mac OS™ X (este último, aunque es Unix™, no usa el formato de reenlace ELF). Sobretodo sería interesante soportar Microsoft® Windows ya que entonces pDI-Tools estaría disponible en un mercado muy masivo, y por lo tanto más al alcance de muchos usuarios.