Abstract :
We propose a way of extracting micro processes that influence software complexity. Purposes of extracting the micro processes are (1) clarifying what micro processes influence software complexity, and (2) preventing software complexity from increasing by the micro processes. In the extraction way, at first, modules in which micro processes occurred are detected by interviews to developers of ¿known projects¿. Because relationships between complexity and occurrences of micro processes are analyzed, micro processes influencing complexity are clarified in ¿known projects¿. After that, we evaluate whether the micro processes similarly influence complexity of modules of the other ¿known¿ projects. As a result, three micro processes influencing complexity have been detected. After constructing difference models based on the relationships, the difference models have been adapted to ¿unknown¿ projects such as open source projects. Modules in which the micro processes might occur have been detected. In addition, we developed a programming editor including a function of automatic detection of occurrence of the micro processes. Using the editor, we tried to prevent source code complexity from increasing.
Keywords :
software maintenance; software metrics; open source projects; software complexity; source-code based extraction; Automatic programming; Concrete; Functional programming; Open source software; Programming profession; Prototypes; Software engineering; Software maintenance; Software measurement; Source code complexity; micro process; programming editor;