CN106970803A - Analysis method and device that a kind of software systems develop - Google Patents

Analysis method and device that a kind of software systems develop Download PDF

Info

Publication number
CN106970803A
CN106970803A CN201710279321.3A CN201710279321A CN106970803A CN 106970803 A CN106970803 A CN 106970803A CN 201710279321 A CN201710279321 A CN 201710279321A CN 106970803 A CN106970803 A CN 106970803A
Authority
CN
China
Prior art keywords
software
algebraically
component
topological diagram
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710279321.3A
Other languages
Chinese (zh)
Inventor
胡昌振
单纯
朱洪进
马锐
喻梓峻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201710279321.3A priority Critical patent/CN106970803A/en
Publication of CN106970803A publication Critical patent/CN106970803A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

Abstract

The analysis method and device developed the invention discloses a kind of software systems.This method includes:Using the information resources in first version software as node, using the incidence relation between information resources in first version software as side, the first software configuration topological diagram of first version software is built;According to algebraic topology complex theory, each node in the first software configuration topological diagram is stated as an algebraically component, and obtain the relation information between algebraically component;First software configuration topological diagram is converted into using algebraically component as node, the second software configuration topological diagram by side of relation information, and the second software configuration topological diagram is decomposed into algebraically component expression formula;Export the algebraically component expression formula of first version software.The present invention is grasped with the evolutionary process of the form analysis of the algebraic operation software systems, the on the whole evolutionary process to software systems, the reconstruct and maintenance of guiding software system;Improve the EVOLUTION ANALYSIS efficiency of software systems, particularly large scope software system.

Description

Analysis method and device that a kind of software systems develop
Technical field
The present invention relates to field of computer technology, and in particular to analysis method and device that a kind of software systems develop.
Background technology
Software systems evolution method worldwide is broadly divided into dynamic software phylogeny and Staticasoftware at present The major class of phylogeny method two, wherein dynamic software phylogeny method refer to evolution of the software systems during running, it It is not in temporarily to fail to have the advantages that software systems, but state of the technical scheme therein due to being related to software systems Migration problem, it is therefore, relatively difficult compared to technically being realized for Staticasoftware phylogeny method.Staticasoftware system is drilled Change method refers to evolution of the software systems under stopped status, the i.e. upgrading of software version.Comparatively implement and compare Easily, it is not necessary to consider the process of state transition and the processing activity of software systems.
The static evolution analysis method of existing software systems is concentrated mainly in the measurement level to software source code, there is base In the software systems evolutionary process of Petri network, the evolutionary process of software systems is described, and proposes software systems evolutionary process In activity judgment and optimized algorithm.Software systems based on code complexity, which develop, to be assessed with analyzing, and analyzes Java code McCabe cyclomatic complexities and Halstead complexities, pass through and the wherein higher mould of complexity found to the measurement of software systems Block, and the changing rule of the upgrading software systems complexity with software systems version is analyzed, to causing software systems complicated The class and method for spending change are positioned, so as to know software systems evolutionary process.
But, the static evolution analysis method of existing software systems, which from the partial structurtes of software systems can only develop, divides Analysis, it is impossible to which the evolution to software configuration is grasped on the whole, and with the increase of software size, existing software systems Evolution analysis method is less efficient.
The content of the invention
In view of the above problems, it is proposed that the present invention so as to provide one kind overcome above mentioned problem or at least in part solve on State analysis method and corresponding device that the software systems of problem develop.
According to one aspect of the present invention there is provided the analysis method that a kind of software systems develop, for giving software system The first version software of system, obtains the algebraically component expression formula of the first version software, specifically includes:
Using the information resources in the first version software as node, between information resources in the first version software Incidence relation be side, build the first software configuration topological diagram of the first version software;
According to algebraic topology complex theory, each node in the first software configuration topological diagram is stated as one Algebraically component, and obtain the relation information between the algebraically component;
The first software configuration topological diagram is converted into using the algebraically component as node, using the relation information as side The second software configuration topological diagram, and the second software configuration topological diagram is decomposed into algebraically component expression formula;Wherein, it is described Algebraically component expression formula is made up of the algebraically component and the relation information in the second software configuration topological diagram;
Export the algebraically component expression formula of the first version software.
Alternatively, methods described further comprises:Different editions software for giving software systems, obtains the difference The algebraically component expression formula of version software;
Compare the algebraically component expression formula of the different editions software, obtain the evolution-information of the given software systems, The Evolution of the given software systems is summarized according to the evolution-information, and exports the evolution-information and evolution rule Rule.
Alternatively, the information resources using in the first version software is nodes, with the first version software Incidence relation be side, building the first software configuration topological diagram of the first version software includes:
For the procedure-oriented program language in the first version software, with the source code of the first version software Method or structure as node, calling with inclusion relation in this way and/or between the structure is side, is built First software configuration topological diagram of the software systems;
For the object-oriented program language in the software systems, using the class in the source code of the software systems as section Point, using the succession between class and class, extensive, association, relies on or using relation as side, builds the first software of the software systems Structural topology figure.
Alternatively, described each node by the first software configuration topological diagram states an algebraically component bag as Include:
State each node in the software configuration topological diagram as an algebraically component hexa-atomic group of form;Described six Element in tuple includes:Logic behavior set, annexation set, controller, internal data, aminated polyepichlorohydrin, detector.
Alternatively, it is described the second software configuration topological diagram is decomposed into algebraically component expression formula to include:
The second software configuration topological diagram is roughened decomposition from up to down and obtains the first algebraically piece table up to formula;
Second software configuration topological diagram decomposition of refining from left to right is obtained into the second algebraically piece table up to formula;
The first algebraically piece table is subjected to integrated, acquisition described first up to formula up to formula and the second algebraically piece table The algebraically component expression formula of version software.
According to another aspect of the present invention there is provided the analytical equipment that a kind of software systems develop, described device is used for First version software for giving software systems, obtains the algebraically component expression formula of the first version software, specifically includes:
Construction unit, for using the information resources of the first version software as node, with the first version software Incidence relation between information resources is side, builds the first software configuration topological diagram of the first version software;
Acquiring unit, for according to algebraic topology complex theory, by each in the first software configuration topological diagram Node states an algebraically component as, and obtains the relation information between the algebraically component;
Resolving cell, for the first software configuration topological diagram to be converted into using the algebraically component as node, with institute State relation information and be the second software configuration topological diagram on side, and the second software configuration topological diagram is decomposed into algebraically piece table Up to formula;Wherein, the algebraically component expression formula is by the algebraically component in the second software configuration topological diagram and the algebraically structure Relation information composition between part;
Output unit, the algebraically component expression formula for exporting the first version software.
Alternatively, described device is additionally operable to the different editions software for giving software systems, obtains the different editions The algebraically component expression formula of software;Described device further comprises:
Comparing unit, the algebraically component expression formula for comparing the different editions software obtains the given software system The evolution-information of system, the Evolution of the given software systems is summarized according to the evolution-information;
The output unit, for exporting the evolution-information and the Evolution.
Alternatively, the construction unit, specifically for for the procedure-oriented program language in the first version software, Using the method or structure in the source code of the first version software as node, in this way and/or the structure Between to call with inclusion relation be side, build the first software configuration topological diagram of the first version software;For described Object-oriented program language in one version software, using the class in the source code of the first version software as node, with class and Succession between class, extensive, association, rely on or the use of relation is side, build the first software configuration of the first version software Topological diagram.
Alternatively, the acquiring unit, for stating each node in the software configuration topological diagram as one Hexa-atomic group of form of algebraically component;Element in described hexa-atomic group includes:It is logic behavior set, annexation set, controller, interior Portion's data, aminated polyepichlorohydrin, detector.
Alternatively, the resolving cell, specifically for the second software configuration topological diagram is roughened into decomposition from up to down The first algebraically piece table is obtained up to formula;Second software configuration topological diagram decomposition of refining from left to right is obtained into the second algebraically structure Part expression formula;The first algebraically piece table is carried out up to formula and the second algebraically piece table up to formula integrated, obtain described the The algebraically component expression formula of one version software.
The present invention proposes the analysis that a kind of software systems based on algebraic topology develop, and is specially:According to given software The first version software of system, using the information resources in first version software as node, with information resources in first version software Between incidence relation be side, build first version software the first software configuration topological diagram;According to algebraic topology complex theory, State each node in the first software configuration topological diagram as an algebraically component, and obtain the relation between algebraically component Information;First software configuration topological diagram is converted into using algebraically component as node, the second software configuration by side of relation information Topological diagram, and the second software configuration topological diagram is decomposed into algebraically component expression formula;Export the algebraically component of first version software Expression formula.It can be seen that, the present invention analyzes the evolutionary process of the software systems in the form of algebraic operation, can be on the whole to soft The evolutionary process of part system is grasped, the reconstruct and maintenance of guiding software system;And software systems can be improved, particularly The EVOLUTION ANALYSIS efficiency of large scope software system.
Described above is only the general introduction of technical solution of the present invention, in order to better understand the technological means of the present invention, And can be practiced according to the content of specification, and in order to allow above and other objects of the present invention, feature and advantage can Become apparent, below especially exemplified by the embodiment of the present invention.
Brief description of the drawings
By reading the detailed description of hereafter preferred embodiment, various other advantages and benefit is common for this area Technical staff will be clear understanding.Accompanying drawing is only used for showing the purpose of preferred embodiment, and is not considered as to the present invention Limitation.And in whole accompanying drawing, identical part is denoted by the same reference numerals.In the accompanying drawings:
Fig. 1 shows the flow signal for the analysis method that a kind of software systems according to an embodiment of the invention develop Figure;
Fig. 2 shows a kind of the first software configuration topological diagram of first version software according to an embodiment of the invention;
Fig. 3 shows the call relation schematic diagram between algebraically component according to an embodiment of the invention;
Fig. 4 shows the nest relation schematic diagram between algebraically component according to an embodiment of the invention;
Fig. 5 shows the inclusion relation schematic diagram between algebraically component according to an embodiment of the invention;
Fig. 6 shows a kind of the second software configuration topological diagram of first version software according to an embodiment of the invention;
Fig. 7 shows a kind of the first software configuration topology of first version software in accordance with another embodiment of the present invention Figure;
Fig. 8 shows the structural representation for the analytical equipment that a kind of software systems according to an embodiment of the invention develop Figure;
Fig. 9 shows the structural representation for the analytical equipment that a kind of software systems in accordance with another embodiment of the present invention develop Figure.
Embodiment
The exemplary embodiment of the disclosure is more fully described below with reference to accompanying drawings.Although showing the disclosure in accompanying drawing Exemplary embodiment, it being understood, however, that may be realized in various forms the disclosure without should be by embodiments set forth here Limited.On the contrary, these embodiments are provided to facilitate a more thoroughly understanding of the present invention, and can be by the scope of the present disclosure Complete conveys to those skilled in the art.
First version software for giving software systems, obtains the algebraically component expression formula of first version software.Fig. 1 shows The schematic flow sheet for the analysis method that a kind of software systems according to an embodiment of the invention develop is gone out.As shown in figure 1, should The method for obtaining the algebraic expression of first version software is specifically included:
Step S110, using the information resources in first version software as node, with information resources in first version software it Between incidence relation be side, build first version software the first software configuration topological diagram.
What first version software referred to is not the initial version software of the given software systems, but the given software systems All software versions in one of version software.Here during information resources can be the source code of first version software Logic behavior or modules or subsystem in software.For example, method, structure, class etc..Information resources it Between incidence relation be logical relation between each logic behavior, for example, calling and inclusion relation, side between method and method Calling between calling between method and structure and inclusion relation, structure and structure and inclusion relation;Between class and class Succession, it is extensive, associate, rely on or use relation.
In the present embodiment, using the information resources in first version software as node, provided with information in first version software Incidence relation between source is side, builds the first software configuration topological diagram of first version software.Fig. 2 is shown according to the present invention A kind of first software configuration topological diagram of the first version software of one embodiment.As shown in Fig. 2 by main, min, sum, max Etc. node of the method as the first software configuration topological diagram, the pass between incidence relation, main and sum between main and min Incidence relation between connection relation, main and max respectively as between main and min between, main and sum while, Side between main and max.
Step S120, according to algebraic topology complex theory, each node in the first software configuration topological diagram is stated Into an algebraically component, and obtain the relation information between algebraically component.
First software configuration topological diagram is each node in topological complex figure, figure (for example, each group of software Into key element, module, subsystem etc.) the topological subcomplex's figure of correspondence one, each node can be abstracted into an algebraically here The form of component.
For example, using algebraic topology complex theory by the main node tables in the first software configuration topological diagram shown in Fig. 2 State into an algebraically component.
In the present embodiment, the relation between algebraically component includes three kinds of call relation, nest relation and inclusion relation.Figure 3 show the call relation schematic diagram between algebraically component according to an embodiment of the invention;Fig. 4 is shown according to the present invention Nest relation schematic diagram between the algebraically component of one embodiment;Fig. 5 shows algebraically according to an embodiment of the invention Inclusion relation schematic diagram between component, wherein, C0、C1、C2It is algebraically component.
Step S130, the first software configuration topological diagram is converted into using algebraically component as node, using relation information as side Second software configuration topological diagram, and the second software configuration topological diagram is decomposed into algebraically component expression formula;Wherein, algebraically piece table It is made up of up to formula the algebraically component and relation information in the second software configuration topological diagram.
When stating each node in the first software configuration topological diagram as an algebraically component, and obtain each algebraically component Between relation after, can by the first software configuration topological diagram correspondence change into the second software configuration topological diagram, in the present embodiment In, the node of the second software configuration topological diagram is algebraically component, while being the relation between algebraically component.For example, Fig. 6 shows root According to a kind of the second software configuration topological diagram of first version software of one embodiment of the invention.As shown in fig. 6, C1、C2、C3、 C4、C5、C6、C7、C8、C9、C10For Algebraic Structure, C is obtained according to algebraic topology complex theory1With C2、C3、C4Between be to call pass System, C2、C3、C4Between be nest relation, by that analogy, in this example, the first software configuration topological diagram can correspond to change into figure The second software configuration topological diagram shown in 6.
Call relation in the present embodiment between algebraically component is expressed as "+";Nest relation is expressed as "×";Inclusion relation It is expressed as " ⊕ ".The second software configuration topological diagram so is resolved into algebraically component expression formula can just be carried out by above-mentioned symbol Represent.For example, the second software configuration topological diagram shown in Fig. 6 be decomposed into algebraically component expression formula being:C1+[C2+C5×(C6+ C9)]×[C3+(C7⊕C6)×(C8+C10)×[C4+(C8+C10)]。
Step S140, exports the algebraically component expression formula of first version software.
It can thus pass through by the first version software building of software systems into the form of an algebraically component expression formula In the algebraically component expression formula calculating process between the change of algebraically component and/or algebraically component relation change analysis software system The evolutionary process of system, simplifies the analysis of the evolutionary process of software systems.It can be seen that, the present invention analyzes this in the form of algebraic operation The evolutionary process of software systems, evolutionary process that can be on the whole to software systems is grasped, the weight of guiding software system Structure and maintenance;And the EVOLUTION ANALYSIS efficiency of software systems, particularly large scope software system can be improved.
Advised to carry out the EVOLUTION ANALYSIS of software systems with the evolution for obtaining software systems evolutionary process and the software systems Rule is, it is necessary to obtain the algebraically component expression formula of the different editions software of the software systems.So, in one embodiment of the present of invention In, the method shown in Fig. 1 further comprises:Different editions software for giving software systems, obtains different editions software Algebraically component expression formula.
Here different editions software refers to whole or one in each version software of the given software systems Point, the different editions software of the given software systems can be obtained according to demand.For example, a given software systems have version 2.0.0, version 2 .1.0, version 2 .1.1, according to analysis demand, obtain the given software systems 2.0.0 version softwares, 2.1.0 the algebraically component expression formula of version software and 2.1.1 version softwares;Or, it need to only obtain 2.0.0 editions according to analysis demand The algebraically component expression formula of this software, 2.1.0 version softwares.
In the present embodiment, for each version software of above-mentioned different editions software, algebraically component expression formula Preparation method is identical with the preparation method of the algebraically component expression formula of the first version software shown in Fig. 1, is specially:With each version Information resources in this software are node, using the incidence relation between information resources in each version software as side, are built each First software configuration topological diagram of version software;, will be every in each version structural topology figure according to algebraic topology complex theory One node states an algebraically component as, and obtains the relation information between algebraically component;By each version structural topology Figure is converted into using algebraically component as node, the second software configuration topological diagram by side of relation information, and by the second software configuration Topological diagram is decomposed into algebraically component expression formula;Wherein, algebraically component expression formula is by the algebraically structure in the second software configuration topological diagram Part and relation information composition;Export the algebraically component expression formula of each version software.
For the analysis of the Evolution that carries out software systems, when the generation for the different editions software for obtaining given software systems After number component expression formula, the method shown in Fig. 1 also includes the algebraically component expression formula for comparing different editions software, obtains given soft The evolution-information of part system, the Evolution of given software systems is summarized according to evolution-information, and exports evolution-information and evolution Rule.Difference between the algebraically component expression formula being compared is exactly the evolution-information of software systems, passes through the evolution-information The evolutionary process and Evolution of the software systems can be summarized.For example, evolution-information can be the modification of algebraically component, increase Plus or algebraically component between relation.
For example, the corresponding software systems of the second software configuration topological diagram shown in Fig. 6 are developed, the generation of first version Counting component expression formula is:C1+[C2+C5×(C6+C9)]×[C3+(C7⊕C6)×(C8+C10)×[C4+(C8+C10)];If second The algebraically component expression formula of version is:C1+[C2+(C5+C11)×(C6+C9)]×[C3+(C7⊕C6)×(C8+C10)]×[C4+(C8 +C10)], both are compared the C it can be found that in the algebraically component expression formula of first version5Become the algebraically of the second edition C in component expression formula5+C11, obtained it is possible thereby to analyze, the evolutionary process of the software systems is in algebraically component C5After increase Algebraically component C11, and be call relation between the two.If the algebraically component expression formula of the second edition is:C1+[C2+(C5+ C11)]×[C3+C7×(C8+C10)]×[C4+(C8+C10)], both are compared the algebraically piece table it can be found that first version Up to the algebraically component C in formula6And with algebraically component C6Associated part is deleted, and is obtained it is possible thereby to analyze, the software system The evolutionary process of system is to delete algebraically component C6.If the algebraically component expression formula of the second edition is:C1+[C2+(C5+C11)] ×[C3+(C7⊕C6)]×[C4+(C8+C10)], both are compared it can be found that in the algebraically component expression formula of first version C8+C10Part is deleted, and is obtained it is possible thereby to analyze, and the evolutionary process of the software systems is to delete algebraically component C3With generation Number component C8Between call relation, i.e. algebraically component C3Algebraically component C is not being used8Service.
Because the language source code of software systems is divided into procedure-oriented program language and object-oriented program language, then, For the program language of both types, there is some difference for the first software configuration topological diagram meeting of structure.Specifically, in this hair In bright one embodiment, in the step S110 shown in Fig. 1 using the information resources in first version software as node, with first Incidence relation in version software is side, builds the first software configuration topological diagram of first version software and includes:
(1) the procedure-oriented program language in first version software is directed to, with the side in the source code of first version software Method or structure are as node, using calling with inclusion relation as side between method and/or structure, build the of software systems One software configuration topological diagram, as shown in Figure 2.
(2) the object-oriented program language in software systems is directed to, using the class in the source code of software systems as node, with Succession between class and class, extensive, association, rely on or the use of relation is side, build the first software configuration topology of software systems Figure.
Fig. 7 shows a kind of the first software configuration topology of first version software in accordance with another embodiment of the present invention Figure.As shown in fig. 7, using animal, cat, dog this three class as the node of the first software configuration topological diagram, the pass between animal and cat Incidence relation between connection relation, animal and dog respectively as between thing and cat between, animal and dog while.
Because each node in the first software configuration topological diagram is the set of logic behavior in software systems, will each it save Point, which states an algebraically component as, to be needed all information statement in logic behavior therein or each module etc. completely.So, In one embodiment of the invention, each in the first software configuration topological diagram being saved in the step S120 shown in Fig. 1 Point, which states an algebraically component as, to be included:State each node in software configuration topological diagram as an algebraically component hexa-atomic Group form;Element in hexa-atomic group includes:Logic behavior set, annexation set, controller, internal data, aminated polyepichlorohydrin, Detector.
Element in hexa-atomic in the present embodiment group can be indicated by different symbols.For example, X is logic behavior Set;Y is annexation set;C is controller;D is internal data;For aminated polyepichlorohydrin;η is detector.A then algebraically Component PM=(X, Y, D, C,η), that is to say, that the C in the second software configuration topological diagram shown in Fig. 61、C2、C3、C4、C5、 C6、C7、C8、C9、C10It is to be stated in the form of this group, in the present embodiment, for ease of expression, has been simplified to C1、C2、 C3、C4、C5、C6、C7、C8、C9、C10
Wherein, logic behavior set, internal data and aminated polyepichlorohydrin constitute the functor of the first version software, and connection is closed Assembly conjunction, controller and detector constitute the connector of the first version software.Algebraically component PM logic behavior set is by n Logic behavior x1, x2 ..., xn composition, i.e.,:X=x1, x2 ..., xn }
Because in general, algebraically component is made up of algebraically component body, two parts of algebraically component fiber.For one kind Algebraically component, algebraically component body only one of which, and algebraically component fiber has the different species of q kinds.Between algebraically component body Annexation performance is the annexation of algebraically component fiber, two algebraically component fiber xilWith xtmBetween annexation It is denoted as
In the present embodiment, it is necessary to the relation between X and Y be stated, wherein each algebraically structure in algebraically component Part is that the concatenation operation between lower floor's algebraically component body turns into polymerization again, so, the relation between the X and Y should be polymerize Computing, detailed process is as follows:
If X is the logic behavior set (all lower floor's algebraically component sets) of algebraically component, Y is the connection of algebraically component Set of relationship, based on X and Y relational calculus, is denoted asAlgebraically member connection set Y is referred to act on generation The result of gained after number component logic behavior set X, that is, each connection in Y are respectively acting in X each logic behavior To upper result, it is referred to asSolution, be defined as Ф, i.e.,
Detector in the present embodiment includes input arbiter and output arbiter two parts.Arbiter is inputted for effective Annexation, is changed, and transformation result is transferred to controller according to data and the transformat requirement of the algebraically component And data storage;Export arbiter and be directed to controller, data storage, the input results of arithmetic unit, control to different algebraically The output of component.
In order to which the second software configuration topological diagram can be decomposed, in one embodiment of the invention, shown in Fig. 1 The second software configuration topological diagram be decomposed into algebraically component expression formula included in step S130:By the second software configuration topological diagram Roughening decomposition obtains the first algebraically piece table up to formula from up to down;Second software configuration topological diagram is refined from left to right and decomposed Formula is reached to the second algebraically piece table;First algebraically piece table is carried out up to formula and the second algebraically piece table up to formula integrated, obtain the The algebraically component expression formula of one version software.
For example, for a kind of the second software configuration topological diagram of first version software shown in Fig. 6, its decomposable process is:
First, roughening decomposition obtains the first algebraically piece table up to formula from up to down:C1+C2×C3×C4
Secondly, decomposition of refining from left to right obtains the second algebraically piece table up to formula:C2+C5×(C6+C9)、C3+(C7⊕C6) ×(C8+C10)、C4+(C8+C10)。
Finally, by C1+C2×C3×C4、C2+C5×(C6+C9)、C3+(C7⊕C6)×(C8+C10)、C4+(C8+C10) collected Close, obtain the algebraically component expression formula of first version software:C1+[C2+C5×(C6+C9)]×[C3+(C7⊕C6)×(C8+C10)× [C4+(C8+C10)]。
Fig. 8 shows the structural representation for the analytical equipment that a kind of software systems according to an embodiment of the invention develop Figure.As described in Figure 8, the analytical equipment 800 that the software systems develop is used for the first version software for giving software systems, obtains The algebraically component expression formula of first version software is taken, what the analytical equipment that the software systems develop can develop as software systems Analysis tool is used, the software systems develop analytical equipment 800 before use, needing the first version of software systems The source code of software is exported in the analytical equipment 800 of software systems evolution.
The analytical equipment 800 that software systems develop is specifically included:
Construction unit 810, for using the information resources of first version software as node, being provided with information in first version software Incidence relation between source is side, builds the first software configuration topological diagram of first version software;
Acquiring unit 820, for according to algebraic topology complex theory, by each section in the first software configuration topological diagram Point states an algebraically component as, and obtains the relation information between algebraically component;
Resolving cell 830, for the first software configuration topological diagram to be converted into using algebraically component as node, with relation information For the second software configuration topological diagram on side, and the second software configuration topological diagram is decomposed into algebraically component expression formula;Wherein, algebraically Relation information of the component expression formula between the algebraically component and algebraically component in the second software configuration topological diagram is constituted;
Output unit 840, the algebraically component expression formula for exporting first version software.
Fig. 9 shows the structural representation for the analytical equipment that a kind of software systems in accordance with another embodiment of the present invention develop Figure.As shown in figure 9, the analytical equipment 900 that the software systems develop is additionally operable to the different editions software for giving software systems, Obtain the algebraically component expression formula of different editions software.
The analytical equipment 900 that the software systems develop includes construction unit 910, acquiring unit 920, resolving cell 930, defeated Go out unit 940 and comparing unit 950.Wherein, construction unit 910, acquiring unit 920, resolving cell 930, output unit 940 with Construction unit 810, acquiring unit 820, resolving cell 830, output unit 840 shown in Fig. 8 have correspondence identical function, In the present embodiment, the algebraically component expression formula of the different editions software of given software systems can be obtained.
Comparing unit 950, the algebraically component expression formula for comparing each different editions software obtains given software systems Evolution-information, the Evolution of the given software systems is summarized according to the evolution-information.
Output unit 940, for exporting evolution-information and Evolution.
In one embodiment of the invention, construction unit 910, specifically for in first version software towards mistake Journey program language, using the method or structure in the source code of first version software as node, with method and/or structure it Between call with inclusion relation be side, build first version software the first software configuration topological diagram;For first version software In object-oriented program language, using the class in the source code of first version software as node, with the succession between class and class, general It is side to change, associate, rely on or use relation, builds the first software configuration topological diagram of first version software.
In one embodiment of the invention, acquiring unit 920, for by each node in software configuration topological diagram State hexa-atomic group of form of an algebraically component as;Element in hexa-atomic group includes:Logic behavior set, annexation set, control Device processed, internal data, aminated polyepichlorohydrin, detector.
In one embodiment of the invention, resolving cell 930, specifically for by the second software configuration topological diagram on to Lower roughening decomposition obtains the first algebraically piece table up to formula;The decomposition of refining from left to right of second software configuration topological diagram is obtained second Algebraically component expression formula;First algebraically piece table is subjected to integrated, acquisition first version up to formula up to formula and the second algebraically piece table The algebraically component expression formula of software.
It should be noted that each embodiment of the device shown in Fig. 8 and Fig. 9 is corresponding with each embodiment in method shown in Fig. 1 It is identical, it has been described in detail, has will not be repeated here above.
In summary, the present invention proposes the analysis that a kind of software systems based on algebraic topology develop, and is specially:According to The first version software of given software systems, using the information resources in first version software as node, with first version software Incidence relation between information resources is side, builds the first software configuration topological diagram of first version software;According to algebraic topology Complex theory, states each node in the first software configuration topological diagram as an algebraically component, and obtain algebraically component Between relation information;First software configuration topological diagram is converted into using algebraically component as node, by side of relation information Two software configuration topological diagrams, and the second software configuration topological diagram is decomposed into algebraically component expression formula;Export first version software Algebraically component expression formula.It can be seen that, the present invention analyzes the evolutionary process of the software systems, Ke Yicong in the form of algebraic operation The evolutionary process to software systems is grasped on the whole, the reconstruct and maintenance of guiding software system;And software can be improved The EVOLUTION ANALYSIS efficiency of system, particularly large scope software system.
It should be noted that:
Algorithm and display be not inherently related to any certain computer, virtual bench or miscellaneous equipment provided herein. Various fexible units can also be used together with based on teaching in this.As described above, construct required by this kind of device Structure be obvious.In addition, the present invention is not also directed to any certain programmed language.It is understood that, it is possible to use it is various Programming language realizes the content of invention described herein, and the description done above to language-specific is to disclose this hair Bright preferred forms.
In the specification that this place is provided, numerous specific details are set forth.It is to be appreciated, however, that the implementation of the present invention Example can be put into practice in the case of these no details.In some instances, known method, structure is not been shown in detail And technology, so as not to obscure the understanding of this description.
Similarly, it will be appreciated that in order to simplify the disclosure and help to understand one or more of each inventive aspect, exist Above in the description of the exemplary embodiment of the present invention, each feature of the invention is grouped together into single implementation sometimes In example, figure or descriptions thereof.However, the method for the disclosure should be construed to reflect following intention:It is i.e. required to protect The application claims of shield features more more than the feature being expressly recited in each claim.More precisely, such as following Claims reflect as, inventive aspect is all features less than single embodiment disclosed above.Therefore, Thus the claims for following embodiment are expressly incorporated in the embodiment, wherein each claim is in itself All as the separate embodiments of the present invention.
Those skilled in the art, which are appreciated that, to be carried out adaptively to the module in the equipment in embodiment Change and they are arranged in one or more equipment different from the embodiment.Can be the module or list in embodiment Member or component be combined into a module or unit or component, and can be divided into addition multiple submodule or subelement or Sub-component.In addition at least some in such feature and/or process or unit exclude each other, it can use any Combination is disclosed to all features disclosed in this specification (including adjoint claim, summary and accompanying drawing) and so to appoint Where all processes or unit of method or equipment are combined.Unless expressly stated otherwise, this specification (including adjoint power Profit is required, summary and accompanying drawing) disclosed in each feature can or similar purpose identical, equivalent by offer alternative features come generation Replace.
Although in addition, it will be appreciated by those of skill in the art that some embodiments described herein include other embodiments In included some features rather than further feature, but the combination of the feature of be the same as Example does not mean in of the invention Within the scope of and form different embodiments.For example, in the following claims, times of embodiment claimed One of meaning mode can be used in any combination.
The present invention all parts embodiment can be realized with hardware, or with one or more processor run Software module realize, or realized with combinations thereof.It will be understood by those of skill in the art that can use in practice Microprocessor or digital signal processor (DSP) realize analytical equipment that software systems according to embodiments of the present invention develop In some or all parts some or all functions.The present invention is also implemented as described herein for performing The some or all equipment or program of device (for example, computer program and computer program product) of method.So Realization the present invention program can store on a computer-readable medium, or can have one or more signal shape Formula.Such signal can be downloaded from internet website and obtained, and either be provided or with any other shape on carrier signal Formula is provided.
It should be noted that the present invention will be described rather than limits the invention for above-described embodiment, and ability Field technique personnel can design alternative embodiment without departing from the scope of the appended claims.In the claims, Any reference symbol between bracket should not be configured to limitations on claims.Word "comprising" is not excluded the presence of not Element or step listed in the claims.Word "a" or "an" before element does not exclude the presence of multiple such Element.The present invention can be by means of including the hardware of some different elements and coming real by means of properly programmed computer It is existing.In if the unit claim of equipment for drying is listed, several in these devices can be by same hardware branch To embody.The use of word first, second, and third does not indicate that any order.These words can be explained and run after fame Claim.

Claims (10)

1. a kind of analysis method that software systems develop, it is characterised in that the first version software for giving software systems, is obtained The algebraically component expression formula of the first version software is taken, is specifically included:
Using the information resources in the first version software as node, with the pass between information resources in the first version software Connection relation is side, builds the first software configuration topological diagram of the first version software;
According to algebraic topology complex theory, each node in the first software configuration topological diagram is stated as an algebraically Component, and obtain the relation information between the algebraically component;
The first software configuration topological diagram is converted into using the algebraically component as node, by side of the relation information Two software configuration topological diagrams, and the second software configuration topological diagram is decomposed into algebraically component expression formula;Wherein, the algebraically Component expression formula is made up of the algebraically component and the relation information in the second software configuration topological diagram;
Export the algebraically component expression formula of the first version software.
2. the method as described in claim 1, it is characterised in that methods described further comprises:
Different editions software for giving software systems, obtains the algebraically component expression formula of the different editions software;
Compare the algebraically component expression formula of the different editions software, obtain the evolution-information of the given software systems, according to The evolution-information summarizes the Evolution of the given software systems, and exports the evolution-information and the Evolution.
3. method as claimed in claim 1 or 2, it is characterised in that the information resources with the first version software For node, using the incidence relation in the first version software as side, the first software configuration of the first version software is built Topological diagram includes:
For the procedure-oriented program language in the first version software, with the side in the source code of the first version software Method or structure are as node, and calling with inclusion relation in this way and/or between the structure is side, is built described First software configuration topological diagram of software systems;
For the object-oriented program language in the software systems, using the class in the source code of the software systems as node, Using the succession between class and class, extensive, association, rely on or using relation as side, build the first software knot of the software systems Structure topological diagram.
4. method as claimed in claim 1 or 2, it is characterised in that it is described will be every in the first software configuration topological diagram One node, which states an algebraically component as, to be included:
State each node in the software configuration topological diagram as an algebraically component hexa-atomic group of form;Described hexa-atomic group In element include:Logic behavior set, annexation set, controller, internal data, aminated polyepichlorohydrin, detector.
5. method as claimed in claim 1 or 2, it is characterised in that described to be decomposed into the second software configuration topological diagram Algebraically component expression formula includes:
The second software configuration topological diagram is roughened decomposition from up to down and obtains the first algebraically piece table up to formula;
Second software configuration topological diagram decomposition of refining from left to right is obtained into the second algebraically piece table up to formula;
The first algebraically piece table is subjected to integrated, the acquisition first version up to formula up to formula and the second algebraically piece table The algebraically component expression formula of software.
6. the analytical equipment that a kind of software systems develop, it is characterised in that described device be used for for give software systems the One version software, obtains the algebraically component expression formula of the first version software, specifically includes:
Construction unit, for using the information resources of the first version software as node, with information in the first version software Incidence relation between resource is side, builds the first software configuration topological diagram of the first version software;
Acquiring unit, for according to algebraic topology complex theory, by each node in the first software configuration topological diagram State an algebraically component as, and obtain the relation information between the algebraically component;
Resolving cell, for the first software configuration topological diagram to be converted into using the algebraically component as node, is closed with described It is that information is the second software configuration topological diagram on side, and the second software configuration topological diagram is decomposed into algebraically piece table and reaches Formula;Wherein, the algebraically component expression formula is by the algebraically component in the second software configuration topological diagram and the algebraically component Between relation information composition;
Output unit, the algebraically component expression formula for exporting the first version software.
7. device as claimed in claim 6, it is characterised in that described device is additionally operable to the different versions for giving software systems This software, obtains the algebraically component expression formula of the different editions software;Described device further comprises:
Comparing unit, the algebraically component expression formula for comparing the different editions software obtains the given software systems Evolution-information, the Evolution of the given software systems is summarized according to the evolution-information;
The output unit, for exporting the evolution-information and the Evolution.
8. device as claimed in claims 6 or 7, it is characterised in that
The construction unit, specifically for for the procedure-oriented program language in the first version software, with described first Method or structure in the source code of version software is as node, calling in this way and/or between the structure It is side with inclusion relation, builds the first software configuration topological diagram of the first version software;For the first version software In object-oriented program language, using the class in the source code of the first version software as node, between class and class after Hold, extensive, association, rely on or the use of relation is side, build the first software configuration topological diagram of the first version software.
9. device as claimed in claims 6 or 7, it is characterised in that
The acquiring unit, it is hexa-atomic for stating each node in the software configuration topological diagram as an algebraically component Group form;Element in described hexa-atomic group includes:Logic behavior set, annexation set, controller, internal data, polymerization Computing, detector.
10. device as claimed in claims 6 or 7, it is characterised in that
The resolving cell, the first algebraically is obtained specifically for the second software configuration topological diagram is roughened into decomposition from up to down Component expression formula;Second software configuration topological diagram decomposition of refining from left to right is obtained into the second algebraically piece table up to formula;Will The first algebraically piece table is integrated up to formula and the second algebraically piece table up to formula progress, obtains the first version software Algebraically component expression formula.
CN201710279321.3A 2017-04-25 2017-04-25 Analysis method and device that a kind of software systems develop Pending CN106970803A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710279321.3A CN106970803A (en) 2017-04-25 2017-04-25 Analysis method and device that a kind of software systems develop

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710279321.3A CN106970803A (en) 2017-04-25 2017-04-25 Analysis method and device that a kind of software systems develop

Publications (1)

Publication Number Publication Date
CN106970803A true CN106970803A (en) 2017-07-21

Family

ID=59332752

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710279321.3A Pending CN106970803A (en) 2017-04-25 2017-04-25 Analysis method and device that a kind of software systems develop

Country Status (1)

Country Link
CN (1) CN106970803A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108287711A (en) * 2018-03-07 2018-07-17 北京理工大学 A kind of algebraically component representation method and apparatus of software systems
CN109814921A (en) * 2019-01-24 2019-05-28 华东师范大学 A kind of software configuration complexity biodegrading process, equipment and storage medium
CN110598417A (en) * 2019-09-05 2019-12-20 北京理工大学 Software vulnerability detection method based on graph mining
CN111858254A (en) * 2020-07-24 2020-10-30 中国工商银行股份有限公司 Data processing method and device, computing equipment and medium
CN112416397A (en) * 2020-11-22 2021-02-26 同济大学 Software updating method and device driven by position change and readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406870A (en) * 2016-09-06 2017-02-15 北京航空航天大学 Software complex network-based four-dimensional software evolution measurement analysis method
CN106484401A (en) * 2016-09-23 2017-03-08 东北大学 A kind of Automated Refactoring of object-oriented software
CN106502669A (en) * 2016-10-20 2017-03-15 北京航空航天大学 A kind of three-dimensional coordinate model building method of complex software network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406870A (en) * 2016-09-06 2017-02-15 北京航空航天大学 Software complex network-based four-dimensional software evolution measurement analysis method
CN106484401A (en) * 2016-09-23 2017-03-08 东北大学 A kind of Automated Refactoring of object-oriented software
CN106502669A (en) * 2016-10-20 2017-03-15 北京航空航天大学 A kind of three-dimensional coordinate model building method of complex software network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
单纯: ""软件缺陷分布预测技术及应用研究"", 《中国博士学位论文全文数据库 信息科技辑》 *
张友生: ""基于代数理论的软件体系结构描述及软件演化方法研究"", 《中国博士学位论文全文数据库 信息科技辑》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108287711A (en) * 2018-03-07 2018-07-17 北京理工大学 A kind of algebraically component representation method and apparatus of software systems
CN109814921A (en) * 2019-01-24 2019-05-28 华东师范大学 A kind of software configuration complexity biodegrading process, equipment and storage medium
CN110598417A (en) * 2019-09-05 2019-12-20 北京理工大学 Software vulnerability detection method based on graph mining
CN110598417B (en) * 2019-09-05 2021-02-12 北京理工大学 Software vulnerability detection method based on graph mining
CN111858254A (en) * 2020-07-24 2020-10-30 中国工商银行股份有限公司 Data processing method and device, computing equipment and medium
CN111858254B (en) * 2020-07-24 2023-08-22 中国工商银行股份有限公司 Data processing method, device, computing equipment and medium
CN112416397A (en) * 2020-11-22 2021-02-26 同济大学 Software updating method and device driven by position change and readable storage medium
CN112416397B (en) * 2020-11-22 2022-02-18 同济大学 Software updating method and device driven by position change and readable storage medium

Similar Documents

Publication Publication Date Title
CN106970803A (en) Analysis method and device that a kind of software systems develop
Saldivar et al. Industry 4.0 with cyber-physical integration: A design and manufacture perspective
CN109446059A (en) The generation method and device of test template script
CN108052394A (en) The method and computer equipment of resource allocation based on SQL statement run time
CN107678973B (en) Automatic generation method and system of test script
CN108664241B (en) Method for carrying out simulation verification on SysML model
CN106502720B (en) A kind of data processing method and device
CN107153535A (en) A kind of operation ElasticSearch method and device
CN104090995B (en) The automatic generation method of rebar unit grids in a kind of ABAQUS tire models
Konur et al. kPWorkbench: A software suit for membrane systems
CN114896755A (en) Index verification technology supporting model attribute quantitative evaluation
Bernard et al. Design: a key stage of product lifecycle
CN108763869A (en) A kind of sequencing data high-efficient treatment method
JP5124445B2 (en) Customized processing related to finite element analysis
CN115658021B (en) Determination method and device of dynamic model, storage medium and electronic equipment
CN1194300C (en) Method for automatic generating route-oriented test data
CN1760903A (en) Flow verification system and method
US8954307B1 (en) Chained programming language preprocessors for circuit simulation
CN112149253B (en) Engineering structure reliability evaluation method based on distributed hybrid cooperative agent model
Wu et al. A general framework for experimental design, uncertainty quantification and sensitivity analysis of computer simulation models
CN104461569B (en) A kind of C/C++ Program Generating householder methods based on MATLAB
Chard et al. PDACS-A Portal for Data Analysis Services for Cosmological Simulations
Liu et al. PIPE+ Verifier-A Tool for Analyzing High Level Petri Nets.
Marashdih et al. An approach for detecting feasible paths based on minimal ssa representation and symbolic execution
CN109599184A (en) Screening technique, device, electronic equipment, the storage medium of patient's diagnosis and treatment data

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170721