Next Article in Journal
Delannoy Numbers and Preferential Arrangements
Previous Article in Journal
The “Generator” of Int-Soft Filters on Residuated Lattices
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Approach of Trustworthy Measurement Allocation Based on Sub-Attributes of Software

1
College of Computer and Communication Engineering, Zhengzhou University of Light Industry, Zhengzhou 450002, China
2
MoE Engineering Center for Software/Hardware Co-Design Technology and Application, East China Normal University, Shanghai 200062, China
*
Author to whom correspondence should be addressed.
Mathematics 2019, 7(3), 237; https://doi.org/10.3390/math7030237
Submission received: 29 January 2019 / Revised: 1 March 2019 / Accepted: 1 March 2019 / Published: 6 March 2019
(This article belongs to the Section Engineering Mathematics)

Abstract

:
Measurement of software trustworthiness is an important research field in the software engineering, which is very useful for analyzing the software quality. In this paper, we propose a mathematical programming approach to allocate the trustworthy degree to each sub-attribute of some software attribute appropriately and then to make the trustworthy degree of this attribute maximize under some constraint conditions. Some sufficient or necessary conditions for analyzing this mathematical programming problem are investigated. Moreover, a polynomial allocation algorithm is given for computing the optimal solution of this mathematical programming. Finally, an example is given in order to show the significance of this work. The results obtained here are useful for improving the software quality by adjusting the trustworthy degree of each sub-attribute under the same cost.

1. Introduction

Due to the increasing dependence on software, people pay more and more attention to the research into software trustworthiness. One of the core scientific problems in this research is the software trustworthiness measurement [1]. Software trustworthiness measurement is the quantification of software trustworthiness, which can provide evidence for increasing the trustworthiness of the implementation of software. The software trustworthiness can be characterized by many attributes [2,3,4,5], which are called trustworthy attributes in this paper. Trustworthy attributes are separated into critical attributes and non-critical attributes [6]. Critical attributes are the attributes that trustworthy software must have and the other trustworthy attributes are referred to as non-critical attributes [6]. Trustworthy attributes are normally at too high of a level to be measurable directly; hence, they are further subdivided into sub-attributes. Many software trustworthiness measurement models based on the decompositions of trustworthy attributes are proposed. Typical ones include ISO/IEC 25010: 2011 [7], classification model [8], Bayesian networks [9], weakness analysis [10], questionnaires and statistical analysis [11,12], evidence theory [13], dynamic statistical analysis [14], data mining [15], fuzzy theory [16], rough set theory [17], and user feedback [18]. Weights of different attributes play key roles in obtaining accurate trustworthiness measurement; Ref. [19] proposes an approach for determining weights based on the subjective and objective integration; it gets the subjective weights by aggregating the positive reciprocal matrices given by the evaluations of different experts and acquires objective weights based on the trustworthy degrees of the attributes and the subjective weights. However, few researchers pay attention to using more rigorous approaches to software trustworthiness measurement. In order to make the software trustworthiness measure more rigorous, axiomatic approaches are applied to measure software trustworthiness by us [6,20,21,22,23,24].
The software trustworthiness measurement approach describes the procedure of determining the trustworthy degree of a software program with given trustworthy degrees of attributes. The allocation of software trustworthiness, which determines degrees of trustworthy attributes with given trustworthy degree of a software program, is very important too. It is useful for improving the software trustworthiness by adjusting the degree of each trustworthy attribute under the same cost. Ma et al. [25] have investigated the reverse of the software trustworthiness measurement approach proposed in [24]. However, as we mentioned above, trustworthy attributes are normally at too high a level to be measurable directly, and they are further subdivided into sub-attributes. In this paper, based on the trustworthy attribute measurement model built in [24], we deal with the problem of how to determine trustworthy degrees of sub-attributes with given trustworthy degree of a trustworthy attribute. We build a mathematical programming (MP) model to allocate the trustworthy degree of a trustworthy attribute to its sub-attributes appropriately, and discuss some sufficient or necessary conditions for analyzing this MP. Moreover, an allocation algorithm is proposed for solving this MP. Finally, a concrete example is presented in order to state the significance of our work. The results obtained here are useful for guiding and controlling the software quality by adjusting the trustworthy degree of each sub-attribute under the same cost.
The rest of the paper is organized as follows. In Section 2, we describe the trustworthy attribute measurement model proposed in [24]. An allocation model for software attribute trustworthiness defined as a mathematical programming model MP is introduced in Section 3 and some sufficient or necessary conditions for analyzing this MP are also discussed in this section. An allocation algorithm for solving the MP built in Section 3 is given in Section 4 and an example is presented in Section 5. The conclusions and future works are presented in the last section.

2. Software Attribute Trustworthiness Measurement Model

Axiomatic approaches formalize the empirical understandings of software attributes by the definitions of desirable measure properties [26,27,28]. They can provide precise and formal terms for the quantification of software attributes. We once used the axiomatic approaches to measure software trustworthiness based on attributes. Four desirable properties of the software trustworthiness measurement based on attributes were first given by us in [6], that is, monotonicity, acceleration, sensitivity and substitutivity. Considering the software trustworthiness related to user expectation, we putted forward the expectability property in [21]. We further improved the above property set and added three new properties: non-negativity, nullability and appropriateness of the ratio of trustworthy attributes [23]. In Ref. [22], we extended the above works to apply axiomatic approaches to measure software trustworthiness based on the decompositions of trustworthy attributes, proposed the desirable measure properties in the view of the decompositions of trustworthy attributes, established a software trustworthiness measurement model based on the decompositions of attributes as described in Definition 1, and validated this model from the theory by proving that it complied with the properties given in [22].
Definition 1
(Software trustworthiness measurement model established in [22]).
T = { α [ ( y min 10 ) ϵ y 1 α 1 y 2 α 2 y m α m ] ρ + β [ y m + 1 β m + 1 y m + 2 β m + 2 y m + s β m + s ] ρ } 1 ρ ,
where
1.
y 1 , , y m are the trustworthy degrees of critical attributes and y m + 1 , , y m + s are the trustworthy degrees of non-critical attributes;
2.
T is the software trustworthiness measure function regarding y 1 , , y m + s ;
3.
α and β are used to distinguish the contributions of critical attributes and non-critical attributes to the software trustworthiness, which satisfy that α + β = 1 , α 1 , , α m are the weight values of critical attributes and β m + 1 , , β m + 1 express the relative importance of the non-critical attributes;
4.
ϵ is used to control the effect of the minimum critical attribute on the software trustworthiness;
5.
0 < ρ is a parameter related to the substitutivity between critical and non-critical attributes;
The benefits of using the exponential model rather than the model of linear combination (i.e.,  y = j = 1 n α i y i ) for computing the trustworthy degree have been stressed in [20] in detail.
The spacecraft software trustworthiness is one of the key factors to ensure the space mission’s success. However, the evaluation of spacecraft software trustworthiness is only qualitative heretofore. In order to make the spacecraft software trustworthiness measurement more rigorous, axiomatic approaches are used to measure spacecraft software trustworthiness based on the decompositions of trustworthy attributes by us [24]. The trustworthy degree of spacecraft software is obtained by aggregating the trustworthy degree of each attribute; furthermore, the trustworthy degree of each attribute is computed by using the trustworthy degrees of its sub-attributes. Considering the particularities of spacecraft softwares, we think that all of their trustworthy attributes are critical and let ϵ = 0 ; then, the measurement model given in Definition 1 is simplified, as shown in Definition 2 [24].
Definition 2
(Simplified software trustworthiness measurement model used in [24]).
T = y 1 α 1 y 2 α 2 y n α n ,
where
1.
y 1 , , y n are the trustworthy degrees of trustworthy attributes and α 1 , , α n are their weight values;
2.
T is the software trustworthiness measure function regarding y 1 , , y n .
The simplified software trustworthiness measurement model not only satisfies the set of properties given in [22] but also is in agreement with the idea of Cannikin Law. In Ref. [24], the trustworthy attribute measurement model uses the same computational model as the software trustworthiness measurement model described in Definition 2, which is depicted in Definition 3 [24].
Definition 3
(Software attribute trustworthiness measurement model given in [24]).
y = j = 1 n x j α j ,
where
1.
y is the trustworthy degree of some attribute;
2.
n is the number of trustworthy sub-attributes that comprises this trustworthy attribute;
3.
x j { t 1 , t 2 , t k } is the trustworthy degree of the j-th sub-attribute of this trustworthy attribute, t i ( 1 i k ) are the trustworthy levels of sub-attributes with t 1 > t 2 > > t k and take values from the set { 1 , 0.9 , 0.8 , 0.7 , 0.6 , 0.5 , 0.4 , 0.3 , 0.2 , 0.1 } ;
4.
α j is the weight value of the j-th sub-attribute, with j = 1 n α j = 1 , 0 α n α n 1 α 1 1 .
Meanwhile, an empirical validation is carried out by applying the measurement models given in Definitions 2 and 3 to measure 23 spacecraft software programs [24]. The critical attributes of spacecraft software are composed of nine attributes and these nine attributes consist of 28 sub-attributes. The expert panel that consists of 10 experts grade the 28 sub-attributes and finally measure the trustworthiness of the 23 spacecraft softwares from bottom to up. The distributions of trustworthy degrees of software attributes and sub-attributes of 11 representative software programs are shown in Figure 1 and Figure 2, respectively. The trustworthy degrees of software attributes and sub-attributes are consistent with the actual situations of software product development [24], which truly reflect the spacecraft software attribute and sub-attribute trustworthiness. On the one hand, from Figure 1 and Figure 2, we can easily find the weak links in the progress of software development [24]. Therefore, the measurement models described in Definitions 2 and 3 are reasonable and effective.
Ma et al. [25] have studied the allocation of software trustworthiness based on the software trustworthiness measurement model presented in Definition 2. Since the ranges of the free variables of the software trustworthiness measurement model given in Definition 2 are different from that of the software attribute trustworthiness measurement model described in Definition 3, the allocation approach of software trustworthiness proposed in [25] is not suitable for the allocation of software attribute trustworthiness.

3. Allocation Model for Software Attribute Trustworthiness

