Krzysztof Krawiec


Home

Research:

edit SideBar

We investigate semantic properties of linear programs, both internally, by analyzing the memory states they produce during execution, and externally, by inspecting program outcomes. The main concept of the formalism we propose is program trace, which reflects the behavior of program in semantic space. It allows us to characterize programming tasks in terms of traces of programs that solve them, and to propose certain measures that reveal their properties. We are primarily interested in measures that quantitatively characterize functional (semantic, behavioral) modularity of programming tasks. The experiments conducted on large samples of linear programs written in Push demonstrate that semantic structure varies from task to task, and reveal patterns of different forms of modularity. In particular, we identify interesting relationships between task modularity, task complexity, and program length, and conclude that a great share of programming tasks are modular.

@INPROCEEDINGS { krawiec:2012:GECCOPush,
    AUTHOR = { Krawiec, Krzysztof },
    TITLE = { On Relationships Between Semantic Diversity, Complexity and Modularity of Programming Tasks },
    BOOKTITLE = { Proceedings of the Fourteenth International Conference on Genetic and Evolutionary Computation Conference },
    SERIES = { GECCO '12 },
    YEAR = { 2012 },
    ISBN = { 978-1-4503-1177-9 },
    LOCATION = { Philadelphia, Pennsylvania, USA },
    PAGES = { 783--790 },
    NUMPAGES = { 8 },
    URL = { http://doi.acm.org/10.1145/2330163.2330272 },
    DOI = { 10.1145/2330163.2330272 },
    ACMID = { 2330272 },
    PUBLISHER = { ACM },
    ADDRESS = { New York, NY, USA },
    KEYWORDS = { genetic programming, modularity, push, semantics },
    ABSTRACT = { We investigate semantic properties of linear programs, both internally, by analyzing the memory states they produce during execution, and externally, by inspecting program outcomes. The main concept of the formalism we propose is program trace, which reflects the behavior of program in semantic space. It allows us to characterize programming tasks in terms of traces of programs that solve them, and to propose certain measures that reveal their properties. We are primarily interested in measures that quantitatively characterize functional (semantic, behavioral) modularity of programming tasks. The experiments conducted on large samples of linear programs written in Push demonstrate that semantic structure varies from task to task, and reveal patterns of different forms of modularity. In particular, we identify interesting relationships between task modularity, task complexity, and program length, and conclude that a great share of programming tasks are modular. },
}


Powered by PmWiki