Draft Research Questions

June 5, 2009

I’ve been brainstorming research questions. Here goes:

Are DSL programs a significant target for maintenance effort?

If yes,

How does the maintenance of DSL programs compare to the maintenance of GPL programs?

Does change of DSL programs to meet new requirements consume significant effort?

Does debugging of DSL programs consume significant effort?

About the debugging process:

Do programmers follow a similar process for debugging DSL and GPL programs?

Do programmers perform slicing on DSL programs?

Do programmers follow a known model of GPL debugging, e.g. Hale and Haworth 1991?

About the cost of debugging:

Does debugging of DSL programs take more or less effort than similar-sized GPL programs? Why?

Do tool differences cause differences in difficulty?

Do differences in size between DSL programs and GPL programs cause differences in difficulty?

Here we can compare a

DSL program of comparable functionality.

or a

DSL program of comparable physical size, i.e. bytes/tokens/lines.

Do programmers form thorough models of DSL program execution?

Are these models correct?

Do programmers have difficulty forming cognitive models of alternative execution models?

How are programmers trained in specific DSLs?

I also have some draft interview questions, which I’ve related to the research questions. They’re even less developed, but you can see the graph:research and interview questions (click for larger size)


2 Responses to “Draft Research Questions”

  1. Greg Wilson Says:

    If DSL programs *aren’t* a significant maintenance effort, why not? (It would make them unique…)

    What’s the fairest way to compare the maintenance effort of DSL programs to GPL (general-purpose language) programs (i.e., which is the better predictor)? Equal number of lines of code, or equal functionality?

  2. Greg Wilson Says:

    Also, how useful are GPDs (general purpose debuggers) for DSL programs? Do DSL programs encourage people to rely more on code inspection (since there may not be a logical place to insert a ‘print’ statement)?

Comments are closed.

%d bloggers like this: