Results 1 -
2 of
2
Software as Learning: Quality Factors and Life-Cycle Revised
, 2000
"... . In this paper Software Development (SD) is understood explicitly as a learning process, which relies much more on induction than deduction, with the main goal of being predictive to requirements evolution. Concretely, classical processes from philosophy of science and machine learning such as h ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
. In this paper Software Development (SD) is understood explicitly as a learning process, which relies much more on induction than deduction, with the main goal of being predictive to requirements evolution. Concretely, classical processes from philosophy of science and machine learning such as hypothesis generation, refinement, confirmation and revision have their counterpart in requirement engineering, program construction, validation and modification in SD, respectively. Consequently, we have investigated the appropriateness for software modelling of the most important paradigms of modelling selection in machine learning. Under the notion of incremental learning, we introduce a new factor, predictiveness, as the ability to foresee future changes in the specification, thereby reducing the number of revisions. As a result, other quality factors are revised. Finally, a predictive software life cycle is outlined as an incremental learning session, which may or may not be aut...
Predictive Software
"... We examine the adaptation of classical machine learning selection criteria to ensure or improve the predictiveness of specifications. Moreover, inspired in incremental learning, software construction is also seen as an incremental process which must generate and revise the specification with the mai ..."
Abstract
- Add to MetaCart
We examine the adaptation of classical machine learning selection criteria to ensure or improve the predictiveness of specifications. Moreover, inspired in incremental learning, software construction is also seen as an incremental process which must generate and revise the specification with the main goal of being predictive to requirements evolution. The new goal is not necessarily to achieve the highest accuracy at the end of a first prototype or version, but to maximise the cumulative benefits obtained throughout the entire software life-cycle. This suggests a new software life-cycle, whose main characteristic is to move modifications earlier, by using more eager inductive techniques, and reducing overall modification probability. This new predictive software life-cycle is particularised for the case of (functional) logic programming, placing the deductive/inductive techniques necessary for each stage of the life-cycle. The maturity of each stage and the practical possibilities for a (semi-)automation of the cycle based on declarative techniques are also discussed.