According to the trustworthy attribute measurement model described in Definition 2, we define an allocation model for software attribute trustworthiness as the following mathematical programming model.
Definition 4
(Allocation Model for Software Attribute Trustworthiness).
Mathematical Programming (MP)
y = max j = 1 n x j α j ,
Subject to:
x j A = { t 1 , t 2 , t k } , j = 1 , 2 , , n , min j = 1 n x j , y t ,
where
1.
y is the trustworthy degree of some attribute;
2.
n is the number of trustworthy sub-attributes that comprise this trustworthy attribute;
3.
x j is the trustworthy degree of the j t h sub-attribute of this trustworthy attribute;
4.
α j is the weight value of the j t h sub-attribute such that j = 1 n α j = 1 and 0 α n α n 1 α 1 1 ;
5.
t i ( 1 i k ) are the trustworthy levels of the sub-attributes with t 1 > t 2 > > t k , and take values from the set { 1 , 0.9 , 0.8 , 0.7 , 0.6 , 0.5 , 0.4 , 0.3 , 0.2 , 0.1 } ;
6.
t is the specified trustworthy degree that this attribute must reach with 0 t 1 .
The main differences between the allocation of software attribute trustworthiness and the allocation of software trustworthiness proposed in [25] are as follows. The allocation of software trustworthiness describes the process of determining the trustworthy degree of each software attribute with the given trustworthy degree of a software [25], the range of each attribute value is [0,1]. The allocation of software attribute trustworthiness describes the process of determining the trustworthy degree of each software sub-attribute according to the given software attribute trustworthiness, the trustworthy degrees of the sub-attributes come from the set { 1 , 0.9 , 0.8 , 0.7 , 0.6 , 0.5 , 0.4 , 0.3 , 0.2 , 0.1 } . Moreover, the allocation model given in [25] only requires finding the feasible solution of the allocation of software trustworthiness; however, the allocation model created above requires finding the optimal solution of the allocation of software attribute trustworthiness.
Proposition 1.
Let y = i = 1 n x i α i , α j 1 α j ( j = 2 , 3 , , n ) and x j 1 x j > 0 ( j = 2 , , n ) , i.e., x j is monotonic non-increasing with respect to the subscript j. Then, y will be non-increasing when we exchange any x i and x j such that i < j . That is, suppose that
y = x 1 α 1 x i 1 α i 1 x j α i x i + 1 α i + 1 x j 1 α j 1 x i α j x j + 1 α j + 1 x n α n .
Then, y y .
Proof. 
y y = x i α i x j α j x j α i x i α j = ( x i x j ) α i ( x j x i ) α j = ( x i x j ) α i α j 1 ( since x i x j and α i α j ) .
Hence, y y . □
This proposition shows that the value of y is non-decreasing when the trustworthy degree assigned to x i satisfies the least subscript i, the largest value of x i . Furthermore, we have the following corollary.
Corollary 1.
(1) Let y = j = 1 n ( t k + δ j ) α j , where α j 1 α j and δ j 1 δ j for any j = 2 , 3 , n . Then, y will be non-increasing when we exchange δ i and δ j in y for any i < j . (2) Given an assignment set { a 1 , , a n } for x j ( j = 1 , , n ) in y = j = 1 n x j α j , where α j 1 α j for any j = 2 , 3 , n , and then y takes maximal value if and only if the assignments satisfy the least subscript j, the largest assignment of x j .
Corollary 1 will be useful for the latter algorithm that allocates a trustworthy degree to each sub-attribute. Now, we give an example.
Example 1.
Let
y = x 1 0.4 x 2 0.2 x 3 0.19 x 4 0.11 x 5 0.1
and { 0.1 , 0.1 , 0.2 , 0.6 , 1 } be an assignment set for x j ( j = 1 , , 5 ) . Then, some different assignments of x j exist, for example, ( x 1 , x 2 , x 3 , x 4 , x 5 ) = ( 0.6 , 0.2 , 0.1 , 1 , 0.1 ) . Among them, the assignment ( x 1 , x 2 , x 3 , x 4 , x 5 ) = ( 1 , 0.6 , 0.2 , 0.1 , 0.1 ) will make y maximize.
However, it should be pointed out that the maximal value of y is affected by the weights even if j = 1 n x j keeps unchanged, which is witnessed by the following example.
Example 2.
Let
y = x 1 0.4 x 2 0.2 x 3 0.19 x 4 0.11 x 5 0.1 , y ¯ = x 1 0.5 x 2 0.3 x 3 0.1 x 4 0.06 x 5 0.04 ,
and take ( x 1 , x 2 , x 3 , x 4 , x 5 ) = ( 1 , 0.6 , 0.2 , 0.1 , 0.1 ) and ( 1 , 0.4 , 0.4 , 0.1 , 0.1 ) , respectively. Obviously, x j is monotonic non-increasing with respect to the subscript j and j = 1 5 x j = 2 in both cases. However, it is easy to see that y ( 1 , 0.6 , 0.2 , 0.1 , 0.1 ) < y ( 1 , 0.4 , 0.4 , 0.1 , 0.1 ) , but y ¯ ( 1 , 0.6 , 0.2 , 0.1 , 0.1 ) > y ¯ ( 1 , 0.4 , 0.4 , 0.1 , 0.1 ) .
This example shows that the weights, in particular, degree of proximity between weights will affect the order between y and y ¯ . Hence, under the condition of j = 1 n x j being unchanged, if there is only an assignment set, then y takes maximal value when assignments satisfy the least subscript j, the largest value of x j ; whereas, if there are two assignment sets, then the maximal value is taken by comparing the values of y under these two assignments such that the least subscript j, the largest value of x j .
Obviously, the MP (1) has an optimal solution when t 1 = 1 A . In this case, we can give a coarse estimate of j = 1 n x j . For this purpose, we first make a little preparation.
Lemma 1.
(Chebyshev inequality) Let a i , b i 0 ( i = 1 , 2 , , n ) . If a i 1 a i and b i 1 b i for any i = 2 , , n , then
i = 1 n a i b n i + 1 1 n ( i = 1 n a i ) ( i = 1 n b i ) i = 1 n a i b i .
Lemma 2.
(Bernoulli inequality) Let c i 1 ( i = 1 , 2 , , n ) and c i c j 0 for any i , j . Then,
1 + i = 1 n c i i = 1 n ( 1 + c i ) .
Proposition 2.
Suppose that the MP (1) has an optimal solution. Then, j = 1 n x j t n + ( n 1 ) implies y t .
Proof. 
Let y = j = 1 n x j α j and a ( 0 , 1 ) . Then,
log a y = j = 1 n α j log a x j .
Clearly, log a x j 0 for any j = 1 , 2 , , n . Furthermore, the MP (1) has an optimal solution that implies that x j 1 x j by Corollary 1 (2) and then log a x j 1 log a x j for any j = 2 , , n . Hence,
log a y = j = 1 n α j log a x j 1 n ( j = 1 n α i ) ( j = 1 n log a x j ) ( by Lemma 1 ) = 1 n j = 1 n log a x j = 1 n log a j = 1 n x j .
It follows that y n j = 1 n x j . Furthermore, by Bernoulli inequality, we have that
j = 1 n x j 1 + j = 1 n ( x j 1 ) = j = 1 n x j ( n 1 ) .
Consequently, y n j = 1 n x j ( n 1 ) . Thus, when j = 1 n x j t n + ( n 1 ) holds, y t must hold. The proof is completed. □
The significance of this proposition is that sometimes it is convenient to find the least j = 1 n x j close to t n + ( n 1 ) .
Example 3.
M P : y = max x 1 0.35 x 2 0.33 x 3 0.32 , S u b j e c t t o : x j { 1.0 , 0.9 , 0.7 } , min j = 1 3 x j , y 0.85
Then, t n + ( 3 1 ) = 0.85 3 + 2 = 2.6141 . After computing, y max = 0.8305 when j = 1 3 x i = 2.5 , y max = 0.8617 when j = 1 3 x i = 2.6 . Hence, in this MP, min j = 1 3 x j = 2.6 .

