In software engineering, functional size is a quantity that allows developers to measure how large or complex a program is, based on the functions it provides to its users. It is widely used to estimate the amount of work and cost required to create the software. So far, a variety of tools have been developed for estimating functional size or the software project cost based on the software size, including COCOMO, which estimates cost based on the number of lines of code in the software, and Function Point Analysis, which measures the software’s functionality. However, many of these methods need to be applied manually by developers, making them costly and time-consuming. Read More
If the task of measuring functional size could be carried out automatically, it would save considerable time and effort. Today, several tools have been developed in attempts to automate this process, but their progress has been held back by significant challenges.
Dr Sylvie Trudel, Dr Bruel Gérançon and colleagues at the Université du Québec à Montréal have carried out a detailed review of this problem. Based on their findings, the team has created a new technique for writing software requirements based on AI, called the triplets approach, which could make it easier to automate the measurement of functional size.
The team’s review focused on a second-generation measurement method called COSMIC, also known as the ISO-19761 standard, which aims to overcome some limitations of previous approaches, by measuring software size earlier in the development process.
Based on their analysis, the researchers questioned whether the way that software requirements are currently written is hindering efforts to measure functional size automatically. One major issue they identified is that software requirements are often written in everyday language, which can be difficult to interpret for anyone or any tool that proceeds to measurement. This often leads to errors in the measurement of functional size.
To overcome this challenge, Trudel’s team introduced a new technique for writing software requirements called the ‘triplet’ approach. Here, software requirements are broken down into three parts: the Subject, which represents the user who interacts with the system; the Predicate, which describes the action triggered by the user; and the Object, which refers to the software affected by the action.
By structuring software requirements in this way, the team demonstrated how AI could be used to extract these three features from software requirements, and then translate them into formats that could be more easily processed with the COSMIC method.
By implementing these steps, the team hopes that COSMIC will soon be able to measure functional sizes automatically. This would help developers make more accurate estimates of project budgets and timelines, ultimately improving the efficiency of software development processes.