TY - GEN
T1 - Source-code divergence diagnosis using constraints and cryptography
AU - Toosi, Farshad Ghassemi
AU - Buckley, Jim
AU - Sai, Ashish Rajendra
N1 - Publisher Copyright:
© 2019 ACM.
PY - 2019/9/9
Y1 - 2019/9/9
N2 - This paper presents a new technique that informs developers of potential architectural-type violations and non-compliance checking in their software system after changes in the source code. The violations identified by our technique not only concern broken calls/dependencies/inheritance or data-dependencies but also concern the dissatisfaction of some constraints which may be defined and imposed by OCL. The technique partitions the software system into small grain nodes and filters out nodes that have no role in dependency-based software architecture adherence and nodes that cannot jeopardize the validity of a function regarding OCL adherence. It thus presents a reduced version of the source code where additional developer-defined links may be established between entities (e.g., method to method) based on the developer's implicit knowledge of the architecture of the system. A change in, for example, an assignment expression would 1) single out the containing entity of the node(s) (e.g., method or class), and 2) issue an alert to all of the linked entities. To establish the link/call/chain, we suggest using an architecture consistency chain technology (inspired by blockchain).
AB - This paper presents a new technique that informs developers of potential architectural-type violations and non-compliance checking in their software system after changes in the source code. The violations identified by our technique not only concern broken calls/dependencies/inheritance or data-dependencies but also concern the dissatisfaction of some constraints which may be defined and imposed by OCL. The technique partitions the software system into small grain nodes and filters out nodes that have no role in dependency-based software architecture adherence and nodes that cannot jeopardize the validity of a function regarding OCL adherence. It thus presents a reduced version of the source code where additional developer-defined links may be established between entities (e.g., method to method) based on the developer's implicit knowledge of the architecture of the system. A change in, for example, an assignment expression would 1) single out the containing entity of the node(s) (e.g., method or class), and 2) issue an alert to all of the linked entities. To establish the link/call/chain, we suggest using an architecture consistency chain technology (inspired by blockchain).
UR - http://www.scopus.com/inward/record.url?scp=85081965840&partnerID=8YFLogxK
U2 - 10.1145/3344948.3344983
DO - 10.1145/3344948.3344983
M3 - Conference contribution
AN - SCOPUS:85081965840
T3 - ACM International Conference Proceeding Series
SP - 205
EP - 208
BT - 13th European Conference on Software Architecture, ECSA 2019 - Companion Proceedings
A2 - Duchien, Laurence
A2 - Koziolek, Anne
A2 - Mirandola, Raffaela
A2 - Martinez, Elena Maria Navarro
A2 - Quinton, Clement
A2 - Scandariato, Ricardo
A2 - Scandurra, Patrizia
A2 - Trubiani, Catia
A2 - Weyns, Danny
PB - Association for Computing Machinery
T2 - 13th European Conference on Software Architecture, ECSA 2019
Y2 - 9 September 2019 through 13 September 2019
ER -