4. Allocation Algorithm

Let A = { t 1 , t 2 , , t k } such that t i 1 > t i ( i = 2 , , k ) . Note that each t j takes value from the set { 0.1 , 0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 , 0.9 , 1 } . Suppose Δ i = t i t k ( i = 1 , 2 , , k ) . Then, we let the set Δ A = { Δ 1 , Δ 2 , , Δ k } , where Δ 1 > Δ 2 > > Δ k = 0 .
Since we are asked to obtain the largest y under the least j = 1 n x j and y t , we first let x j = t k ( j = 1 , 2 , , n ) , where n is the number of sub-attributes. On one hand, we need to add Δ i Δ A to each x j = t k , on the other hand, in order to keep j = 1 n x j minimal, we add 0.1 to t k every time. This process ends until min j = 1 n x j and y t hold at the same time. Hence, the problem becomes how many times we need to add 0.1 to t k in order to get that y t . Furthermore, it is reduced to compute the nonnegative integer solutions of the following indefinite equations:
z 1 + z 2 + + z k = n , Δ 1 z 1 + Δ 2 z 2 + + Δ k z k = 0.1 l ,
where z i ( i = 1 , 2 , , k ) mean the numbers of Δ i , l is the number of 0.1 and n is the number of sub-attributes.
It is not difficult to find all nonnegative integer solutions of Equation (2). This is because the first equation of Equation (2) has C n + k 1 k 1 nonnegative integer solutions that can be obtained by an ergodic approach; this step is O ( n k ) . Then, we verify these solutions to the second equation of Equation (2); this step is O ( 1 ) . In the end, we can get all nonnegative integer solutions of Equation (2) in O ( n k ) .
By Corollary 1 (2), in order to obtain the largest y in the MP (1), we need to allocate Δ i to each x j while satisfying Equation (2) according to the following principle:
P : the smaller subscript j of x j , the larger Δ i .
The allocation algorithm is given in Algorithm 1. Step 2 is used to find the set of all nonnegative integer solutions of Equation (2), denoted as S, and we have obtained that Step 2 takes O ( n k ) . Steps 8–20 are a triple nested loop, which equals allocating Δ i to each x j while satisfying Equation (2) according to the principle P. Since the number of all nonnegative integer solutions of Equation (2) is O ( n k ) , the number of loops in the outermost loop are O ( n k ) . Because, for any ( z 1 , , z k ) S , z 1 + + z k = n , the total number of loops in the second and the third layer loop is O ( n ) , Steps 6–18 are O ( n k + 1 ) . Thus, the time complexity of Algorithm 1 is O ( n k + 1 ) .
Algorithm 1 For a given positive integer l, allocating Δ i to each x j while satisfying Equation (2) according to the principle P
Input:
   A = { t 1 , t 2 , , t k } and n
Output:
   The set of allocation results B
1:
Initialize x j = t k ( j = 1 , 2 , , n ) , Δ i = t i t k ( i = 1 , 2 , , k ) , B = ;
2:
Find the set of all nonnegative integer solution of Equation (2), denote it as
S = { ( z 1 , , z k ) | ( z 1 , , z k ) is a nonnegative integer solutions of Equation ( 2 ) } ;
3:
if S = then
4:
( x 1 , , x n ) = ( t k , , t k ) ;
5:
B = B { ( x 1 , , x n ) } ;
6:
return B;
7:
else
8:
for all ( z 1 , , z k ) S do
9:
  Let r = 1 , u = 1 , v = z 1 , j = 1 ;
10:
  for 1 r k do
11:
   for u j v do
12:
     x j = t k + Δ r ;
13:
     j = j + 1 ;
14:
   end for
15:
    r = r + 1 ;
16:
    u = v + 1 ;
17:
    v = v + z r ;
18:
  end for
19:
   B = B { ( x 1 , , x n ) } ;
20:
end for
21:
returnB;
22:
end if
Now, we give an example to explain Algorithm 1.
Example 4.
Letting y = x 1 0.4 x 2 0.2 x 3 0.19 x 4 0.11 x 5 0.1 and x j ( j = 1 , , 5 ) be taken from the set A = { 1 , 0.9 , 0.7 , 0.5 } and n = 5 , i.e., some attributes have five sub-attributes. For a given positive integer l = 13 , Δ A = { 0.5 , 0.4 , 0.2 , 0 } and initially x j = 0.5 ( j = 1 , , 5 ) . We can get the following indefinite equations:
z 1 + z 2 + z 3 + z 4 = 5 , 0.5 z 1 + 0.4 z 2 + 0.2 z 3 + 0 z 4 = 1.3 .
After a simple calculation, we obtain two nonnegative integer solutions: ( z 1 , z 2 , z 3 , z 4 ) = ( 1 , 2 , 0 , 2 ) and ( 1 , 0 , 4 , 0 ) . The first solution means that we need one 0.5 , two 0.4 , zero 0.2 and two 0 in order to reach 1.3 , a similar meaning in the second solution. According to principle P, for the first solution, we add 0.5 to x 1 , 0.4 to x 2 and x 3 , respectively, keep x 4 and x 5 unchanged. Thus, we obtain ( x 1 , x 2 , x 3 , x 4 , x 5 ) = ( 1 , 0.9 , 0.9 , 0.5 , 0.5 ) , whereas, for the second solution, we add 0.5 to x 1 , 0.2 to x 2 , x 3 , x 4 , x 5 and then obtain ( x 1 , x 2 , x 3 , x 4 , x 5 ) = ( 1 , 0.7 , 0.7 , 0.7 , 0.7 ) .
Furthermore, we give Algorithm 2 for computing the maximal value and the optimal solution of the MP (1). For simplicity, we suppose t 1 = 1 , which implies that MP (1) must have an optimal solution. For a given l, Step 4 of the Algorithm 2 is used to call Algorithm 1 to allocate Δ i to each x j , and the set of allocation results is denoted as B. Steps 5–10 is equal to computing y m a x = max ( x 1 , , x n ) B { j = 1 n x j α j } . If y m a x t , then the algorithm terminates, and we can get the optimal solution and the maximal value of the MP (1) are x max and y m a x separately.
Algorithm 2 Computing the maximal value and the optimal solution of the MP (1)
Input:
   A = { t 1 , t 2 , , t k } , W = { α 1 , α 2 , α n } and t
Output:
   The maximal value y m a x and the optimal solution x max of the MP (1)
1:
Initialize x max = ( x 1 , , x n ) = ( t k , , t k ) , y m a x = j = 1 n x j α j , Δ i = t i t k ( i = 1 , 2 , , k ) , l = 0 ;
2:
repeat
3:
l : = l + 1 ;
4:
 Call Algorithm 1 to allocate Δ i to each x j and denote the set of allocation results as B;
5:
for all ( x 1 , , x n ) B do
6:
  if j = 1 n x j α j > y m a x then
7:
    y m a x = j = 1 n x j α j ;
8:
    x max = ( x 1 , , x n ) ;
9:
  end if
10:
end for
11:
until y m a x t ;
12:
return x max and y m a x ;
Because, for any nonnegative integer solution of Equation (2), max { z 1 , , z k } = n and Δ 1 > Δ 2 > > Δ k , then, for any nonnegative integer solution of Equation (2), max { Δ 1 z 1 + Δ 2 z 2 + + Δ k z k } = n k Δ 1 . Therefore, the maximum value of l is 10 n k Δ 1 and the outermost loop of Algorithm 2 repeats up to 10 n k Δ 1 times. Meanwhile, the time complexity of Algorithm 1 is O ( n k + 1 ) , and we can obtain that Step 4 takes O ( n k + 1 ) . Since the number of nonnegative integer solutions of Equation (2) is O ( n k ) , the number of loops in the innermost loop is O ( n k ) . Hence, the time complexity of Algorithm 2 is O ( k Δ 1 n k + 2 ) .
In the next section, we will give a concrete example to state the significance of our work and show how Algorithm 1 and Algorithm 2 work.

5. An Example

The algorithms given in the last section can be used to allocate software trustworthiness to sub-attributes for any software trustworthiness measurement model based on the decompositions of trustworthy attributes—for example, the model presented in ISO/IEC 25010: 2011 [7]. As mentioned previously, we once used axiomatic approaches to measure spacecraft software trustworthiness based on the decompositions of trustworthy attributes [24]. Therefore, in this section, we take the models given in [24] as an example to demonstrate the effectiveness of the allocation algorithms for software attribute trustworthiness. We first allocate spacecraft software trustworthiness designed to reach Rank V and Rank IV to attributes with the algorithm given in [25], and then allocate spacecraft software attribute trustworthiness to sub-attributes with the algorithms presented in this paper.

5.1. Allocating Procedure

The procedure for allocating software trustworthiness to sub-attributes contains three steps as shown in Figure 3. The software trustworthiness requirements are first captured. They should include software trustworthy attribute model, trustworthiness classification model and a specified trustworthy level that the software must reach. The trustworthy attributes, trustworthy sub-attributes and their weight values in the trustworthy attribute model are definitive. Then, for the specified trustworthy level, the software trustworthiness is allocated to trustworthy attributes by using the algorithm given in [25] in Step 2. In Step 3, based on the allocation result of Step 2, the attribute trustworthiness is allocated to sub-attributes with the algorithms presented in this paper. In the end, we get an allocation result about the trustworthy degrees of the sub-attributes; meanwhile, the trustworthiness requirements are satisfied.

5.2. Spacecraft Software Trustworthy Attribute Model and Trustworthiness Classification Model

The critical attributes of spacecraft software are composed of nine attributes: (1) overall planning and implementation, (2) analysis and design, (3) test verification, (4) reliability and safety, (5) software technology status change, (6) quality problem close loop, (7) configuration management, (8) software development environment, and (9) third party evaluation situation. The weight values of these nine attributes are 0.05 , 0.17 , 0.20 , 0.15 , 0.09 , 0.09 , 0.11 , 0.05 , 0.09 decided by the experts [24]. The trustworthy degrees of spacecraft software attributes range from 0 to 1. These nine attributes are divided into 28 sub-attributes, and the 28 sub-attributes consist of 103 metric elements. However, due to the large number of metric elements, if the method of scoring each metric element is adopted, the cost of time is very excessive. Therefore, we divide the sub-attribute trustworthiness into four levels: A, B, C and D. For example, software technology status change consists of three sub-attributes: (1) the basis, demonstration and approval of technical status change, (2) tests and verifications after changes, and (3) implementations after changes. The weight values of these three sub-attributes are 0.35 , 0.33 , 0.32 . The meanings of A, B, C and D corresponding to the first sub-attributes are as follows:
A:
The basis and necessity of changes are clear; there is a comprehensive analysis of change impact field and a sufficient demonstration of the changes; technology status changes are accepted by all parties and the approval of changes is complete and meets the requirements.
B:
The basis of changes is clear; there is a comprehensive analysis of change impact field and a sufficient demonstration of the changes; the approval of changes is complete and meets the requirements.
C:
Has the basis of changes, make demonstrations of technology status changes, the approval of changes is complete and meets the requirements.
D:
No the basis of changes, or no demonstration of technology status changes, or the approval of changes does not meet requirements.
In order to calculate the trustworthy degrees of attributes, the trustworthy levels of sub-attributes should be converted to specific values. The relationship between the trustworthy levels of software sub-attributes and trustworthy degrees of the software sub-attributes are shown in Table 1 [24].
In order to make people learn the software trustworthiness better, we present the software trustworthiness classification model as shown in Table 2 [24].

5.3. Allocation for Software Trustworthiness

The allocation algorithm presented in [25] is used to allocate the software trustworthiness designed to reach the Rank V and Rank IV to attributes. The allocation results are given in Table 3 [25]. The second column is the weight values of the nine attributes; the third and fourth column are the allocation results when the software trustworthiness reaches Rank V and Rank IV.

5.4. Allocation for Software Attribute Trustworthiness

If the software trustworthy level is designed as V, from Table 3, we know that the trustworthy degree of spacecraft software technology status change should at least be 0.95 , and from the software trustworthiness classification model given in Table 2, we obtain that the trustworthy degrees taken by the sub-attributes should at least be 0.9 . As a result, we have the following MP:
MP : y = max x 1 0.35 x 2 0.33 x 3 0.32 ,
S u b j e c t t o : x j { 1.0 , 0.9 } , min j = 1 3 x j , y 0.95 ,
where (1) x 1 is the trustworthy degree of the basis, demonstration and approval of technical status change, (2) x 2 is the trustworthy degree of tests and verifications after changes, and (3) x 3 is the trustworthy degree of implementations after changes. In this case, A = { 1 , 0.9 } and Δ A = { 0.1 , 0 } . Equation (2) is as follows:
z 1 + z 2 = 3 , 0.1 z 1 + 0 z 2 = 0.11 .
The process for allocating trustworthy level V to the sub-attributes of software technology status change with the algorithms given in this paper is shown in Table 4.
Hence, this MP has a maximal value 0.97 and min j = 1 3 x j = 2.9 . Moreover, in order to obtain this maximal value, x 1 , x 2 , x 3 are assigned as 1, 1 and 0.9 , respectively.
On the other hand, if the software trustworthy level is designed as IV, from Table 3, we know that the trustworthy degree of spacecraft software technology status change should at least be 0.85 , and from the software trustworthiness classification model given in Table 2, we obtain that the trustworthy degrees taken by the sub-attributes should at least be 0.7 . Thus, we have the following MP:
MP : y = max x 1 0.35 x 2 0.33 x 3 0.32 ,
S u b j e c t t o : x j { 1.0 , 0.9 , 0.7 } , min j = 1 3 x j , y 0.85 ,
where (1) x 1 is the trustworthy degree of the basis, demonstration and approval of technical status change, (2) x 2 is the trustworthy degree of tests and verifications after changes, and (3) x 3 is the trustworthy degree of implementations after changes. In this case, A = { 1 , 0.9 , 0.7 } and Δ A = { 0.3 , 0.2 , 0 } . Equation (2) is as follows:
z 1 + z 2 + z 3 = 3 , 0.3 z 1 + 0.2 z 2 + 0 z 3 = 0.1 l .
The process for allocating trustworthy level IV to sub-attributes of software technology status change with the algorithms presented in this paper is shown in Table 5.
Hence, this MP has a maximal value 0.86 and min j = 1 3 x j = 2.6 . Moreover, in order to obtain this maximal value, x 1 , x 2 , x 3 are assigned as 1, 0.9 and 0.7 , respectively.
Finally, we can obtain the allocation results of trustworthy level V and IV to sub-attributes of software technology status change as shown in Table 6. The second column is the weight values of the three sub-attributes of software technology status change, and the third and fourth columns are the allocation results when the software trustworthiness reaches Rank V and Rank IV. Similarly, we can allocate software trustworthiness to the other 25 sub-attributes; we will not describe the process of the allocation in detail.
In this section, we take the models given in [24] as the research objects to validate the effectiveness of the allocation algorithms proposed in Section 4. The spacecraft software trustworthiness designed to reach Rank V and Rank IV is first allocated to spacecraft software attributes with the algorithm given in [25]; then, the spacecraft software attribute trustworthiness are allocated to sub-attributes with the algorithms presented in this paper. The allocation results about the trustworthy degrees of the sub-attributes shows that the trustworthiness requirements are satisfied. Therefore, the algorithms designed in this paper can effectively allocate software attribute trustworthiness to sub-attributes.

6. Conclusions and Future Work

In this paper, we have established a mathematical programming model to allocate the trustworthy degree of some attribute to its each sub-attribute appropriately, and given a sufficient and necessary conditions for solving this mathematical programming in Corollary 1 (2). A polynomial time algorithm is designed to compute the optimal solution of this mathematical programming. In addition, we also validate the effectiveness of the algorithm by applying it to allocate the spacecraft software trustworthiness designed as the Rank V and Rank IV to sub-attributes. The results obtained here are useful for the improvement of the software quality under the same cost.
There are several problems that are worth further study. First, Proposition 2 is only a coarse estimate of j = 1 n x j , whether there exists a finer estimate or not. More generally, whether we can find a sufficient and necessary condition such that the MP (1) has an optimal solution if and only if the j = 1 n x j satisfies some conditions. If this condition exists, then we can allocate the trustworthy degree to each sub-attribute directly and simplify the computation. Second, associate with the first problem and Example 2, we will study how the weight values of sub-attributes affect the trustworthy degree of some software attribute. In particular, whether we can compute the maximal value of MP (1) directly under some assignment set of x j even if there are different assignment sets of x j . Third, we will extend the allocation approach given in this paper to allocate software trustworthiness based on other software trustworthiness measurement models. Finally, we will study the reallocation approach based on the allocation approach presented here.

Author Contributions

H.T., H.W. and Y.C. conceived and wrote the paper.

Funding

This work was financially supported by the National Natural Science Foundation of China (91118007); the Doctoral Research Fund of Zhengzhou University of Light Industry (13501050045); and the Science and Technology Project of Henan Province (182102210617).

Acknowledgments

The authors would like to thank the anonymous reviewers and the associate professor Tianming Bu of East China Normal University for their invaluable suggestions and comments.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Liu, K.; Shan, Z.G.; Wang, J.; He, J.F.; Zhang, Z.T.; Qin, Y.W. Overview on Major Research Plan of Trustworthy Software. Bull. Natl. Natural Sci. Found. China 2008, 22, 145–151. [Google Scholar] [CrossRef]
  2. Voas, J. Trusted Software’s Holy Grail. Softw. Qual. J. 2003, 11, 9–17. [Google Scholar] [CrossRef]
  3. Bernstein, L. Trustworthy Software Systems. ACM SIGSOFT Softw. Eng. Notes. 2005, 30, 4–5. [Google Scholar] [CrossRef]
  4. Hasselbring, W.; Reussner, R. Toward Trustworthy Software Systems. IEEE Trans. Comput. 2006, 39, 91–92. [Google Scholar] [CrossRef]
  5. Steffen, B.; Wilhelm, H.; Alexandra, P.; Marko, B.; Heiko, K.; Jan, P.; Abhishek, D.; Henrik, L.; Matthias, R.; Daniel, W.; et al. Trustworthy Software Systems: A Discussion of Basic Concepts and Terminology. ACM SIGSOFT Softw. Eng. Notes 2006, 31, 1–18. [Google Scholar] [CrossRef]
  6. Tao, H.W.; Chen, Y.X. A metric model for trustworthiness of softwares. In Proceedings of the 2009 IEEE/WIC/ACM International Joint Conference on Web Intelligence and Intelligent Agent Technology, Milan, Italy, 15–18 September 2009; pp. 69–72. [Google Scholar] [CrossRef]
  7. International Organization for Standardization (ISO). ISO/IEC 25010:2011, Systems And Software Engineering—Systems And Software Quality Requirements And Evaluation (Square)—System And Software Quality Models; ISO: Geneva, Switzerland, 2011. [Google Scholar]
  8. Lang, B.; Liu, X.D.; Wang, H.M.; Xie, B.; Mao, X.G. A Classification Model for Software Trustworthiness. J. Front. Comput. Sci. Technol. 2010, 4, 231–239. [Google Scholar] [CrossRef]
  9. Si, G.; Ren, Y.; Xu, J.; Yang, J. A Dependability Evaluation Model for Internetware Based on Bayesian network. J. Comput. Res. Dev. 2012, 49, 1028–1038. [Google Scholar]
  10. Li, X.H.; Wang, X.Y.; Zhang, T.; Yi, J.; Feng, Z.Y. Software Trustworthness Evaluation Based on Weakness Analysis and Testing Assessment. J. Tsinghua Univ. (Sci. Technol.) 2011, 51, 1287–1293. [Google Scholar]
  11. Vieri, D.B.; Luigi, L.; Sandro, M.; Davide, T. Quality of Open Source Software: The Qualipso Trustworthiness Model. In Proceedings of the 5th IFIP WG 2.13 International Conference on Open Source Systems (OSS 2009), Skövde, Sweden, 3–6 June 2009; pp. 199–212. [Google Scholar] [CrossRef]
  12. Luigi, L.; Sandro, M.; Davide, T. Predicting OSS Trustworthiness on the Basis of Elementary Code Assessment. In Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, Bolzano-Bozen, Italy, 16–17 September 2010; pp. 1–4. [Google Scholar] [CrossRef]
  13. Ding, S.; Yang, S.L.; Fu, C. A Novel Evidential Reasoning Based Method for Software Trustworthiness Evaluation Under the Uncertain and Unreliable Environment. Expert Syst. Appl. 2012, 39, 2700–2709. [Google Scholar] [CrossRef]
  14. Zhang, X.; Li, W.; Zheng, Z.M.; Guo, B.H. Optimized statistical analysis of software trustworthiness attributes. Sci. China Inf. Sci. 2012, 55, 2508–2520. [Google Scholar] [CrossRef]
  15. Yuan, Y.; Han, Q. A Software Behavior Trustworthiness Measurement Method Based on Data Mining. Int. J. Comput. Intell. Syst. 2011, 4, 817–825. [Google Scholar] [CrossRef]
  16. Shi, H.L.; Ma, J.; Zou, F.Y. Software Dependability Evaluation Model Based on Fuzzy Theory. In Proceedings of the IEEE International Conference on Computer Science and Information Technology, Singapore, 29 August–2 September 2008; pp. 102–106. [Google Scholar] [CrossRef]
  17. Li, B.; Cao, Y. An Improved Comprehensive Evaluation Model of Software Dependability Based on Rough Set Theory. J. Softw. 2009, 4, 1152–1159. [Google Scholar] [CrossRef]
  18. Wang, B.H.; Chen, Y.X.; Zhang, S.; Wu, H.Y. Updating Model of Software Component Trustworthiness Based on Users Feedback. IEEE Acess 2019, 7, 1–8. [Google Scholar] [CrossRef]
  19. Wang, B.H.; Zhang, S. A Subjective and Objective Integration Approach of Determining Weights for Trustworthy Measurement. IEEE Access 2018, 6, 25829–25835. [Google Scholar] [CrossRef]
  20. Tao, H.W.; Chen, Y.X. A New Metric Model for Trustworthiness of Softwares. Telecommun. Syst. 2012, 51, 95–105. [Google Scholar] [CrossRef]
  21. Tao, H.W.; Chen, Y.X.; Pang, J.M. Axiomatic Approaches Based Software Trustworthiness Measures. In Proceedings of the International Conference on Applied System Innovation (ICASI 2015), Osaka, Japan, 22–26 May 2015; pp. 135–142. [Google Scholar]
  22. Tao, H.W.; Chen, Y.X. A Software Trustworthiness Measure Based on the Decompositions of Trustworthy Attributes and its Validation. In Proceedings of the Industrial Engineering, Management Science and Applications 2015, Tokyo, Japan, 26–28 May 2015; pp. 981–990. [Google Scholar] [CrossRef]
  23. Tao, H.W.; Zhou, J. An Improved Attribute-Based Software Trustworthiness Metric Model. J. Wuhan Univ. (Nat. Sci. Ed.) 2017, 63, 151–157. [Google Scholar] [CrossRef]
  24. Wang, J.; Chen, Y.X.; Gu, B.; Guo, X.Y.; Wang, B.H.; Jin, S.Y.; Xu, J.; Zhang, J.Y. An Approach to Measuring And Grading Software Trust for Spacecraft Software. Sci. Sin. Technol. 2015, 45, 221–228. [Google Scholar] [CrossRef]
  25. Ma, Y.J.; Chen, Y.X.; Gu, B. An Attributes-Based Allocation Approach of Software Trustworthy Degrees. In Proceedings of the 2015 IEEE International Conference on Software Quality, Reliability and Security Companion, Vancouver, BC, Canada, 3–5 August 2015; pp. 89–94. [Google Scholar] [CrossRef]
  26. Briand, L.; Emam, K.; Morasca, S. On the Application of Measurement Theory in Software Engineering. Empir. Softw. Eng. 1996, 1, 61–88. [Google Scholar] [CrossRef]
  27. Meneely, A.; Smith, B.; Williams, L. Validating software metrics: A spectrum of philosophies. ACM Trans. Softw. Eng. Methodol. 2012, 21, 2493–2513. [Google Scholar] [CrossRef]
  28. Srinivasan, K.; Devi, T. Software Metrics Validation Methodologies in Software Engineering. Int. J. Softw. Eng. Appl. (IJSEA) 2014, 5, 87–102. [Google Scholar] [CrossRef]
Figure 1. Distribution of trustworthy degrees of software sub-attributes of 11 representative software programs.
Figure 1. Distribution of trustworthy degrees of software sub-attributes of 11 representative software programs.
Mathematics 07 00237 g001
Figure 2. Distribution of trustworthy degrees of software attributes of 11 representative software programs.
Figure 2. Distribution of trustworthy degrees of software attributes of 11 representative software programs.
Mathematics 07 00237 g002
Figure 3. Allocating procedure for software trustworthiness.
Figure 3. Allocating procedure for software trustworthiness.
Mathematics 07 00237 g003
Table 1. The relationship between trustworthy level of software sub-attribute and trustworthy degree of software sub-attribute.
Table 1. The relationship between trustworthy level of software sub-attribute and trustworthy degree of software sub-attribute.
Trustworthy level of software sub-attributeABCD
Trustworthy degree of software sub-attribute10.900.700.20
Table 2. Software trustworthiness classification model.
Table 2. Software trustworthiness classification model.
Rank VRank IVRank IIIRank IIRank I
Lowest trustworthy degree of software T * 0.950.850.700.450
Lowest trustworthy degree of software attribute y * 0.850.700.4500
The range of the trustworthy degree of software sub-attribute x j {1.0, 0.9} { 1.0 , 0.9 , 0.7 } { 1.0 , 0.9 , 0.7 , 0.2 } { 1.0 , 0.9 , 0.7 , 0.2 } { 1.0 , 0.9 , 0.7 , 0.2 }
Table 3. The allocation results of trustworthy level V and IV to attributes [25].
Table 3. The allocation results of trustworthy level V and IV to attributes [25].
AttributesWeightRank VRank IV
Overall planning and implementation0.050.8500.700
Analysis and design0.170.9680.879
Test verification0.200.9750.890
Reliability and safety0.150.9640.872
Software technology status change0.090.9500.850
Quality problem close loop0.090.9500.850
Configuration management0.110.9550.857
Software development environment0.050.8500.700
Third party evaluation situation0.090.9500.850
Table 4. The allocation of trustworthy level V to sub-attributes of software technology status change.
Table 4. The allocation of trustworthy level V to sub-attributes of software technology status change.
Solution x 1 x 2 x 3 y i = 1 3 x i
Initialize 0.9 0.90 0.9 0.9 2.7
l = 1 ( 1 , 2 ) 1 0.9 0.9 0.93 2.8
l = 2 ( 2 , 1 ) 11 0.9 0.97 2.9
Table 5. The allocation of trustworthy level IV to sub-attributes of software technology status change.
Table 5. The allocation of trustworthy level IV to sub-attributes of software technology status change.
Solution x 1 x 2 x 3 y i = 1 3 x i
Initialize 0.7 0.7 0.70 0.7 2.1
l = 1 n o 0.7 0.7 0.7 0.70 2.1
l = 2 ( 0 , 1 , 2 ) 0.9 0.7 0.7 0.76 2.3
l = 3 ( 1 , 0 , 2 ) 1 0.7 0.7 0.79 2.4
l = 4 ( 0 , 2 , 1 ) 0.9 0.9 0.7 0.83 2.5
l = 5 ( 1 , 1 , 1 ) 1 0.9 0.7 0.86 2.6
Table 6. Allocation results of trustworthy level V and IV to sub-attributes of software technology status change.
Table 6. Allocation results of trustworthy level V and IV to sub-attributes of software technology status change.
Sub-AttributesWeightRank VRank IV
The basis, demonstration and approval of technical status change0.3511
Tests and verifications after changes0.3310.9
Implementations after changes0.320.90.7

Share and Cite

MDPI and ACS Style

Tao, H.; Wu, H.; Chen, Y. An Approach of Trustworthy Measurement Allocation Based on Sub-Attributes of Software. Mathematics 2019, 7, 237. https://doi.org/10.3390/math7030237

AMA Style

Tao H, Wu H, Chen Y. An Approach of Trustworthy Measurement Allocation Based on Sub-Attributes of Software. Mathematics. 2019; 7(3):237. https://doi.org/10.3390/math7030237

Chicago/Turabian Style

Tao, Hongwei, Hengyang Wu, and Yixiang Chen. 2019. "An Approach of Trustworthy Measurement Allocation Based on Sub-Attributes of Software" Mathematics 7, no. 3: 237. https://doi.org/10.3390/math7030237

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop